diff options
Diffstat (limited to 'src/glsl')
| -rw-r--r-- | src/glsl/glsl_lexer.cpp | 1642 | ||||
| -rw-r--r-- | src/glsl/glsl_parser.cpp | 3313 | ||||
| -rw-r--r-- | src/glsl/glsl_parser.h | 168 | 
3 files changed, 2608 insertions, 2515 deletions
diff --git a/src/glsl/glsl_lexer.cpp b/src/glsl/glsl_lexer.cpp index 3cdce995e2..873df609d3 100644 --- a/src/glsl/glsl_lexer.cpp +++ b/src/glsl/glsl_lexer.cpp @@ -358,8 +358,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 177 -#define YY_END_OF_BUFFER 178 +#define YY_NUM_RULES 183 +#define YY_END_OF_BUFFER 184  /* This struct is not used in this scanner,     but its presence is necessary. */  struct yy_trans_info @@ -367,81 +367,86 @@ struct yy_trans_info  	flex_int32_t yy_verify;  	flex_int32_t yy_nxt;  	}; -static yyconst flex_int16_t yy_accept[668] = +static yyconst flex_int16_t yy_accept[708] =      {   0, -        0,    0,    9,    9,  178,  176,    1,   14,  176,  176, -      176,  176,  176,  176,  176,  176,   90,   88,  176,  176, -      176,  175,  176,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  176,    1,  176,   85,  177,    9,   13, -      177,   12,   10,   11,    1,   74,   81,   75,   84,   78, -       69,   80,   70,   87,   92,   79,   93,   90,    0,    0, -       95,    0,   88,    0,   71,   73,   72,    0,  175,   77, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,   22,  175,  175,  175,  175,  175,  175,  175, +        0,    0,   15,   15,    0,    0,  184,  182,    1,   20, +      182,  182,  182,  182,  182,  182,  182,  182,   96,   94, +      182,  182,  182,  181,  182,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  182,    1,  182,   91,  183, +       15,   19,  183,   18,   16,   17,   13,   12,    1,   80, +       87,   81,   90,   84,   75,   86,   76,   93,   98,   85, +       99,   96,    0,    0,  101,    0,   94,    0,   77,   79, +       78,    0,  181,   83,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,   28,  181,  181,  181, -      175,  175,  175,  175,  175,  175,   26,  175,  175,   50, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,   86,   76,    1,    0,    0,    2,    0,    0,    0, -        0,    9,    8,   12,   11,    0,   92,   91,    0,   93, -        0,   94,   89,   82,   83,  175,   98,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,   25,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,   19, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +       32,  181,  181,   56,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,   92,   82,    1,    0,    0, +        2,    0,    0,    0,    0,   15,   14,   18,   17,    0, +       98,   97,    0,   99,    0,  100,   95,   88,   89,  181, +      104,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,   31,  181,  181,  181,  181,  181,  181,  181, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -       51,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,    0,    0, -        0,    0,    8,    0,   92,    0,   91,    0,   93,   94, -      175,  175,   17,  175,  175,  138,  175,  175,  175,  175, -      175,  175,  175,  175,  175,   24,  101,  175,  175,  175, -      175,   57,  175,  175,  106,  120,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  117,  141,   38, -       39,   40,  175,  175,  175,  175,  175,  175,  175,  175, +      181,  181,  181,   25,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,   57,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,    0,    0,    0,    0,   14,    0,   98,    0, +       97,    0,   99,  100,  181,  181,   23,  181,  181,  144, +      181,  181,  181,  181,  181,  181,  181,  181,  181,   30, +      107,  181,  181,  181,  181,   63,  181,  181,  112,  126, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  123,  147,   44,   45,   46,  181,  181,  181,  181, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  104,   96,  175,  175,  175,  175,  175,  175, -      175,   35,   36,   37,   67,  175,  175,    0,    0,    0, -        0,    0,   91,  175,  175,   20,   29,   30,   31,  175, -       99,  175,   16,  175,  175,  175,  175,  128,  129,  130, -      175,   97,  175,  121,   18,  131,  132,  133,  143,  125, -      126,  127,  175,  175,  175,   52,  123,  175,  175,   32, -       33,   34,  175,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  118,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  100, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  110,  102,  181,  181, +      181,  181,  181,  181,  181,   41,   42,   43,   73,  181, +      181,    0,    0,    0,    0,    0,   97,  181,  181,   26, +       35,   36,   37,  181,  105,  181,   22,  181,  181,  181, +      181,  134,  135,  136,  181,  103,  181,  127,   24,  137, +      138,  139,  149,  131,  132,  133,  181,  181,  181,   58, +      129,  181,  181,   38,   39,   40,  181,  181,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  181,  124,  181,  181,  181,  181,  181,  181,  181, -      175,  140,  175,  175,   23,    0,    0,    0,    0,  147, -      175,  175,  145,  175,  175,  175,  119,  114,  150,  175, -      175,  175,  175,  175,  175,  109,  175,  175,   68,   41, -       42,   43,   44,   45,   46,   47,   48,   49,  175,  175, -      175,  175,  124,  105,  175,  175,  112,   28,  175,  175, -      137,   58,  113,   66,  148,  107,  175,  175,  175,  175, -      175,  175,  175,    0,    0,    0,    0,  175,  175,  175, -      108,   27,  175,  175,  175,  175,  175,  175,  151,  152, -      153,  175,  175,  175,  175,  142,  175,  175,  175,  175, -      175,  175,  175,  175,  102,  175,  175,  175,  175,  175, +      181,  181,  181,  106,  181,  146,  181,  181,   29,    0, +        0,    0,    0,  153,  181,  181,  151,  181,  181,  181, +      125,  120,  156,  181,  181,  181,  181,  181,  181,  115, +      181,  181,   74,   47,   48,   49,   50,   51,   52,   53, +       54,   55,  181,  181,  181,  181,  130,  111,  181,  181, +      118,   34,  181,  181,  143,   64,  119,   72,  154,  113, +      181,  181,  181,  181,  181,  181,  181,    0,    0,    0, +        0,  181,  181,  181,  114,   33,  181,  181,  181,  181, +      181,  181,  157,  158,  159,  181,  181,  181,  181,  148, +      181,  181,  181,  181,  181,  181,  181,  181,  108,  181, -       53,  175,   54,  175,    0,    0,    0,    7,    0,  175, -       55,   21,  115,  155,  156,  157,  175,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  110,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  103,  159,  160, -      161,  175,  175,  122,  111,    0,    0,    6,    0,    0, -        0,    3,   15,  175,  175,  175,  175,  175,  175,  175, -      175,  175,  154,  116,   56,  139,  175,  146,  144,  174, -       60,   61,   62,  175,  175,  175,  175,  175,  175,    0, -        0,    0,    0,  175,  175,  175,  158,  175,  175,  175, -      175,  175,  175,  175,  175,  175,  175,  175,  175,  175, +      181,  181,  181,  181,   59,  181,   60,  181,    0,    0, +        0,    0,    0,  181,   61,   27,  121,  161,  162,  163, +      181,  181,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  116,  181,  181,  181,  181,  181,  181,  181,  181, +      181,  109,  165,  166,  167,  181,  181,  128,  117,    0, +        0,    6,    0,    0,    0,   11,    3,   21,  181,  181, +      181,  181,  181,  181,  181,  181,  181,  160,  122,   62, +      145,  181,  152,  150,  180,   66,   67,   68,  181,  181, +      181,  181,  181,  181,    0,    0,    0,    0,    0,    0, +      181,  181,  181,  164,  181,  181,  181,  181,  181,  181, -      175,  175,  162,    4,    0,    5,    0,    0,    0,  175, -      175,  175,  175,  175,  175,  175,  171,  175,  175,  175, -      175,  175,  175,   63,  175,  175,  175,    0,  175,  175, -      172,  163,  175,  164,  175,  175,  175,  175,  175,  175, -      175,  175,  175,  173,  165,  166,  169,  170,   59,  175, -      134,  175,  135,  149,  167,  168,  175,  175,  175,   64, -      175,   65,  175,  175,  175,  136,    0 +      181,  181,  181,  181,  181,  181,  181,  181,  181,  168, +        4,    0,    5,    0,    0,    0,    0,    0,  181,  181, +      181,  181,  181,  181,  181,  177,  181,  181,  181,  181, +      181,  181,   69,  181,  181,  181,    0,    0,    0,  181, +      181,  178,  169,  181,  170,  181,  181,  181,  181,  181, +      181,  181,  181,  181,  179,    0,    0,  171,  172,  175, +      176,   65,  181,  140,  181,  141,  155,  173,  174,    0, +        0,  181,  181,  181,    0,    0,    0,   70,  181,   71, +        0,    0,    0,  181,    0,    0,    0,  181,    0,    0, +        7,    0,    0,  181,    0,    8,    0,    0,  142,    0, + +        0,    0,    0,    9,    0,   10,    0      } ;  static yyconst flex_int32_t yy_ec[256] = @@ -449,17 +454,17 @@ static yyconst flex_int32_t yy_ec[256] =          1,    1,    1,    1,    1,    1,    1,    1,    2,    3,          1,    1,    4,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1, -        1,    2,    5,    1,    6,    1,    7,    8,    1,    1, -        1,    9,   10,    1,   11,   12,   13,   14,   15,   16, -       17,   18,   19,   19,   19,   20,   20,   21,    1,   22, -       23,   24,    1,    1,   25,   26,   27,   28,   29,   30, -       31,   31,   31,   31,   31,   31,   31,   31,   31,   31, -       31,   32,   33,   31,   31,   31,   31,   34,   31,   31, -        1,    1,    1,   35,   36,    1,   37,   38,   39,   40, +        1,    2,    5,    1,    6,    1,    7,    8,    1,    9, +       10,   11,   12,    1,   13,   14,   15,   16,   17,   18, +       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, -       41,   42,   43,   44,   45,   46,   47,   48,   49,   50, -       51,   52,   31,   53,   54,   55,   56,   57,   58,   59, -       60,   61,    1,   62,    1,    1,    1,    1,    1,    1, +       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,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1, @@ -476,296 +481,314 @@ static yyconst flex_int32_t yy_ec[256] =          1,    1,    1,    1,    1      } ; -static yyconst flex_int32_t yy_meta[63] = +static yyconst flex_int32_t yy_meta[65] =      {   0,          1,    2,    3,    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,    7,    7, -        7,    7,    7,    7,    7,    7,    7,    7,    8,    7, -        7,    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, +        7,    7,    7,    7,    7,    7,    7,    7,    7,    7, +        8,    7,    7,    1      } ; -static yyconst flex_int16_t yy_base[678] = +static yyconst flex_int16_t yy_base[719] =      {   0, -        0,   61,   84,    0, 1012, 1013,   62, 1013,  988,  987, -       57,  986,   58,   59,   57,  985,  135,  183,   56,  984, -      133,    0,  971,  119,  109,  130,  134,  111,  135,  954, -      151,  165,   32,  152,  131,  948,  153,  170,  182,  176, -      178,  193,  959,  125,  237,  243,  979, 1013,  214, 1013, -      988,  233, 1013,    0,  231, 1013, 1013, 1013, 1013, 1013, -     1013, 1013, 1013, 1013,  225, 1013,  227,  224,  289,  260, -     1013,    0,    0,  977, 1013, 1013, 1013,  976,    0, 1013, -      943,  948,  941,  944,  953,  952,  938,  941,  953,  155, -      947,  934,  931,  945,  931,  928,  928,  934,  213,  222, +        0,   63,   88,    0, 1076, 1075, 1077, 1080,   64, 1080, +     1051, 1050,   59, 1049,   58,   60,   58, 1048,  139,  187, +       47, 1047,   56,    0, 1034,  121,  110,  137,  138,  134, +      163, 1017,  173,  177,  115,  149,  140, 1011,  159,  121, +      187,  194,  194,  172, 1022,  171,  249,  240, 1042, 1080, +      250, 1080, 1051,  241, 1080,    0, 1080, 1080,  262, 1080, +     1080, 1080, 1080, 1080, 1080, 1080, 1080, 1080,  236, 1080, +      238,  187,  286,  303, 1080,    0,    0, 1040, 1080, 1080, +     1080, 1039,    0, 1080, 1006, 1011, 1004, 1007, 1016, 1015, +     1001, 1004, 1016,   35, 1010,  997,  994, 1008,  994,  991, + +      991,  997,  215,  232,  991, 1002,  987,  993,  997,  998, +        0,  989, 1000,  234,  995,  975,  226,  979,  993,  983, +      119,  976,  234,  989,  991,  973,  969,  977,  974,  963, +      972,  256,  970,  976,  971,  974,  962,  965,  967,  245, +      970,  961,  974,  227,  967, 1080, 1080,  308,  294,  324, +     1080,  952,  965,  956,  967,  329,    0,  338,    0,  368, +     1080,  303,  379, 1080,  386,  393,    0, 1080, 1080,  962, +        0,  953,  957,  967,  964,  947,  946,  946,  950,  216, +      961,  958,  958,  956,  953,  944,  951,  937,  935,  948, +      933,  950,    0,  947,  934,  942,  939,  943,  944,  937, -      928,  939,  924,  930,  934,  935,    0,  926,  937,  237, -      932,  912,  232,  916,  930,  920,  241,  913,  257,  926, -      928,  910,  906,  914,  911,  900,  909,  228,  907,  913, -      908,  911,  899,  902,  904,  257,  907,  898,  911,  215, -      904, 1013, 1013,  310,  295,  318, 1013,  889,  902,  893, -      904,  260,    0,  308,    0,  362, 1013,  303,  373, 1013, -      380,  387,    0, 1013, 1013,  899,    0,  890,  894,  904, -      901,  884,  883,  883,  887,  280,  898,  895,  895,  893, -      890,  881,  888,  874,  872,  885,  870,  887,    0,  884, -      871,  879,  876,  880,  881,  874,  871,  859,  858,  872, +      934,  922,  921,  935,  938,  935,  922,  929,  919,  320, +      925,  928,  918,  926,  914,  918,  909,  924,  914,  905, +      924,  907,  905,  916,  905,  900,  898,  912,  897,  899, +      896,  908,  907,  910,  288,  901,  895,  884,  331,  903, +      905,  893,  885,  889,  901,  884,    0,  400,  410,  427, +     1080,  439,  446, 1080,  879,  890,    0,  887,  343,    0, +      880,  878,  880,  875,  884,  872,  890,  878,  346,    0, +        0,  872,  883,  882,  882,    0,  866,  350,    0,    0, +      868,  353,  876,  877,  867,  861,  860,  861,  860,  357, +      856,    0,    0,  852,  851,  850,  852,  853,  858,  852, -      875,  872,  859,  866,  856,  321,  862,  865,  855,  863, -      851,  855,  846,  861,  851,  842,  861,  844,  842,  853, -      842,  837,  835,  849,  834,  836,  833,  845,  844,  847, -      298,  838,  832,  821,  337,  840,  842,  830,  822,  826, -      838,  821,    0,  394,  404,  421, 1013,  433,  440, 1013, -      816,  827,    0,  824,  340,    0,  817,  815,  817,  812, -      821,  809,  827,  815,  344,    0,    0,  809,  820,  819, -      819,    0,  803,  347,    0,    0,  805,  351,  813,  814, -      804,  798,  797,  798,  797,  409,  793,    0,    0,  789, -      788,  787,  789,  790,  795,  789,  785,  799,  794,  793, +      848,  862,  857,  856,  855,  846,  849,  849,  841,  844, +      839,  848,  853,  838,  851,  841,    0,    0,  848,  844, +      835,  835,  841,  840,  837,    0,    0,    0,    0,  826, +      839,  838,  837,  834,  822,  453,  463,  834,  836,    0, +        0,    0,    0,  822,    0,  822,    0,  821,  822,  816, +      827,    0,    0,    0,  817,    0,  813,    0,    0,    0, +        0,    0,    0,    0,    0,    0,  824,  469,  823,    0, +        0,  821,  817,    0,    0,    0,  806,  415,  432,  473, +      811,  807,  813,  803,  801,  815,  799,  799,  813,  801, +      813,  808,    0,  806,  803,  807,  790,  792,  799,  805, -      792,  783,  786,  786,  778,  781,  776,  785,  790,  775, -      788,  778,    0,    0,  785,  781,  772,  772,  778,  777, -      774,    0,    0,    0,    0,  763,  776,  775,  774,  771, -      759,  447,  457,  771,  773,    0,    0,    0,    0,  759, -        0,  759,    0,  758,  759,  753,  764,    0,    0,    0, -      754,    0,  750,    0,    0,    0,    0,    0,    0,    0, -        0,    0,  761,  463,  760,    0,    0,  758,  754,    0, -        0,    0,  743,  426,  467,  475,  748,  744,  750,  740, -      738,  752,  736,  736,  750,  738,  750,  745,    0,  743, -      740,  744,  727,  729,  736,  742,  737,  736,  723,    0, +      800,  799,  786,    0,  788,    0,  787,  791,    0,  785, +      834,  784,  787,    0,  775,  785,    0,  773,  773,  787, +        0,  789,    0,  482,  797,  796,  795,  766,  765,    0, +      783,  782,    0,    0,    0,    0,    0,    0,    0,    0, +        0,    0,  766,  780,  766,  763,    0,    0,  769,  768, +        0,    0,  766,  758,    0,    0,    0,    0,    0,    0, +      755,  767,  485,  759,  766,  763,  757,  750,  503,  766, +      751,  746,  760,  758,    0,    0,  750,  769,  768,  767, +      738,  737,  301,  481,    0,  750,  753,  751,  739,    0, +      749,  746,  745,  734,  733,  732,  509,  741,    0,  753, -      725,    0,  724,  728,    0,  722,  769,  721,  724,    0, -      712,  722,    0,  710,  710,  724,    0,  726,    0,  479, -      734,  733,  732,  703,  702,    0,  720,  719,    0,    0, -        0,    0,    0,    0,    0,    0,    0,    0,  703,  717, -      703,  700,    0,    0,  706,  705,    0,    0,  703,  695, -        0,    0,    0,    0,    0,    0,  692,  704,  485,  696, -      703,  700,  694,  687,  501,  703,  688,  683,  697,  695, -        0,    0,  687,  706,  705,  704,  675,  674,  317,  489, -        0,  687,  690,  688,  676,    0,  686,  683,  682,  671, -      670,  669,  508,  678,    0,  690,  689,  688,  659,  658, +      752,  751,  722,  721,    0,  736,    0,  734,  729,  515, +      527,  773,  722,  730,    0,    0,    0,  745,  744,    0, +      726,  729,  713,  721,  711,  719,  720,  720,  719,  704, +      717,    0,  718,  706,  705,  701,  725,  724,  723,  694, +      693,    0,  723,  722,    0,  704,  707,    0,    0,  693, +      537, 1080,  561,    0,  567,  340, 1080,    0,  690,  689, +      699,  699,  686,  701,  684,  699,  694,    0,    0,    0, +        0,  679,    0,    0,    0,  700,  389,  700,  689,  692, +      676,  675,  685,  685,  675,  529,  589,  474,  683,  671, +      669,  668,  679,    0,  682,  678,  680,  676,  662,  669, -        0,  673,    0,  671,  666,  495,  524, 1013,  660,  668, -        0,    0,    0,  683,  682,    0,  664,  667,  651,  659, -      649,  657,  658,  658,  657,  642,  655,    0,  656,  644, -      643,  639,  663,  662,  661,  632,  631,    0,  661,  660, -        0,  642,  645,    0,    0,  631,  543, 1013,  534,    0, -      553, 1013,    0,  628,  627,  637,  637,  624,  639,  622, -      637,  632,    0,    0,    0,    0,  617,    0,    0,    0, -      638,  353,  638,  627,  630,  614,  613,  623,  623,  613, -      530,  563,  413,  609,  608,  619,    0,  622,  618,  620, -      616,  602,  609,  605,  607,  603,  598,  596,  596,  575, +      669,  671,  667,  669,  667,  667,  654,  653,  664,    0, +     1080,  531, 1080,  596,    0,  616,  666,  648,  665,  664, +      647,  635,  643,  633,  634,    0,  627,  646,  635,  607, +      604,  601,    0,  604,  603,  586,  533,  572,  580,  564, +      563,    0,    0,  564,    0,  540,  554,  552,  516,  530, +      505,  486,  453,  450,    0,  461,  443,    0,    0,    0, +        0,    0,  400,  406,  385,    0,    0,    0,    0,  343, +      389,  319,  267,  249,  487,  341,  235,    0,  200,    0, +      507,  498,  184,  157,  150,  564,  559,  136,  565,  591, +     1080,  593,  550,  112,  594, 1080,  569,  576,    0,  123, -      542,  553,    0, 1013,  466, 1013,  582,    0,  588,  556, -      555,  535,  527,  535,  516,  524,    0,  517,  510,  492, -      493,  489,  472,    0,  473,  472,  451,  505,  428,  426, -        0,    0,  423,    0,  387,  392,  390,  373,  334,  316, -      298,  288,  286,    0,    0,    0,    0,    0,    0,  290, -      296,  266,    0,    0,    0,    0,  257,  269,  241,    0, -      250,    0,  202,  133,  105,    0, 1013,  605,  610,  615, -      617,  619,  625,  632,  637,  642,  647 +      619,  621,  637, 1080,  638, 1080, 1080,  648,  653,  658, +      663,  665,  667,  673,  680,  685,  690,  695      } ; -static yyconst flex_int16_t yy_def[678] = +static yyconst flex_int16_t yy_def[719] =      {   0, -      667,    1,  667,    3,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  668,  667,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  669,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  670,  667,  671,   17,  667,  667, -      667,  672,   18,  667,  667,  667,  667,  667,  668,  667, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, +      707,    1,  707,    3,  708,  708,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  709,  707,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  710,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  711,  707, +      712,   19,  707,  707,  707,  713,   20,  707,  707,  707, +      707,  707,  709,  707,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, + +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  714,  707,  710,  707, +      707,  712,  707,  707,  707,  707,  713,  707,  707,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  673,  667,  669,  667,  667,  671,  667,  667, -      667,  667,  672,  667,  667,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  707,  707,  707,  707,  714,  707,  707,  707, +      707,  707,  707,  707,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  667,  667, -      667,  667,  673,  667,  667,  667,  667,  667,  667,  667, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  707,  707,  707,  707,  707,  707,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  667,  667,  667, -      667,  667,  667,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  707, +      707,  707,  707,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  707,  707,  707, +      707,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, -      668,  668,  668,  668,  668,  667,  667,  667,  667,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  667,  667,  667,  667,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, +      709,  709,  709,  709,  709,  709,  709,  709,  707,  715, +      707,  707,  707,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  707, +      707,  707,  707,  716,  707,  707,  707,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  707,  717,  707,  716,  707,  707, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, -      668,  668,  668,  668,  667,  674,  667,  667,  667,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  667,  667,  667,  667,  675, -      667,  667,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  667, -      676,  667,  675,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      707,  707,  707,  707,  718,  707,  707,  707,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  718,  707,  707,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  709, +      709,  709,  709,  709,  709,  707,  707,  709,  709,  709, +      709,  709,  709,  709,  709,  709,  709,  709,  709,  707, +      707,  709,  709,  709,  707,  707,  707,  709,  709,  709, +      707,  707,  707,  709,  707,  707,  707,  709,  707,  707, +      707,  707,  707,  709,  707,  707,  707,  707,  709,  707, -      668,  668,  668,  667,  667,  667,  667,  677,  667,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  677,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,  668,  668,  668,  668, -      668,  668,  668,  668,  668,  668,    0,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667 +      707,  707,  707,  707,  707,  707,    0,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707      } ; -static yyconst flex_int16_t yy_nxt[1076] = +static yyconst flex_int16_t yy_nxt[1145] =      {   0, -        6,    7,    8,    7,    9,    6,   10,   11,   12,   13, -       14,   15,   16,   17,   18,   18,   18,   18,   18,   18, -        6,   19,   20,   21,   22,   22,   22,   22,   22,   22, -       22,   22,   22,   22,   23,   22,   24,   25,   26,   27, -       28,   29,   30,   31,   32,   22,   22,   33,   34,   35, -       36,   37,   38,   39,   40,   41,   42,   43,   22,   22, -       22,   44,   45,   55,   58,   55,   46,   61,  112,   63, -       65,   65,   65,   65,   65,   65,   65,   74,   75,   59, -       62,   64,  113,   47,   48,   49,   50,   49,   48,   48, -       48,   48,   48,   48,   48,   48,   51,   48,   52,   52, +        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,   59,   62,   59,   48,   65, +       78,   79,   67,   69,   69,   69,   69,   69,   69,   69, +       81,   82,   66,   63,   68,  179,  180,   49,   50,   51, +       52,   51,   50,   50,   50,   50,   50,   50,   50,   50, -       52,   52,   52,   52,   53,   48,   48,   48,   54,   54, -       54,   54,   54,   54,   54,   54,   54,   54,   48,   54, -       54,   54,   54,   54,   54,   54,   54,   54,   54,   54, -       54,   54,   54,   54,   54,   54,   54,   54,   54,   54, -       54,   54,   54,   54,   54,   48,   67,  142,   68,   68, -       68,   68,   68,   68,   69,   77,   78,   81,   95,   84, -       96,   85,  666,   70,   71,   86,   87,  116,   72,   97, -       88,   98,   82,   83,   91,   70,   71,   89,   92,   99, -       90,  117,  100,  665,   93,  101,  143,  104,  114,  119, -       94,  102,  115,   72,   67,  105,   73,   73,   73,   73, +       50,   50,   53,   50,   54,   54,   54,   54,   54,   54, +       55,   50,   50,   50,   56,   56,   56,   56,   56,   56, +       56,   56,   56,   56,   50,   56,   56,   56,   56,   56, +       56,   56,   56,   56,   56,   56,   56,   56,   56,   56, +       56,   56,   56,   56,   56,   56,   56,   56,   56,   56, +       56,   50,   71,  116,   72,   72,   72,   72,   72,   72, +       73,   85,   88,  126,   89,  213,  702,  117,   90,   74, +       75,  699,  214,  127,   76,   91,   86,   87,  120,   92, +       95,   74,   75,   99,   96,  100,   93,  118,  694,   94, +       97,  119,  121,  689,  101,  146,   98,  123,  688,   76, -       73,   73,   73,  175,  176,  120,  107,  106,  121,  108, -      122,   70,   71,  109,  110,  152,  131,  152,  124,  132, -      123,  111,  135,   70,   71,  125,  126,  136,  133,  138, -      127,  137,   55,  139,   55,  134,  128,  129,  144,  130, -       55,  664,  145,  140,  146,  147,  154,  154,  154,  154, -      154,  154,  154,  156,  157,  159,  160,  667,  187,  236, -      185,  152,  237,  152,  222,  156,  157,  159,  160,  161, -      161,  186,  188,  162,  162,  162,  162,  162,  162,  162, -      223,  204,  667,  148,  197,  209,  663,  198,  199,  205, -      149,  200,  210,  201,  150,  212,  146,  147,  662,  151, +       71,  102,   77,   77,   77,   77,   77,   77,   77,  103, +      142,  108,  104,  124,  143,  105,  125,   74,   75,  109, +      111,  106,  707,  112,  144,  128,  687,  113,  114,   74, +       75,  110,  129,  130,  147,  115,  135,  131,  684,  136, +      139,  150,  151,  132,  133,  140,  134,  707,  137,  141, +      148,  156,   59,  156,  149,  138,  158,  158,  158,  158, +      158,  158,  158,   59,  189,   59,  160,  161,  163,  164, +      191,  264,  265,  240,  216,  190,  241,  208,  160,  161, +      163,  164,  152,  201,  192,  209,  202,  203,  217,  153, +      204,  235,  205,  154,  226,  150,  151,  683,  155,   71, -       67,  231,   69,   69,   69,   69,   69,   69,   69,  213, -      232,  144,  661,   55,  660,  145,  659,   70,   71,  146, -      147,  154,  154,  154,  154,  154,  154,  154,  658,   70, -       71,  246,  247,  260,  261,  148,  290,  291,  292,  317, -      657,  519,  149,  246,  247,  656,  150,  655,  318,  520, -      654,  151,  322,  323,  324,  337,  338,  339,  148,  348, -      349,  350,  356,  357,  358,  149,  360,  361,  362,  150, -      653,  244,  244,  652,  151,  245,  245,  245,  245,  245, -      245,  245,  248,  248,  595,  596,  249,  249,  249,  249, -      249,  249,  249,  162,  162,  162,  162,  162,  162,  162, +      236,   73,   73,   73,   73,   73,   73,   73,  680,  148, +      227,   59,  679,  149,  165,  165,   74,   75,  166,  166, +      166,  166,  166,  166,  166,  150,  151,  523,   74,   75, +      156,  321,  156,  250,  251,  524,  152,  294,  295,  296, +      322,  556,  681,  153,  675,  250,  251,  154,  326,  327, +      328,  676,  155,  158,  158,  158,  158,  158,  158,  158, +      341,  342,  343,  352,  353,  354,  152,  360,  361,  362, +      364,  365,  366,  153,  374,  375,  376,  154,  678,  248, +      248,  589,  155,  249,  249,  249,  249,  249,  249,  249, +      252,  252,  590,  682,  253,  253,  253,  253,  253,  253, -      162,  162,  162,  162,  162,  162,  162,  245,  245,  245, -      245,  245,  245,  245,  547,  548,  250,  245,  245,  245, -      245,  245,  245,  245,  370,  371,  372,  651,  250,  650, -      332,  332,  649,  157,  333,  333,  333,  333,  333,  333, -      333,  430,  431,  432,  648,  157,  249,  249,  249,  249, -      249,  249,  249,  249,  249,  249,  249,  249,  249,  249, -      333,  333,  333,  333,  333,  333,  333,  605,  606,  160, -      333,  333,  333,  333,  333,  333,  333,  421,  422,  423, -      647,  160,  433,  434,  435,  646,  247,  645,  424,  425, -      436,  437,  438,  474,  475,  476,  547,  548,  247,  496, +      253,  166,  166,  166,  166,  166,  166,  166,  166,  166, +      166,  166,  166,  166,  166,  249,  249,  249,  249,  249, +      249,  249,  602,  603,  254,  249,  249,  249,  249,  249, +      249,  249,  434,  435,  436,  677,  254,  674,  336,  336, +      673,  161,  337,  337,  337,  337,  337,  337,  337,  437, +      438,  439,  672,  161,  253,  253,  253,  253,  253,  253, +      253,  253,  253,  253,  253,  253,  253,  253,  337,  337, +      337,  337,  337,  337,  337,  551,  552,  164,  337,  337, +      337,  337,  337,  337,  337,  425,  426,  427,  675,  164, +      440,  441,  442,  671,  251,  676,  428,  429,  478,  479, -      497,  498,  465,  644,  477,  478,  605,  606,  643,  642, -      499,  500,  641,  521,  506,  507,  507,  507,  507,  507, -      507,  522,  533,  534,  535,  547,  548,  640,  550,  639, -      638,  605,  606,  536,  537,  547,  548,  551,  551,  551, -      551,  551,  551,  551,  547,  548,  637,  549,  549,  549, -      549,  549,  549,  550,  547,  548,  581,  582,  582,  582, -      582,  582,  582,  608,  605,  606,  551,  551,  551,  551, -      551,  551,  551,  636,  635,  634,  609,  609,  609,  609, -      609,  609,  609,  605,  606,  633,  632,  631,  608,  605, -      606,  630,  629,  627,  626,  607,  607,  607,  607,  607, +      480,  500,  501,  502,  469,  670,  251,  525,  681,  481, +      482,  669,  503,  504,  668,  526,  551,  552,  510,  511, +      511,  511,  511,  511,  511,  537,  538,  539,  551,  552, +      612,  613,  612,  613,  612,  613,  540,  541,  551,  552, +      667,  685,  555,  555,  555,  555,  555,  555,  555,  686, +      554,  697,  586,  587,  587,  587,  587,  587,  587,  682, +      692,  666,  551,  552,  615,  690,  695,  693,  551,  552, +      697,  665,  664,  691,  696,  554,  553,  553,  553,  553, +      553,  553,  555,  555,  555,  555,  555,  555,  555,  615, +      612,  613,  690,  663,  692,  695,  662,  612,  613,  661, -      607,  609,  609,  609,  609,  609,  609,  609,   79,   79, -       79,   79,   79,  155,  155,  155,  155,  155,   65,   65, -      158,  158,  163,  163,  163,  243,  243,  625,  243,  243, -      243,  243,  243,  549,  549,  549,  624,  623,  622,  549, -      583,  583,  583,  607,  607,  607,  621,  620,  619,  607, -      628,  628,  628,  618,  617,  616,  615,  614,  613,  612, -      611,  610,  604,  603,  602,  601,  600,  599,  598,  597, -      594,  593,  592,  591,  590,  589,  588,  587,  586,  585, -      584,  580,  579,  578,  577,  576,  575,  574,  573,  572, -      571,  570,  569,  568,  567,  566,  565,  564,  563,  562, +      691,  693,  698,  696,  616,  616,  616,  616,  616,  616, +      616,  614,  614,  614,  614,  614,  614,  612,  613,  700, +      703,  698,  705,  660,  659,  658,  657,  701,  704,  656, +      706,  616,  616,  616,  616,  616,  616,  616,  703,  705, +      655,  654,  653,  652,  651,  650,  704,  706,   57,   57, +       57,   57,   57,   57,   57,   57,   83,   83,   83,   83, +       83,  159,  159,  159,  159,  159,   69,   69,  162,  162, +      167,  167,  167,  247,  247,  649,  247,  247,  247,  247, +      247,  553,  553,  553,  648,  647,  646,  553,  588,  588, +      588,  614,  614,  614,  645,  644,  643,  614,  637,  637, -      561,  560,  559,  558,  557,  556,  555,  554,  553,  552, -      546,  545,  544,  543,  542,  541,  540,  539,  538,  532, -      531,  530,  529,  528,  527,  526,  525,  524,  523,  518, -      517,  516,  515,  514,  513,  512,  511,  510,  509,  508, -      505,  504,  503,  502,  501,  495,  494,  493,  492,  491, -      490,  489,  488,  487,  486,  485,  484,  483,  482,  481, -      480,  479,  473,  472,  471,  470,  469,  468,  467,  466, -      465,  464,  463,  462,  461,  460,  459,  458,  457,  456, -      455,  454,  453,  452,  451,  450,  449,  448,  447,  446, -      445,  444,  443,  442,  441,  440,  439,  429,  428,  427, +      637,  642,  641,  640,  639,  638,  636,  635,  634,  633, +      632,  631,  630,  629,  628,  627,  626,  625,  624,  623, +      622,  621,  620,  619,  618,  617,  611,  610,  609,  608, +      607,  606,  605,  604,  601,  600,  599,  598,  597,  596, +      595,  594,  593,  592,  591,  585,  584,  583,  582,  581, +      580,  579,  578,  577,  576,  575,  574,  573,  572,  571, +      570,  569,  568,  567,  566,  565,  564,  563,  562,  561, +      560,  559,  558,  557,  556,  550,  549,  548,  547,  546, +      545,  544,  543,  542,  536,  535,  534,  533,  532,  531, +      530,  529,  528,  527,  522,  521,  520,  519,  518,  517, -      426,  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, -      381,  380,  379,  378,  377,  376,  375,  374,  373,  369, -      368,  367,  366,  365,  364,  363,  359,  355,  354,  353, -      352,  351,  347,  346,  345,  344,  343,  342,  341,  340, -      336,  335,  334,  331,  330,  329,  328,  327,  326,  325, -      321,  320,  319,  316,  315,  314,  313,  312,  311,  310, -      309,  308,  307,  306,  305,  304,  303,  302,  301,  300, +      516,  515,  514,  513,  512,  509,  508,  507,  506,  505, +      499,  498,  497,  496,  495,  494,  493,  492,  491,  490, +      489,  488,  487,  486,  485,  484,  483,  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,  450,  449,  448,  447,  446,  445, +      444,  443,  433,  432,  431,  430,  424,  423,  422,  421, +      420,  419,  418,  417,  416,  415,  414,  413,  412,  411, +      410,  409,  408,  407,  406,  405,  404,  403,  402,  401, +      400,  399,  398,  397,  396,  395,  394,  393,  392,  391, -      299,  298,  297,  296,  295,  294,  293,  289,  288,  287, -      286,  285,  284,  283,  282,  281,  280,  279,  278,  277, -      276,  275,  274,  273,  272,  271,  270,  269,  268,  267, -      266,  265,  264,  263,  262,  259,  258,  257,  256,  255, -      254,  253,  252,  251,  242,  241,  240,  239,  238,  235, -      234,  233,  230,  229,  228,  227,  226,  225,  224,  221, -      220,  219,  218,  217,  216,  215,  214,  211,  208,  207, -      206,  203,  202,  196,  195,  194,  193,  192,  191,  190, -      189,  184,  183,  182,  181,  180,  179,  178,  177,  174, -      173,  172,  171,  170,  169,  168,  167,  166,  165,  164, +      390,  389,  388,  387,  386,  385,  384,  383,  382,  381, +      380,  379,  378,  377,  373,  372,  371,  370,  369,  368, +      367,  363,  359,  358,  357,  356,  355,  351,  350,  349, +      348,  347,  346,  345,  344,  340,  339,  338,  335,  334, +      333,  332,  331,  330,  329,  325,  324,  323,  320,  319, +      318,  317,  316,  315,  314,  313,  312,  311,  310,  309, +      308,  307,  306,  305,  304,  303,  302,  301,  300,  299, +      298,  297,  293,  292,  291,  290,  289,  288,  287,  286, +      285,  284,  283,  282,  281,  280,  279,  278,  277,  276, +      275,  274,  273,  272,  271,  270,  269,  268,  267,  266, -      153,   76,  141,  118,  103,   80,   76,   66,   60,   57, -       56,  667,    5,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667 +      263,  262,  261,  260,  259,  258,  257,  256,  255,  246, +      245,  244,  243,  242,  239,  238,  237,  234,  233,  232, +      231,  230,  229,  228,  225,  224,  223,  222,  221,  220, +      219,  218,  215,  212,  211,  210,  207,  206,  200,  199, +      198,  197,  196,  195,  194,  193,  188,  187,  186,  185, +      184,  183,  182,  181,  178,  177,  176,  175,  174,  173, +      172,  171,  170,  169,  168,  157,   80,  145,  122,  107, +       84,   80,   70,   64,   61,   60,  707,   58,   58,    7, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, + +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707      } ; -static yyconst flex_int16_t yy_chk[1076] = +static yyconst flex_int16_t yy_chk[1145] =      {   0,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1,          1,    1,    1,    1,    1,    1,    1,    1,    1,    1, @@ -773,118 +796,126 @@ static yyconst flex_int16_t yy_chk[1076] =          1,    1,    1,    1,    1,    1,    1,    1,    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,    7,   11,    7,    2,   13,   33,   14, -       15,   15,   15,   15,   15,   15,   15,   19,   19,   11, -       13,   14,   33,    2,    3,    3,    3,    3,    3,    3, +        1,    1,    1,    1,    2,    9,   13,    9,    2,   15, +       21,   21,   16,   17,   17,   17,   17,   17,   17,   17, +       23,   23,   15,   13,   16,   94,   94,    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,    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,   17,   44,   17,   17, -       17,   17,   17,   17,   17,   21,   21,   24,   28,   25, -       28,   25,  665,   17,   17,   25,   26,   35,   17,   28, -       26,   29,   24,   24,   27,   17,   17,   26,   27,   29, -       26,   35,   29,  664,   27,   29,   44,   31,   34,   37, -       27,   29,   34,   17,   18,   31,   18,   18,   18,   18, +        3,    3,    3,    3,    3,    3,    3,    3,    3,    3, +        3,    3,   19,   35,   19,   19,   19,   19,   19,   19, +       19,   26,   27,   40,   27,  121,  700,   35,   27,   19, +       19,  694,  121,   40,   19,   28,   26,   26,   37,   28, +       29,   19,   19,   30,   29,   30,   28,   36,  688,   28, +       29,   36,   37,  685,   30,   46,   29,   39,  684,   19, -       18,   18,   18,   90,   90,   37,   32,   31,   37,   32, -       38,   18,   18,   32,   32,   49,   40,   49,   39,   40, -       38,   32,   41,   18,   18,   39,   39,   41,   40,   42, -       39,   41,   55,   42,   55,   40,   39,   39,   45,   39, -       45,  663,   45,   42,   46,   46,   52,   52,   52,   52, -       52,   52,   52,   65,   65,   67,   67,   68,  100,  140, -       99,  152,  140,  152,  128,   65,   65,   67,   67,   70, -       70,   99,  100,   70,   70,   70,   70,   70,   70,   70, -      128,  113,   68,   46,  110,  117,  661,  110,  110,  113, -       46,  110,  117,  110,   46,  119,  145,  145,  659,   46, +       20,   31,   20,   20,   20,   20,   20,   20,   20,   31, +       44,   33,   31,   39,   44,   31,   39,   20,   20,   33, +       34,   31,   72,   34,   44,   41,  683,   34,   34,   20, +       20,   33,   41,   41,   46,   34,   42,   41,  679,   42, +       43,   48,   48,   41,   41,   43,   41,   72,   42,   43, +       47,   51,   47,   51,   47,   42,   54,   54,   54,   54, +       54,   54,   54,   59,  103,   59,   69,   69,   71,   71, +      104,  180,  180,  144,  123,  103,  144,  117,   69,   69, +       71,   71,   48,  114,  104,  117,  114,  114,  123,   48, +      114,  140,  114,   48,  132,  149,  149,  677,   48,   73, -       69,  136,   69,   69,   69,   69,   69,   69,   69,  119, -      136,  144,  658,  144,  657,  144,  652,   69,   69,  146, -      146,  154,  154,  154,  154,  154,  154,  154,  651,   69, -       69,  158,  158,  176,  176,  145,  206,  206,  206,  231, -      650,  479,  145,  158,  158,  643,  145,  642,  231,  479, -      641,  145,  235,  235,  235,  255,  255,  255,  146,  265, -      265,  265,  274,  274,  274,  146,  278,  278,  278,  146, -      640,  156,  156,  639,  146,  156,  156,  156,  156,  156, -      156,  156,  159,  159,  572,  572,  159,  159,  159,  159, -      159,  159,  159,  161,  161,  161,  161,  161,  161,  161, +      140,   73,   73,   73,   73,   73,   73,   73,  674,  148, +      132,  148,  673,  148,   74,   74,   73,   73,   74,   74, +       74,   74,   74,   74,   74,  150,  150,  483,   73,   73, +      156,  235,  156,  162,  162,  483,  149,  210,  210,  210, +      235,  556,  676,  149,  670,  162,  162,  149,  239,  239, +      239,  670,  149,  158,  158,  158,  158,  158,  158,  158, +      259,  259,  259,  269,  269,  269,  150,  278,  278,  278, +      282,  282,  282,  150,  290,  290,  290,  150,  672,  160, +      160,  556,  150,  160,  160,  160,  160,  160,  160,  160, +      163,  163,  556,  676,  163,  163,  163,  163,  163,  163, -      162,  162,  162,  162,  162,  162,  162,  244,  244,  244, -      244,  244,  244,  244,  583,  583,  162,  245,  245,  245, -      245,  245,  245,  245,  286,  286,  286,  638,  162,  637, -      246,  246,  636,  245,  246,  246,  246,  246,  246,  246, -      246,  374,  374,  374,  635,  245,  248,  248,  248,  248, -      248,  248,  248,  249,  249,  249,  249,  249,  249,  249, -      332,  332,  332,  332,  332,  332,  332,  605,  605,  249, -      333,  333,  333,  333,  333,  333,  333,  364,  364,  364, -      633,  249,  375,  375,  375,  630,  333,  629,  364,  364, -      376,  376,  376,  420,  420,  420,  506,  506,  333,  459, +      163,  165,  165,  165,  165,  165,  165,  165,  166,  166, +      166,  166,  166,  166,  166,  248,  248,  248,  248,  248, +      248,  248,  577,  577,  166,  249,  249,  249,  249,  249, +      249,  249,  378,  378,  378,  671,  166,  665,  250,  250, +      664,  249,  250,  250,  250,  250,  250,  250,  250,  379, +      379,  379,  663,  249,  252,  252,  252,  252,  252,  252, +      252,  253,  253,  253,  253,  253,  253,  253,  336,  336, +      336,  336,  336,  336,  336,  588,  588,  253,  337,  337, +      337,  337,  337,  337,  337,  368,  368,  368,  675,  253, +      380,  380,  380,  657,  337,  675,  368,  368,  424,  424, -      459,  459,  465,  627,  420,  420,  628,  628,  626,  625, -      459,  459,  623,  480,  465,  465,  465,  465,  465,  465, -      465,  480,  493,  493,  493,  507,  507,  622,  506,  621, -      620,  581,  581,  493,  493,  549,  549,  507,  507,  507, -      507,  507,  507,  507,  547,  547,  619,  549,  549,  549, -      549,  549,  549,  506,  551,  551,  547,  547,  547,  547, -      547,  547,  547,  581,  582,  582,  551,  551,  551,  551, -      551,  551,  551,  618,  616,  615,  582,  582,  582,  582, -      582,  582,  582,  607,  607,  614,  613,  612,  581,  609, -      609,  611,  610,  602,  601,  607,  607,  607,  607,  607, +      424,  463,  463,  463,  469,  656,  337,  484,  681,  424, +      424,  654,  463,  463,  653,  484,  510,  510,  469,  469, +      469,  469,  469,  469,  469,  497,  497,  497,  511,  511, +      586,  586,  612,  612,  637,  637,  497,  497,  551,  551, +      652,  682,  511,  511,  511,  511,  511,  511,  511,  682, +      510,  693,  551,  551,  551,  551,  551,  551,  551,  681, +      687,  651,  553,  553,  586,  686,  689,  687,  555,  555, +      697,  650,  649,  686,  689,  510,  553,  553,  553,  553, +      553,  553,  555,  555,  555,  555,  555,  555,  555,  586, +      587,  587,  690,  648,  692,  695,  647,  614,  614,  646, -      607,  609,  609,  609,  609,  609,  609,  609,  668,  668, -      668,  668,  668,  669,  669,  669,  669,  669,  670,  670, -      671,  671,  672,  672,  672,  673,  673,  600,  673,  673, -      673,  673,  673,  674,  674,  674,  599,  598,  597,  674, -      675,  675,  675,  676,  676,  676,  596,  595,  594,  676, -      677,  677,  677,  593,  592,  591,  590,  589,  588,  586, -      585,  584,  580,  579,  578,  577,  576,  575,  574,  573, -      571,  567,  562,  561,  560,  559,  558,  557,  556,  555, -      554,  546,  543,  542,  540,  539,  537,  536,  535,  534, -      533,  532,  531,  530,  529,  527,  526,  525,  524,  523, +      690,  692,  693,  695,  587,  587,  587,  587,  587,  587, +      587,  614,  614,  614,  614,  614,  614,  616,  616,  698, +      701,  697,  702,  644,  641,  640,  639,  698,  701,  638, +      702,  616,  616,  616,  616,  616,  616,  616,  703,  705, +      636,  635,  634,  632,  631,  630,  703,  705,  708,  708, +      708,  708,  708,  708,  708,  708,  709,  709,  709,  709, +      709,  710,  710,  710,  710,  710,  711,  711,  712,  712, +      713,  713,  713,  714,  714,  629,  714,  714,  714,  714, +      714,  715,  715,  715,  628,  627,  625,  715,  716,  716, +      716,  717,  717,  717,  624,  623,  622,  717,  718,  718, -      522,  521,  520,  519,  518,  517,  515,  514,  510,  509, -      505,  504,  502,  500,  499,  498,  497,  496,  494,  492, -      491,  490,  489,  488,  487,  485,  484,  483,  482,  478, -      477,  476,  475,  474,  473,  470,  469,  468,  467,  466, -      464,  463,  462,  461,  460,  458,  457,  450,  449,  446, -      445,  442,  441,  440,  439,  428,  427,  425,  424,  423, -      422,  421,  418,  416,  415,  414,  412,  411,  409,  408, -      407,  406,  404,  403,  401,  399,  398,  397,  396,  395, -      394,  393,  392,  391,  390,  388,  387,  386,  385,  384, -      383,  382,  381,  380,  379,  378,  377,  373,  369,  368, +      718,  621,  620,  619,  618,  617,  609,  608,  607,  606, +      605,  604,  603,  602,  601,  600,  599,  598,  597,  596, +      595,  593,  592,  591,  590,  589,  585,  584,  583,  582, +      581,  580,  579,  578,  576,  572,  567,  566,  565,  564, +      563,  562,  561,  560,  559,  550,  547,  546,  544,  543, +      541,  540,  539,  538,  537,  536,  535,  534,  533,  531, +      530,  529,  528,  527,  526,  525,  524,  523,  522,  521, +      519,  518,  514,  513,  512,  509,  508,  506,  504,  503, +      502,  501,  500,  498,  496,  495,  494,  493,  492,  491, +      489,  488,  487,  486,  482,  481,  480,  479,  478,  477, -      365,  363,  353,  351,  347,  346,  345,  344,  342,  340, -      335,  334,  331,  330,  329,  328,  327,  326,  321,  320, -      319,  318,  317,  316,  315,  312,  311,  310,  309,  308, -      307,  306,  305,  304,  303,  302,  301,  300,  299,  298, -      297,  296,  295,  294,  293,  292,  291,  290,  287,  285, -      284,  283,  282,  281,  280,  279,  277,  273,  271,  270, -      269,  268,  264,  263,  262,  261,  260,  259,  258,  257, -      254,  252,  251,  242,  241,  240,  239,  238,  237,  236, -      234,  233,  232,  230,  229,  228,  227,  226,  225,  224, -      223,  222,  221,  220,  219,  218,  217,  216,  215,  214, +      474,  473,  472,  471,  470,  468,  467,  466,  465,  464, +      462,  461,  454,  453,  450,  449,  446,  445,  444,  443, +      432,  431,  429,  428,  427,  426,  425,  422,  420,  419, +      418,  416,  415,  413,  412,  411,  410,  408,  407,  405, +      403,  402,  401,  400,  399,  398,  397,  396,  395,  394, +      392,  391,  390,  389,  388,  387,  386,  385,  384,  383, +      382,  381,  377,  373,  372,  369,  367,  357,  355,  351, +      350,  349,  348,  346,  344,  339,  338,  335,  334,  333, +      332,  331,  330,  325,  324,  323,  322,  321,  320,  319, +      316,  315,  314,  313,  312,  311,  310,  309,  308,  307, -      213,  212,  211,  210,  209,  208,  207,  205,  204,  203, -      202,  201,  200,  199,  198,  197,  196,  195,  194,  193, -      192,  191,  190,  188,  187,  186,  185,  184,  183,  182, -      181,  180,  179,  178,  177,  175,  174,  173,  172,  171, -      170,  169,  168,  166,  151,  150,  149,  148,  141,  139, -      138,  137,  135,  134,  133,  132,  131,  130,  129,  127, -      126,  125,  124,  123,  122,  121,  120,  118,  116,  115, -      114,  112,  111,  109,  108,  106,  105,  104,  103,  102, -      101,   98,   97,   96,   95,   94,   93,   92,   91,   89, -       88,   87,   86,   85,   84,   83,   82,   81,   78,   74, +      306,  305,  304,  303,  302,  301,  300,  299,  298,  297, +      296,  295,  294,  291,  289,  288,  287,  286,  285,  284, +      283,  281,  277,  275,  274,  273,  272,  268,  267,  266, +      265,  264,  263,  262,  261,  258,  256,  255,  246,  245, +      244,  243,  242,  241,  240,  238,  237,  236,  234,  233, +      232,  231,  230,  229,  228,  227,  226,  225,  224,  223, +      222,  221,  220,  219,  218,  217,  216,  215,  214,  213, +      212,  211,  209,  208,  207,  206,  205,  204,  203,  202, +      201,  200,  199,  198,  197,  196,  195,  194,  192,  191, +      190,  189,  188,  187,  186,  185,  184,  183,  182,  181, -       51,   47,   43,   36,   30,   23,   20,   16,   12,   10, -        9,    5,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667,  667,  667,  667,  667,  667, -      667,  667,  667,  667,  667 +      179,  178,  177,  176,  175,  174,  173,  172,  170,  155, +      154,  153,  152,  145,  143,  142,  141,  139,  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,   82,   78,   53,   49,   45,   38,   32, +       25,   22,   18,   14,   12,   11,    7,    6,    5,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, + +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707,  707,  707,  707,  707,  707,  707, +      707,  707,  707,  707      } ;  /* The intent behind this definition is that it'll catch @@ -954,10 +985,11 @@ static yyconst flex_int16_t yy_chk[1076] =        }									\     } while (0) -#line 958 "glsl_lexer.cpp" +#line 989 "glsl_lexer.cpp"  #define INITIAL 0  #define PP 1 +#define PRAGMA 2  #define YY_EXTRA_TYPE struct _mesa_glsl_parse_state * @@ -1195,7 +1227,7 @@ YY_DECL  #line 76 "glsl_lexer.lpp" -#line 1199 "glsl_lexer.cpp" +#line 1231 "glsl_lexer.cpp"      yylval = yylval_param; @@ -1253,13 +1285,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 >= 668 ) +				if ( yy_current_state >= 708 )  					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 != 667 ); +		while ( yy_current_state != 707 );  		yy_cp = yyg->yy_last_accepting_cpos;  		yy_current_state = yyg->yy_last_accepting_state; @@ -1349,319 +1381,362 @@ YY_RULE_SETUP  case 7:  YY_RULE_SETUP  #line 113 "glsl_lexer.lpp" -{ BEGIN PP; return PRAGMA; } +{ +				  BEGIN PP; +				  return PRAGMA_DEBUG_ON; +				}  	YY_BREAK  case 8:  YY_RULE_SETUP -#line 114 "glsl_lexer.lpp" -{ } +#line 117 "glsl_lexer.lpp" +{ +				  BEGIN PP; +				  return PRAGMA_DEBUG_OFF; +				}  	YY_BREAK  case 9:  YY_RULE_SETUP -#line 115 "glsl_lexer.lpp" -{ } +#line 121 "glsl_lexer.lpp" +{ +				  BEGIN PP; +				  return PRAGMA_OPTIMIZE_ON; +				}  	YY_BREAK  case 10:  YY_RULE_SETUP -#line 116 "glsl_lexer.lpp" -return COLON; +#line 125 "glsl_lexer.lpp" +{ +				  BEGIN PP; +				  return PRAGMA_OPTIMIZE_OFF; +				}  	YY_BREAK  case 11:  YY_RULE_SETUP -#line 117 "glsl_lexer.lpp" +#line 129 "glsl_lexer.lpp" +{ BEGIN PRAGMA; } +	YY_BREAK +case 12: +/* rule 12 can match eol */ +YY_RULE_SETUP +#line 131 "glsl_lexer.lpp" +{ BEGIN 0; yylineno++; yycolumn = 0; } +	YY_BREAK +case 13: +YY_RULE_SETUP +#line 132 "glsl_lexer.lpp" +{ } +	YY_BREAK +case 14: +YY_RULE_SETUP +#line 134 "glsl_lexer.lpp" +{ } +	YY_BREAK +case 15: +YY_RULE_SETUP +#line 135 "glsl_lexer.lpp" +{ } +	YY_BREAK +case 16: +YY_RULE_SETUP +#line 136 "glsl_lexer.lpp" +return COLON; +	YY_BREAK +case 17: +YY_RULE_SETUP +#line 137 "glsl_lexer.lpp"  {  				   yylval->identifier = strdup(yytext);  				   return IDENTIFIER;  				}  	YY_BREAK -case 12: +case 18:  YY_RULE_SETUP -#line 121 "glsl_lexer.lpp" +#line 141 "glsl_lexer.lpp"  {  				    yylval->n = strtol(yytext, NULL, 10);  				    return INTCONSTANT;  				}  	YY_BREAK -case 13: -/* rule 13 can match eol */ +case 19: +/* rule 19 can match eol */  YY_RULE_SETUP -#line 125 "glsl_lexer.lpp" +#line 145 "glsl_lexer.lpp"  { BEGIN 0; yylineno++; yycolumn = 0; return EOL; }  	YY_BREAK -case 14: -/* rule 14 can match eol */ +case 20: +/* rule 20 can match eol */  YY_RULE_SETUP -#line 127 "glsl_lexer.lpp" +#line 147 "glsl_lexer.lpp"  { yylineno++; yycolumn = 0; }  	YY_BREAK -case 15: +case 21:  YY_RULE_SETUP -#line 129 "glsl_lexer.lpp" +#line 149 "glsl_lexer.lpp"  return ATTRIBUTE;  	YY_BREAK -case 16: +case 22:  YY_RULE_SETUP -#line 130 "glsl_lexer.lpp" +#line 150 "glsl_lexer.lpp"  return CONST_TOK;  	YY_BREAK -case 17: +case 23:  YY_RULE_SETUP -#line 131 "glsl_lexer.lpp" +#line 151 "glsl_lexer.lpp"  return BOOL_TOK;  	YY_BREAK -case 18: +case 24:  YY_RULE_SETUP -#line 132 "glsl_lexer.lpp" +#line 152 "glsl_lexer.lpp"  return FLOAT_TOK;  	YY_BREAK -case 19: +case 25:  YY_RULE_SETUP -#line 133 "glsl_lexer.lpp" +#line 153 "glsl_lexer.lpp"  return INT_TOK;  	YY_BREAK -case 20: +case 26:  YY_RULE_SETUP -#line 135 "glsl_lexer.lpp" +#line 155 "glsl_lexer.lpp"  return BREAK;  	YY_BREAK -case 21: +case 27:  YY_RULE_SETUP -#line 136 "glsl_lexer.lpp" +#line 156 "glsl_lexer.lpp"  return CONTINUE;  	YY_BREAK -case 22: +case 28:  YY_RULE_SETUP -#line 137 "glsl_lexer.lpp" +#line 157 "glsl_lexer.lpp"  return DO;  	YY_BREAK -case 23: +case 29:  YY_RULE_SETUP -#line 138 "glsl_lexer.lpp" +#line 158 "glsl_lexer.lpp"  return WHILE;  	YY_BREAK -case 24: +case 30:  YY_RULE_SETUP -#line 139 "glsl_lexer.lpp" +#line 159 "glsl_lexer.lpp"  return ELSE;  	YY_BREAK -case 25: +case 31:  YY_RULE_SETUP -#line 140 "glsl_lexer.lpp" +#line 160 "glsl_lexer.lpp"  return FOR;  	YY_BREAK -case 26: +case 32:  YY_RULE_SETUP -#line 141 "glsl_lexer.lpp" +#line 161 "glsl_lexer.lpp"  return IF;  	YY_BREAK -case 27: +case 33:  YY_RULE_SETUP -#line 142 "glsl_lexer.lpp" +#line 162 "glsl_lexer.lpp"  return DISCARD;  	YY_BREAK -case 28: +case 34:  YY_RULE_SETUP -#line 143 "glsl_lexer.lpp" +#line 163 "glsl_lexer.lpp"  return RETURN;  	YY_BREAK -case 29: +case 35:  YY_RULE_SETUP -#line 145 "glsl_lexer.lpp" +#line 165 "glsl_lexer.lpp"  return BVEC2;  	YY_BREAK -case 30: +case 36:  YY_RULE_SETUP -#line 146 "glsl_lexer.lpp" +#line 166 "glsl_lexer.lpp"  return BVEC3;  	YY_BREAK -case 31: +case 37:  YY_RULE_SETUP -#line 147 "glsl_lexer.lpp" +#line 167 "glsl_lexer.lpp"  return BVEC4;  	YY_BREAK -case 32: +case 38:  YY_RULE_SETUP -#line 148 "glsl_lexer.lpp" +#line 168 "glsl_lexer.lpp"  return IVEC2;  	YY_BREAK -case 33: +case 39:  YY_RULE_SETUP -#line 149 "glsl_lexer.lpp" +#line 169 "glsl_lexer.lpp"  return IVEC3;  	YY_BREAK -case 34: +case 40:  YY_RULE_SETUP -#line 150 "glsl_lexer.lpp" +#line 170 "glsl_lexer.lpp"  return IVEC4;  	YY_BREAK -case 35: +case 41:  YY_RULE_SETUP -#line 151 "glsl_lexer.lpp" +#line 171 "glsl_lexer.lpp"  return VEC2;  	YY_BREAK -case 36: +case 42:  YY_RULE_SETUP -#line 152 "glsl_lexer.lpp" +#line 172 "glsl_lexer.lpp"  return VEC3;  	YY_BREAK -case 37: +case 43:  YY_RULE_SETUP -#line 153 "glsl_lexer.lpp" +#line 173 "glsl_lexer.lpp"  return VEC4;  	YY_BREAK -case 38: +case 44:  YY_RULE_SETUP -#line 154 "glsl_lexer.lpp" +#line 174 "glsl_lexer.lpp"  return MAT2X2;  	YY_BREAK -case 39: +case 45:  YY_RULE_SETUP -#line 155 "glsl_lexer.lpp" +#line 175 "glsl_lexer.lpp"  return MAT3X3;  	YY_BREAK -case 40: +case 46:  YY_RULE_SETUP -#line 156 "glsl_lexer.lpp" +#line 176 "glsl_lexer.lpp"  return MAT4X4;  	YY_BREAK -case 41: +case 47:  YY_RULE_SETUP -#line 157 "glsl_lexer.lpp" +#line 177 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT2X2);  	YY_BREAK -case 42: +case 48:  YY_RULE_SETUP -#line 158 "glsl_lexer.lpp" +#line 178 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT2X3);  	YY_BREAK -case 43: +case 49:  YY_RULE_SETUP -#line 159 "glsl_lexer.lpp" +#line 179 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT2X4);  	YY_BREAK -case 44: +case 50:  YY_RULE_SETUP -#line 160 "glsl_lexer.lpp" +#line 180 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT3X2);  	YY_BREAK -case 45: +case 51:  YY_RULE_SETUP -#line 161 "glsl_lexer.lpp" +#line 181 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT3X3);  	YY_BREAK -case 46: +case 52:  YY_RULE_SETUP -#line 162 "glsl_lexer.lpp" +#line 182 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT3X4);  	YY_BREAK -case 47: +case 53:  YY_RULE_SETUP -#line 163 "glsl_lexer.lpp" +#line 183 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT4X2);  	YY_BREAK -case 48: +case 54:  YY_RULE_SETUP -#line 164 "glsl_lexer.lpp" +#line 184 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT4X3);  	YY_BREAK -case 49: +case 55:  YY_RULE_SETUP -#line 165 "glsl_lexer.lpp" +#line 185 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MAT4X4);  	YY_BREAK -case 50: +case 56:  YY_RULE_SETUP -#line 167 "glsl_lexer.lpp" +#line 187 "glsl_lexer.lpp"  return IN_TOK;  	YY_BREAK -case 51: +case 57:  YY_RULE_SETUP -#line 168 "glsl_lexer.lpp" +#line 188 "glsl_lexer.lpp"  return OUT_TOK;  	YY_BREAK -case 52: +case 58:  YY_RULE_SETUP -#line 169 "glsl_lexer.lpp" +#line 189 "glsl_lexer.lpp"  return INOUT_TOK;  	YY_BREAK -case 53: +case 59:  YY_RULE_SETUP -#line 170 "glsl_lexer.lpp" +#line 190 "glsl_lexer.lpp"  return UNIFORM;  	YY_BREAK -case 54: +case 60:  YY_RULE_SETUP -#line 171 "glsl_lexer.lpp" +#line 191 "glsl_lexer.lpp"  return VARYING;  	YY_BREAK -case 55: +case 61:  YY_RULE_SETUP -#line 172 "glsl_lexer.lpp" +#line 192 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, CENTROID);  	YY_BREAK -case 56: +case 62:  YY_RULE_SETUP -#line 173 "glsl_lexer.lpp" +#line 193 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, INVARIANT);  	YY_BREAK -case 57: +case 63:  YY_RULE_SETUP -#line 175 "glsl_lexer.lpp" +#line 195 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, FLAT);  	YY_BREAK -case 58: +case 64:  YY_RULE_SETUP -#line 176 "glsl_lexer.lpp" +#line 196 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, SMOOTH);  	YY_BREAK -case 59: +case 65:  YY_RULE_SETUP -#line 177 "glsl_lexer.lpp" +#line 197 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, NOPERSPECTIVE);  	YY_BREAK -case 60: +case 66:  YY_RULE_SETUP -#line 179 "glsl_lexer.lpp" +#line 199 "glsl_lexer.lpp"  return SAMPLER1D;  	YY_BREAK -case 61: +case 67:  YY_RULE_SETUP -#line 180 "glsl_lexer.lpp" +#line 200 "glsl_lexer.lpp"  return SAMPLER2D;  	YY_BREAK -case 62: +case 68:  YY_RULE_SETUP -#line 181 "glsl_lexer.lpp" +#line 201 "glsl_lexer.lpp"  return SAMPLER3D;  	YY_BREAK -case 63: +case 69:  YY_RULE_SETUP -#line 182 "glsl_lexer.lpp" +#line 202 "glsl_lexer.lpp"  return SAMPLERCUBE;  	YY_BREAK -case 64: +case 70:  YY_RULE_SETUP -#line 183 "glsl_lexer.lpp" +#line 203 "glsl_lexer.lpp"  return SAMPLER1DSHADOW;  	YY_BREAK -case 65: +case 71:  YY_RULE_SETUP -#line 184 "glsl_lexer.lpp" +#line 204 "glsl_lexer.lpp"  return SAMPLER2DSHADOW;  	YY_BREAK -case 66: +case 72:  YY_RULE_SETUP -#line 186 "glsl_lexer.lpp" +#line 206 "glsl_lexer.lpp"  return STRUCT;  	YY_BREAK -case 67: +case 73:  YY_RULE_SETUP -#line 187 "glsl_lexer.lpp" +#line 207 "glsl_lexer.lpp"  return VOID_TOK;  	YY_BREAK -case 68: +case 74:  YY_RULE_SETUP -#line 189 "glsl_lexer.lpp" +#line 209 "glsl_lexer.lpp"  {  		  if ((yyextra->language_version >= 140)  		      || (yyextra->ARB_fragment_coord_conventions_enable)){ @@ -1672,572 +1747,572 @@ YY_RULE_SETUP  		   }  		}  	YY_BREAK -case 69: +case 75:  YY_RULE_SETUP -#line 199 "glsl_lexer.lpp" +#line 219 "glsl_lexer.lpp"  return INC_OP;  	YY_BREAK -case 70: +case 76:  YY_RULE_SETUP -#line 200 "glsl_lexer.lpp" +#line 220 "glsl_lexer.lpp"  return DEC_OP;  	YY_BREAK -case 71: +case 77:  YY_RULE_SETUP -#line 201 "glsl_lexer.lpp" +#line 221 "glsl_lexer.lpp"  return LE_OP;  	YY_BREAK -case 72: +case 78:  YY_RULE_SETUP -#line 202 "glsl_lexer.lpp" +#line 222 "glsl_lexer.lpp"  return GE_OP;  	YY_BREAK -case 73: +case 79:  YY_RULE_SETUP -#line 203 "glsl_lexer.lpp" +#line 223 "glsl_lexer.lpp"  return EQ_OP;  	YY_BREAK -case 74: +case 80:  YY_RULE_SETUP -#line 204 "glsl_lexer.lpp" +#line 224 "glsl_lexer.lpp"  return NE_OP;  	YY_BREAK -case 75: +case 81:  YY_RULE_SETUP -#line 205 "glsl_lexer.lpp" +#line 225 "glsl_lexer.lpp"  return AND_OP;  	YY_BREAK -case 76: +case 82:  YY_RULE_SETUP -#line 206 "glsl_lexer.lpp" +#line 226 "glsl_lexer.lpp"  return OR_OP;  	YY_BREAK -case 77: +case 83:  YY_RULE_SETUP -#line 207 "glsl_lexer.lpp" +#line 227 "glsl_lexer.lpp"  return XOR_OP;  	YY_BREAK -case 78: +case 84:  YY_RULE_SETUP -#line 209 "glsl_lexer.lpp" +#line 229 "glsl_lexer.lpp"  return MUL_ASSIGN;  	YY_BREAK -case 79: +case 85:  YY_RULE_SETUP -#line 210 "glsl_lexer.lpp" +#line 230 "glsl_lexer.lpp"  return DIV_ASSIGN;  	YY_BREAK -case 80: +case 86:  YY_RULE_SETUP -#line 211 "glsl_lexer.lpp" +#line 231 "glsl_lexer.lpp"  return ADD_ASSIGN;  	YY_BREAK -case 81: +case 87:  YY_RULE_SETUP -#line 212 "glsl_lexer.lpp" +#line 232 "glsl_lexer.lpp"  return MOD_ASSIGN;  	YY_BREAK -case 82: +case 88:  YY_RULE_SETUP -#line 213 "glsl_lexer.lpp" +#line 233 "glsl_lexer.lpp"  return LEFT_ASSIGN;  	YY_BREAK -case 83: +case 89:  YY_RULE_SETUP -#line 214 "glsl_lexer.lpp" +#line 234 "glsl_lexer.lpp"  return RIGHT_ASSIGN;  	YY_BREAK -case 84: +case 90:  YY_RULE_SETUP -#line 215 "glsl_lexer.lpp" +#line 235 "glsl_lexer.lpp"  return AND_ASSIGN;  	YY_BREAK -case 85: +case 91:  YY_RULE_SETUP -#line 216 "glsl_lexer.lpp" +#line 236 "glsl_lexer.lpp"  return XOR_ASSIGN;  	YY_BREAK -case 86: +case 92:  YY_RULE_SETUP -#line 217 "glsl_lexer.lpp" +#line 237 "glsl_lexer.lpp"  return OR_ASSIGN;  	YY_BREAK -case 87: +case 93:  YY_RULE_SETUP -#line 218 "glsl_lexer.lpp" +#line 238 "glsl_lexer.lpp"  return SUB_ASSIGN;  	YY_BREAK -case 88: +case 94:  YY_RULE_SETUP -#line 220 "glsl_lexer.lpp" +#line 240 "glsl_lexer.lpp"  {  			    yylval->n = strtol(yytext, NULL, 10);  			    return INTCONSTANT;  			}  	YY_BREAK -case 89: +case 95:  YY_RULE_SETUP -#line 224 "glsl_lexer.lpp" +#line 244 "glsl_lexer.lpp"  {  			    yylval->n = strtol(yytext + 2, NULL, 16);  			    return INTCONSTANT;  			}  	YY_BREAK -case 90: +case 96:  YY_RULE_SETUP -#line 228 "glsl_lexer.lpp" +#line 248 "glsl_lexer.lpp"  {  			    yylval->n = strtol(yytext, NULL, 8);  			    return INTCONSTANT;  			}  	YY_BREAK -case 91: +case 97:  YY_RULE_SETUP -#line 233 "glsl_lexer.lpp" +#line 253 "glsl_lexer.lpp"  {  			    yylval->real = strtod(yytext, NULL);  			    return FLOATCONSTANT;  			}  	YY_BREAK -case 92: +case 98:  YY_RULE_SETUP -#line 237 "glsl_lexer.lpp" +#line 257 "glsl_lexer.lpp"  {  			    yylval->real = strtod(yytext, NULL);  			    return FLOATCONSTANT;  			}  	YY_BREAK -case 93: +case 99:  YY_RULE_SETUP -#line 241 "glsl_lexer.lpp" +#line 261 "glsl_lexer.lpp"  {  			    yylval->real = strtod(yytext, NULL);  			    return FLOATCONSTANT;  			}  	YY_BREAK -case 94: +case 100:  YY_RULE_SETUP -#line 245 "glsl_lexer.lpp" +#line 265 "glsl_lexer.lpp"  {  			    yylval->real = strtod(yytext, NULL);  			    return FLOATCONSTANT;  			}  	YY_BREAK -case 95: +case 101:  YY_RULE_SETUP -#line 249 "glsl_lexer.lpp" +#line 269 "glsl_lexer.lpp"  {  			    yylval->real = strtod(yytext, NULL);  			    return FLOATCONSTANT;  			}  	YY_BREAK -case 96: +case 102:  YY_RULE_SETUP -#line 254 "glsl_lexer.lpp" +#line 274 "glsl_lexer.lpp"  {  			    yylval->n = 1;  			    return BOOLCONSTANT;  			}  	YY_BREAK -case 97: +case 103:  YY_RULE_SETUP -#line 258 "glsl_lexer.lpp" +#line 278 "glsl_lexer.lpp"  {  			    yylval->n = 0;  			    return BOOLCONSTANT;  			}  	YY_BREAK  /* Reserved words in GLSL 1.10. */ -case 98: +case 104:  YY_RULE_SETUP -#line 265 "glsl_lexer.lpp" +#line 285 "glsl_lexer.lpp"  RESERVED_WORD(999, ASM);  	YY_BREAK -case 99: +case 105:  YY_RULE_SETUP -#line 266 "glsl_lexer.lpp" +#line 286 "glsl_lexer.lpp"  RESERVED_WORD(999, CLASS);  	YY_BREAK -case 100: +case 106:  YY_RULE_SETUP -#line 267 "glsl_lexer.lpp" +#line 287 "glsl_lexer.lpp"  RESERVED_WORD(999, UNION);  	YY_BREAK -case 101: +case 107:  YY_RULE_SETUP -#line 268 "glsl_lexer.lpp" +#line 288 "glsl_lexer.lpp"  RESERVED_WORD(999, ENUM);  	YY_BREAK -case 102: +case 108:  YY_RULE_SETUP -#line 269 "glsl_lexer.lpp" +#line 289 "glsl_lexer.lpp"  RESERVED_WORD(999, TYPEDEF);  	YY_BREAK -case 103: +case 109:  YY_RULE_SETUP -#line 270 "glsl_lexer.lpp" +#line 290 "glsl_lexer.lpp"  RESERVED_WORD(999, TEMPLATE);  	YY_BREAK -case 104: +case 110:  YY_RULE_SETUP -#line 271 "glsl_lexer.lpp" +#line 291 "glsl_lexer.lpp"  RESERVED_WORD(999, THIS);  	YY_BREAK -case 105: +case 111:  YY_RULE_SETUP -#line 272 "glsl_lexer.lpp" +#line 292 "glsl_lexer.lpp"  RESERVED_WORD(999, PACKED_TOK);  	YY_BREAK -case 106: +case 112:  YY_RULE_SETUP -#line 273 "glsl_lexer.lpp" +#line 293 "glsl_lexer.lpp"  RESERVED_WORD(999, GOTO);  	YY_BREAK -case 107: +case 113:  YY_RULE_SETUP -#line 274 "glsl_lexer.lpp" +#line 294 "glsl_lexer.lpp"  RESERVED_WORD(130, SWITCH);  	YY_BREAK -case 108: +case 114:  YY_RULE_SETUP -#line 275 "glsl_lexer.lpp" +#line 295 "glsl_lexer.lpp"  RESERVED_WORD(130, DEFAULT);  	YY_BREAK -case 109: +case 115:  YY_RULE_SETUP -#line 276 "glsl_lexer.lpp" +#line 296 "glsl_lexer.lpp"  RESERVED_WORD(999, INLINE_TOK);  	YY_BREAK -case 110: +case 116:  YY_RULE_SETUP -#line 277 "glsl_lexer.lpp" +#line 297 "glsl_lexer.lpp"  RESERVED_WORD(999, NOINLINE);  	YY_BREAK -case 111: +case 117:  YY_RULE_SETUP -#line 278 "glsl_lexer.lpp" +#line 298 "glsl_lexer.lpp"  RESERVED_WORD(999, VOLATILE);  	YY_BREAK -case 112: +case 118:  YY_RULE_SETUP -#line 279 "glsl_lexer.lpp" +#line 299 "glsl_lexer.lpp"  RESERVED_WORD(999, PUBLIC_TOK);  	YY_BREAK -case 113: +case 119:  YY_RULE_SETUP -#line 280 "glsl_lexer.lpp" +#line 300 "glsl_lexer.lpp"  RESERVED_WORD(999, STATIC);  	YY_BREAK -case 114: +case 120:  YY_RULE_SETUP -#line 281 "glsl_lexer.lpp" +#line 301 "glsl_lexer.lpp"  RESERVED_WORD(999, EXTERN);  	YY_BREAK -case 115: +case 121:  YY_RULE_SETUP -#line 282 "glsl_lexer.lpp" +#line 302 "glsl_lexer.lpp"  RESERVED_WORD(999, EXTERNAL);  	YY_BREAK -case 116: +case 122:  YY_RULE_SETUP -#line 283 "glsl_lexer.lpp" +#line 303 "glsl_lexer.lpp"  RESERVED_WORD(999, INTERFACE);  	YY_BREAK -case 117: +case 123:  YY_RULE_SETUP -#line 284 "glsl_lexer.lpp" +#line 304 "glsl_lexer.lpp"  RESERVED_WORD(999, LONG_TOK);  	YY_BREAK -case 118: +case 124:  YY_RULE_SETUP -#line 285 "glsl_lexer.lpp" +#line 305 "glsl_lexer.lpp"  RESERVED_WORD(999, SHORT_TOK);  	YY_BREAK -case 119: +case 125:  YY_RULE_SETUP -#line 286 "glsl_lexer.lpp" +#line 306 "glsl_lexer.lpp"  RESERVED_WORD(999, DOUBLE_TOK);  	YY_BREAK -case 120: +case 126:  YY_RULE_SETUP -#line 287 "glsl_lexer.lpp" +#line 307 "glsl_lexer.lpp"  RESERVED_WORD(999, HALF);  	YY_BREAK -case 121: +case 127:  YY_RULE_SETUP -#line 288 "glsl_lexer.lpp" +#line 308 "glsl_lexer.lpp"  RESERVED_WORD(999, FIXED_TOK);  	YY_BREAK -case 122: +case 128:  YY_RULE_SETUP -#line 289 "glsl_lexer.lpp" +#line 309 "glsl_lexer.lpp"  RESERVED_WORD(999, UNSIGNED);  	YY_BREAK -case 123: +case 129:  YY_RULE_SETUP -#line 290 "glsl_lexer.lpp" +#line 310 "glsl_lexer.lpp"  RESERVED_WORD(999, INPUT_TOK);  	YY_BREAK -case 124: +case 130:  YY_RULE_SETUP -#line 291 "glsl_lexer.lpp" +#line 311 "glsl_lexer.lpp"  RESERVED_WORD(999, OUTPUT);  	YY_BREAK -case 125: +case 131:  YY_RULE_SETUP -#line 292 "glsl_lexer.lpp" +#line 312 "glsl_lexer.lpp"  RESERVED_WORD(999, HVEC2);  	YY_BREAK -case 126: +case 132:  YY_RULE_SETUP -#line 293 "glsl_lexer.lpp" +#line 313 "glsl_lexer.lpp"  RESERVED_WORD(999, HVEC3);  	YY_BREAK -case 127: +case 133:  YY_RULE_SETUP -#line 294 "glsl_lexer.lpp" +#line 314 "glsl_lexer.lpp"  RESERVED_WORD(999, HVEC4);  	YY_BREAK -case 128: +case 134:  YY_RULE_SETUP -#line 295 "glsl_lexer.lpp" +#line 315 "glsl_lexer.lpp"  RESERVED_WORD(999, DVEC2);  	YY_BREAK -case 129: +case 135:  YY_RULE_SETUP -#line 296 "glsl_lexer.lpp" +#line 316 "glsl_lexer.lpp"  RESERVED_WORD(999, DVEC3);  	YY_BREAK -case 130: +case 136:  YY_RULE_SETUP -#line 297 "glsl_lexer.lpp" +#line 317 "glsl_lexer.lpp"  RESERVED_WORD(999, DVEC4);  	YY_BREAK -case 131: +case 137:  YY_RULE_SETUP -#line 298 "glsl_lexer.lpp" +#line 318 "glsl_lexer.lpp"  RESERVED_WORD(999, FVEC2);  	YY_BREAK -case 132: +case 138:  YY_RULE_SETUP -#line 299 "glsl_lexer.lpp" +#line 319 "glsl_lexer.lpp"  RESERVED_WORD(999, FVEC3);  	YY_BREAK -case 133: +case 139:  YY_RULE_SETUP -#line 300 "glsl_lexer.lpp" +#line 320 "glsl_lexer.lpp"  RESERVED_WORD(999, FVEC4);  	YY_BREAK -case 134: +case 140:  YY_RULE_SETUP -#line 301 "glsl_lexer.lpp" +#line 321 "glsl_lexer.lpp"  return SAMPLER2DRECT;  	YY_BREAK -case 135: +case 141:  YY_RULE_SETUP -#line 302 "glsl_lexer.lpp" +#line 322 "glsl_lexer.lpp"  RESERVED_WORD(999, SAMPLER3DRECT);  	YY_BREAK -case 136: +case 142:  YY_RULE_SETUP -#line 303 "glsl_lexer.lpp" +#line 323 "glsl_lexer.lpp"  return SAMPLER2DRECTSHADOW;  	YY_BREAK -case 137: +case 143:  YY_RULE_SETUP -#line 304 "glsl_lexer.lpp" +#line 324 "glsl_lexer.lpp"  RESERVED_WORD(999, SIZEOF);  	YY_BREAK -case 138: +case 144:  YY_RULE_SETUP -#line 305 "glsl_lexer.lpp" +#line 325 "glsl_lexer.lpp"  RESERVED_WORD(999, CAST);  	YY_BREAK -case 139: +case 145:  YY_RULE_SETUP -#line 306 "glsl_lexer.lpp" +#line 326 "glsl_lexer.lpp"  RESERVED_WORD(999, NAMESPACE);  	YY_BREAK -case 140: +case 146:  YY_RULE_SETUP -#line 307 "glsl_lexer.lpp" +#line 327 "glsl_lexer.lpp"  RESERVED_WORD(999, USING);  	YY_BREAK  /* Additional reserved words in GLSL 1.20. */ -case 141: +case 147:  YY_RULE_SETUP -#line 310 "glsl_lexer.lpp" +#line 330 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, LOWP);  	YY_BREAK -case 142: +case 148:  YY_RULE_SETUP -#line 311 "glsl_lexer.lpp" +#line 331 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, MEDIUMP);  	YY_BREAK -case 143: +case 149:  YY_RULE_SETUP -#line 312 "glsl_lexer.lpp" +#line 332 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, HIGHP);  	YY_BREAK -case 144: +case 150:  YY_RULE_SETUP -#line 313 "glsl_lexer.lpp" +#line 333 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(120, PRECISION);  	YY_BREAK  /* Additional reserved words in GLSL 1.30. */ -case 145: +case 151:  YY_RULE_SETUP -#line 316 "glsl_lexer.lpp" +#line 336 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, COMMON);  	YY_BREAK -case 146: +case 152:  YY_RULE_SETUP -#line 317 "glsl_lexer.lpp" +#line 337 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, PARTITION);  	YY_BREAK -case 147: +case 153:  YY_RULE_SETUP -#line 318 "glsl_lexer.lpp" +#line 338 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, ACTIVE);  	YY_BREAK -case 148: +case 154:  YY_RULE_SETUP -#line 319 "glsl_lexer.lpp" +#line 339 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, SUPERP);  	YY_BREAK -case 149: +case 155:  YY_RULE_SETUP -#line 320 "glsl_lexer.lpp" +#line 340 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, SAMPLERBUFFER);  	YY_BREAK -case 150: +case 156:  YY_RULE_SETUP -#line 321 "glsl_lexer.lpp" +#line 341 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, FILTER);  	YY_BREAK -case 151: +case 157:  YY_RULE_SETUP -#line 322 "glsl_lexer.lpp" +#line 342 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGE1D);  	YY_BREAK -case 152: +case 158:  YY_RULE_SETUP -#line 323 "glsl_lexer.lpp" +#line 343 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGE2D);  	YY_BREAK -case 153: +case 159:  YY_RULE_SETUP -#line 324 "glsl_lexer.lpp" +#line 344 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGE3D);  	YY_BREAK -case 154: +case 160:  YY_RULE_SETUP -#line 325 "glsl_lexer.lpp" +#line 345 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGECUBE);  	YY_BREAK -case 155: +case 161:  YY_RULE_SETUP -#line 326 "glsl_lexer.lpp" +#line 346 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IIMAGE1D);  	YY_BREAK -case 156: +case 162:  YY_RULE_SETUP -#line 327 "glsl_lexer.lpp" +#line 347 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IIMAGE2D);  	YY_BREAK -case 157: +case 163:  YY_RULE_SETUP -#line 328 "glsl_lexer.lpp" +#line 348 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IIMAGE3D);  	YY_BREAK -case 158: +case 164:  YY_RULE_SETUP -#line 329 "glsl_lexer.lpp" +#line 349 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IIMAGECUBE);  	YY_BREAK -case 159: +case 165:  YY_RULE_SETUP -#line 330 "glsl_lexer.lpp" +#line 350 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, UIMAGE1D);  	YY_BREAK -case 160: +case 166:  YY_RULE_SETUP -#line 331 "glsl_lexer.lpp" +#line 351 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, UIMAGE2D);  	YY_BREAK -case 161: +case 167:  YY_RULE_SETUP -#line 332 "glsl_lexer.lpp" +#line 352 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, UIMAGE3D);  	YY_BREAK -case 162: +case 168:  YY_RULE_SETUP -#line 333 "glsl_lexer.lpp" +#line 353 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, UIMAGECUBE);  	YY_BREAK -case 163: +case 169:  YY_RULE_SETUP -#line 334 "glsl_lexer.lpp" +#line 354 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGE1DARRAY);  	YY_BREAK -case 164: +case 170:  YY_RULE_SETUP -#line 335 "glsl_lexer.lpp" +#line 355 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGE2DARRAY);  	YY_BREAK -case 165: +case 171:  YY_RULE_SETUP -#line 336 "glsl_lexer.lpp" +#line 356 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IIMAGE1DARRAY);  	YY_BREAK -case 166: +case 172:  YY_RULE_SETUP -#line 337 "glsl_lexer.lpp" +#line 357 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IIMAGE2DARRAY);  	YY_BREAK -case 167: +case 173:  YY_RULE_SETUP -#line 338 "glsl_lexer.lpp" +#line 358 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, UIMAGE1DARRAY);  	YY_BREAK -case 168: +case 174:  YY_RULE_SETUP -#line 339 "glsl_lexer.lpp" +#line 359 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, UIMAGE2DARRAY);  	YY_BREAK -case 169: +case 175:  YY_RULE_SETUP -#line 340 "glsl_lexer.lpp" +#line 360 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGE1DSHADOW);  	YY_BREAK -case 170: +case 176:  YY_RULE_SETUP -#line 341 "glsl_lexer.lpp" +#line 361 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGE2DSHADOW);  	YY_BREAK -case 171: +case 177:  YY_RULE_SETUP -#line 342 "glsl_lexer.lpp" +#line 362 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IMAGEBUFFER);  	YY_BREAK -case 172: +case 178:  YY_RULE_SETUP -#line 343 "glsl_lexer.lpp" +#line 363 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, IIMAGEBUFFER);  	YY_BREAK -case 173: +case 179:  YY_RULE_SETUP -#line 344 "glsl_lexer.lpp" +#line 364 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, UIMAGEBUFFER);  	YY_BREAK -case 174: +case 180:  YY_RULE_SETUP -#line 345 "glsl_lexer.lpp" +#line 365 "glsl_lexer.lpp"  TOKEN_OR_IDENTIFIER(130, ROW_MAJOR);  	YY_BREAK -case 175: +case 181:  YY_RULE_SETUP -#line 347 "glsl_lexer.lpp" +#line 367 "glsl_lexer.lpp"  {  			    struct _mesa_glsl_parse_state *state = yyextra;  			    void *ctx = state;	 @@ -2245,19 +2320,20 @@ YY_RULE_SETUP  			    return IDENTIFIER;  			}  	YY_BREAK -case 176: +case 182:  YY_RULE_SETUP -#line 354 "glsl_lexer.lpp" +#line 374 "glsl_lexer.lpp"  { return yytext[0]; }  	YY_BREAK -case 177: +case 183:  YY_RULE_SETUP -#line 356 "glsl_lexer.lpp" +#line 376 "glsl_lexer.lpp"  ECHO;  	YY_BREAK -#line 2259 "glsl_lexer.cpp" +#line 2334 "glsl_lexer.cpp"  case YY_STATE_EOF(INITIAL):  case YY_STATE_EOF(PP): +case YY_STATE_EOF(PRAGMA):  	yyterminate();  	case YY_END_OF_BUFFER: @@ -2552,7 +2628,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 >= 668 ) +			if ( yy_current_state >= 708 )  				yy_c = yy_meta[(unsigned int) yy_c];  			}  		yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2581,11 +2657,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 >= 668 ) +		if ( yy_current_state >= 708 )  			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 == 667); +	yy_is_jam = (yy_current_state == 707);  	return yy_is_jam ? 0 : yy_current_state;  } @@ -3397,7 +3473,7 @@ void _mesa_glsl_free (void * ptr , yyscan_t yyscanner)  #define YYTABLES_NAME "yytables" -#line 356 "glsl_lexer.lpp" +#line 376 "glsl_lexer.lpp" diff --git a/src/glsl/glsl_parser.cpp b/src/glsl/glsl_parser.cpp index 188d128526..e36bb03c43 100644 --- a/src/glsl/glsl_parser.cpp +++ b/src/glsl/glsl_parser.cpp @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.3.  */ + +/* A Bison parser, made by GNU Bison 2.4.1.  */  /* Skeleton implementation for Bison's Yacc-like parsers in C -      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -   2009, 2010 Free Software Foundation, Inc. +      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +   Free Software Foundation, Inc.     This program is free software: you can redistribute it and/or modify     it under the terms of the GNU General Public License as published by @@ -45,7 +46,7 @@  #define YYBISON 1  /* Bison version.  */ -#define YYBISON_VERSION "2.4.3" +#define YYBISON_VERSION "2.4.1"  /* Skeleton name.  */  #define YYSKELETON_NAME "yacc.c" @@ -113,7 +114,7 @@  /* Line 189 of yacc.c  */ -#line 117 "glsl_parser.cpp" +#line 118 "glsl_parser.cpp"  /* Enabling traces.  */  #ifndef YYDEBUG @@ -249,82 +250,85 @@       VERSION = 364,       EXTENSION = 365,       LINE = 366, -     PRAGMA = 367, -     COLON = 368, -     EOL = 369, -     INTERFACE = 370, -     OUTPUT = 371, -     LAYOUT_TOK = 372, -     ASM = 373, -     CLASS = 374, -     UNION = 375, -     ENUM = 376, -     TYPEDEF = 377, -     TEMPLATE = 378, -     THIS = 379, -     PACKED_TOK = 380, -     GOTO = 381, -     INLINE_TOK = 382, -     NOINLINE = 383, -     VOLATILE = 384, -     PUBLIC_TOK = 385, -     STATIC = 386, -     EXTERN = 387, -     EXTERNAL = 388, -     LONG_TOK = 389, -     SHORT_TOK = 390, -     DOUBLE_TOK = 391, -     HALF = 392, -     FIXED_TOK = 393, -     UNSIGNED = 394, -     INPUT_TOK = 395, -     OUPTUT = 396, -     HVEC2 = 397, -     HVEC3 = 398, -     HVEC4 = 399, -     DVEC2 = 400, -     DVEC3 = 401, -     DVEC4 = 402, -     FVEC2 = 403, -     FVEC3 = 404, -     FVEC4 = 405, -     SAMPLER2DRECT = 406, -     SAMPLER3DRECT = 407, -     SAMPLER2DRECTSHADOW = 408, -     SIZEOF = 409, -     CAST = 410, -     NAMESPACE = 411, -     USING = 412, -     ERROR_TOK = 413, -     COMMON = 414, -     PARTITION = 415, -     ACTIVE = 416, -     SAMPLERBUFFER = 417, -     FILTER = 418, -     IMAGE1D = 419, -     IMAGE2D = 420, -     IMAGE3D = 421, -     IMAGECUBE = 422, -     IMAGE1DARRAY = 423, -     IMAGE2DARRAY = 424, -     IIMAGE1D = 425, -     IIMAGE2D = 426, -     IIMAGE3D = 427, -     IIMAGECUBE = 428, -     IIMAGE1DARRAY = 429, -     IIMAGE2DARRAY = 430, -     UIMAGE1D = 431, -     UIMAGE2D = 432, -     UIMAGE3D = 433, -     UIMAGECUBE = 434, -     UIMAGE1DARRAY = 435, -     UIMAGE2DARRAY = 436, -     IMAGE1DSHADOW = 437, -     IMAGE2DSHADOW = 438, -     IMAGEBUFFER = 439, -     IIMAGEBUFFER = 440, -     UIMAGEBUFFER = 441, -     ROW_MAJOR = 442 +     COLON = 367, +     EOL = 368, +     INTERFACE = 369, +     OUTPUT = 370, +     PRAGMA_DEBUG_ON = 371, +     PRAGMA_DEBUG_OFF = 372, +     PRAGMA_OPTIMIZE_ON = 373, +     PRAGMA_OPTIMIZE_OFF = 374, +     LAYOUT_TOK = 375, +     ASM = 376, +     CLASS = 377, +     UNION = 378, +     ENUM = 379, +     TYPEDEF = 380, +     TEMPLATE = 381, +     THIS = 382, +     PACKED_TOK = 383, +     GOTO = 384, +     INLINE_TOK = 385, +     NOINLINE = 386, +     VOLATILE = 387, +     PUBLIC_TOK = 388, +     STATIC = 389, +     EXTERN = 390, +     EXTERNAL = 391, +     LONG_TOK = 392, +     SHORT_TOK = 393, +     DOUBLE_TOK = 394, +     HALF = 395, +     FIXED_TOK = 396, +     UNSIGNED = 397, +     INPUT_TOK = 398, +     OUPTUT = 399, +     HVEC2 = 400, +     HVEC3 = 401, +     HVEC4 = 402, +     DVEC2 = 403, +     DVEC3 = 404, +     DVEC4 = 405, +     FVEC2 = 406, +     FVEC3 = 407, +     FVEC4 = 408, +     SAMPLER2DRECT = 409, +     SAMPLER3DRECT = 410, +     SAMPLER2DRECTSHADOW = 411, +     SIZEOF = 412, +     CAST = 413, +     NAMESPACE = 414, +     USING = 415, +     ERROR_TOK = 416, +     COMMON = 417, +     PARTITION = 418, +     ACTIVE = 419, +     SAMPLERBUFFER = 420, +     FILTER = 421, +     IMAGE1D = 422, +     IMAGE2D = 423, +     IMAGE3D = 424, +     IMAGECUBE = 425, +     IMAGE1DARRAY = 426, +     IMAGE2DARRAY = 427, +     IIMAGE1D = 428, +     IIMAGE2D = 429, +     IIMAGE3D = 430, +     IIMAGECUBE = 431, +     IIMAGE1DARRAY = 432, +     IIMAGE2DARRAY = 433, +     UIMAGE1D = 434, +     UIMAGE2D = 435, +     UIMAGE3D = 436, +     UIMAGECUBE = 437, +     UIMAGE1DARRAY = 438, +     UIMAGE2DARRAY = 439, +     IMAGE1DSHADOW = 440, +     IMAGE2DSHADOW = 441, +     IMAGEBUFFER = 442, +     IIMAGEBUFFER = 443, +     UIMAGEBUFFER = 444, +     ROW_MAJOR = 445     };  #endif @@ -366,7 +370,7 @@ typedef union YYSTYPE  /* Line 214 of yacc.c  */ -#line 370 "glsl_parser.cpp" +#line 374 "glsl_parser.cpp"  } YYSTYPE;  # define YYSTYPE_IS_TRIVIAL 1  # define yystype YYSTYPE /* obsolescent; will be withdrawn */ @@ -391,7 +395,7 @@ typedef struct YYLTYPE  /* Line 264 of yacc.c  */ -#line 395 "glsl_parser.cpp" +#line 399 "glsl_parser.cpp"  #ifdef short  # undef short @@ -441,7 +445,7 @@ typedef short int yytype_int16;  #define YYSIZE_MAXIMUM ((YYSIZE_T) -1)  #ifndef YY_ -# if defined YYENABLE_NLS && YYENABLE_NLS +# if YYENABLE_NLS  #  if ENABLE_NLS  #   include <libintl.h> /* INFRINGES ON USER NAME SPACE */  #   define YY_(msgid) dgettext ("bison-runtime", msgid) @@ -608,20 +612,20 @@ union yyalloc  /* YYFINAL -- State number of the termination state.  */  #define YYFINAL  5  /* YYLAST -- Last index in YYTABLE.  */ -#define YYLAST   4096 +#define YYLAST   4115  /* YYNTOKENS -- Number of terminals.  */ -#define YYNTOKENS  212 +#define YYNTOKENS  215  /* YYNNTS -- Number of nonterminals.  */ -#define YYNNTS  89 +#define YYNNTS  90  /* YYNRULES -- Number of rules.  */ -#define YYNRULES  273 +#define YYNRULES  278  /* YYNRULES -- Number of states.  */ -#define YYNSTATES  410 +#define YYNSTATES  419  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  #define YYUNDEFTOK  2 -#define YYMAXUTOK   442 +#define YYMAXUTOK   445  #define YYTRANSLATE(YYX)						\    ((unsigned int) (YYX) <= YYMAXUTOK ? yytranslate[YYX] : YYUNDEFTOK) @@ -632,16 +636,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,   196,     2,     2,     2,   200,   203,     2, -     188,   189,   198,   194,   193,   195,   192,   199,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,   207,   209, -     201,   208,   202,   206,     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,     2,     2,     2,     2,     2,     2,     2,         2,     2,     2,     2,     2,     2,     2,     2,     2,     2, -       2,   190,     2,   191,   204,     2,     2,     2,     2,     2, +       2,   193,     2,   194,   207,     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,   210,   205,   211,   197,     2,     2,     2, +       2,     2,     2,   213,   208,   214,   200,     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, @@ -673,7 +677,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 +     185,   186,   187,   188,   189,   190  };  #if YYDEBUG @@ -681,151 +685,153 @@ static const yytype_uint8 yytranslate[] =     YYRHS.  */  static const yytype_uint16 yyprhs[] =  { -       0,     0,     3,     4,     9,    10,    14,    15,    18,    24, -      26,    29,    31,    33,    35,    37,    39,    41,    45,    47, -      52,    54,    58,    61,    64,    66,    68,    70,    74,    77, -      80,    83,    85,    88,    92,    95,    97,    99,   101,   103, -     106,   109,   112,   114,   116,   118,   120,   122,   126,   130, -     134,   136,   140,   144,   146,   150,   154,   156,   160,   164, -     168,   172,   174,   178,   182,   184,   188,   190,   194,   196, -     200,   202,   206,   208,   212,   214,   218,   220,   226,   228, -     232,   234,   236,   238,   240,   242,   244,   246,   248,   250, -     252,   254,   256,   260,   262,   265,   268,   273,   276,   278, -     280,   283,   287,   291,   294,   300,   304,   307,   311,   314, -     315,   317,   319,   321,   323,   325,   329,   335,   342,   350, -     359,   365,   367,   370,   375,   381,   388,   396,   401,   404, -     406,   409,   410,   412,   417,   419,   423,   425,   427,   429, -     431,   433,   435,   438,   441,   443,   445,   448,   451,   454, -     456,   459,   462,   464,   466,   469,   471,   475,   480,   482, -     484,   486,   488,   490,   492,   494,   496,   498,   500,   502, -     504,   506,   508,   510,   512,   514,   516,   518,   520,   522, -     524,   526,   528,   530,   532,   534,   536,   538,   540,   542, -     544,   546,   548,   550,   552,   554,   556,   558,   560,   562, -     564,   566,   568,   570,   572,   574,   576,   578,   580,   582, -     584,   586,   588,   590,   592,   594,   600,   605,   607,   610, -     614,   616,   620,   622,   627,   629,   631,   633,   635,   637, -     639,   641,   643,   645,   647,   649,   651,   653,   655,   658, -     662,   664,   666,   669,   673,   675,   678,   680,   683,   691, -     697,   703,   711,   713,   718,   724,   728,   731,   737,   745, -     752,   754,   756,   758,   759,   762,   766,   769,   772,   775, -     779,   782,   784,   786 +       0,     0,     3,     4,     9,    10,    14,    17,    20,    23, +      26,    27,    30,    36,    38,    41,    43,    45,    47,    49, +      51,    53,    57,    59,    64,    66,    70,    73,    76,    78, +      80,    82,    86,    89,    92,    95,    97,   100,   104,   107, +     109,   111,   113,   115,   118,   121,   124,   126,   128,   130, +     132,   134,   138,   142,   146,   148,   152,   156,   158,   162, +     166,   168,   172,   176,   180,   184,   186,   190,   194,   196, +     200,   202,   206,   208,   212,   214,   218,   220,   224,   226, +     230,   232,   238,   240,   244,   246,   248,   250,   252,   254, +     256,   258,   260,   262,   264,   266,   268,   272,   274,   277, +     280,   285,   288,   290,   292,   295,   299,   303,   306,   312, +     316,   319,   323,   326,   327,   329,   331,   333,   335,   337, +     341,   347,   354,   362,   371,   377,   379,   382,   387,   393, +     400,   408,   413,   416,   418,   421,   422,   424,   429,   431, +     435,   437,   439,   441,   443,   445,   447,   450,   453,   455, +     457,   460,   463,   466,   468,   471,   474,   476,   478,   481, +     483,   487,   492,   494,   496,   498,   500,   502,   504,   506, +     508,   510,   512,   514,   516,   518,   520,   522,   524,   526, +     528,   530,   532,   534,   536,   538,   540,   542,   544,   546, +     548,   550,   552,   554,   556,   558,   560,   562,   564,   566, +     568,   570,   572,   574,   576,   578,   580,   582,   584,   586, +     588,   590,   592,   594,   596,   598,   600,   602,   604,   606, +     612,   617,   619,   622,   626,   628,   632,   634,   639,   641, +     643,   645,   647,   649,   651,   653,   655,   657,   659,   661, +     663,   665,   667,   670,   674,   676,   678,   681,   685,   687, +     690,   692,   695,   703,   709,   715,   723,   725,   730,   736, +     740,   743,   749,   757,   764,   766,   768,   770,   771,   774, +     778,   781,   784,   787,   791,   794,   796,   798,   800  };  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */  static const yytype_int16 yyrhs[] =  { -     213,     0,    -1,    -1,   215,   216,   214,   218,    -1,    -1, -     109,    78,   114,    -1,    -1,   216,   217,    -1,   110,    76, -     113,    76,   114,    -1,   299,    -1,   218,   299,    -1,    76, -      -1,   219,    -1,    78,    -1,    79,    -1,    77,    -1,    80, -      -1,   188,   246,   189,    -1,   220,    -1,   221,   190,   222, -     191,    -1,   223,    -1,   221,   192,    76,    -1,   221,    84, -      -1,   221,    85,    -1,   246,    -1,   224,    -1,   225,    -1, -     221,   192,   225,    -1,   227,   189,    -1,   226,   189,    -1, -     228,    74,    -1,   228,    -1,   228,   244,    -1,   227,   193, -     244,    -1,   229,   188,    -1,   268,    -1,    76,    -1,    81, -      -1,   221,    -1,    84,   230,    -1,    85,   230,    -1,   231, -     230,    -1,   194,    -1,   195,    -1,   196,    -1,   197,    -1, -     230,    -1,   232,   198,   230,    -1,   232,   199,   230,    -1, -     232,   200,   230,    -1,   232,    -1,   233,   194,   232,    -1, -     233,   195,   232,    -1,   233,    -1,   234,    82,   233,    -1, -     234,    83,   233,    -1,   234,    -1,   235,   201,   234,    -1, -     235,   202,   234,    -1,   235,    86,   234,    -1,   235,    87, -     234,    -1,   235,    -1,   236,    88,   235,    -1,   236,    89, -     235,    -1,   236,    -1,   237,   203,   236,    -1,   237,    -1, -     238,   204,   237,    -1,   238,    -1,   239,   205,   238,    -1, -     239,    -1,   240,    90,   239,    -1,   240,    -1,   241,    92, -     240,    -1,   241,    -1,   242,    91,   241,    -1,   242,    -1, -     242,   206,   246,   207,   244,    -1,   243,    -1,   230,   245, -     244,    -1,   208,    -1,    93,    -1,    94,    -1,    96,    -1, -      95,    -1,   102,    -1,    97,    -1,    98,    -1,    99,    -1, -     100,    -1,   101,    -1,   244,    -1,   246,   193,   244,    -1, -     243,    -1,   249,   209,    -1,   257,   209,    -1,   108,   272, -     269,   209,    -1,   250,   189,    -1,   252,    -1,   251,    -1, -     252,   254,    -1,   251,   193,   254,    -1,   259,    76,   188, -      -1,   268,    76,    -1,   268,    76,   190,   247,   191,    -1, -     265,   255,   253,    -1,   255,   253,    -1,   265,   255,   256, -      -1,   255,   256,    -1,    -1,    33,    -1,    34,    -1,    35, -      -1,   268,    -1,   258,    -1,   257,   193,    76,    -1,   257, -     193,    76,   190,   191,    -1,   257,   193,    76,   190,   247, -     191,    -1,   257,   193,    76,   190,   191,   208,   278,    -1, -     257,   193,    76,   190,   247,   191,   208,   278,    -1,   257, -     193,    76,   208,   278,    -1,   259,    -1,   259,    76,    -1, -     259,    76,   190,   191,    -1,   259,    76,   190,   247,   191, -      -1,   259,    76,   190,   191,   208,   278,    -1,   259,    76, -     190,   247,   191,   208,   278,    -1,   259,    76,   208,   278, -      -1,   103,    76,    -1,   268,    -1,   266,   268,    -1,    -1, -     261,    -1,   117,   188,   262,   189,    -1,   263,    -1,   262, -     193,   263,    -1,    76,    -1,    40,    -1,    39,    -1,    38, -      -1,     4,    -1,   267,    -1,   264,   266,    -1,   103,   266, -      -1,     4,    -1,     3,    -1,   260,    37,    -1,    32,    37, -      -1,   260,    33,    -1,    34,    -1,    32,    33,    -1,    32, -      34,    -1,    36,    -1,   269,    -1,   272,   269,    -1,   270, -      -1,   270,   190,   191,    -1,   270,   190,   247,   191,    -1, -     271,    -1,   273,    -1,    76,    -1,    74,    -1,     6,    -1, -       7,    -1,     8,    -1,     5,    -1,    29,    -1,    30,    -1, -      31,    -1,    20,    -1,    21,    -1,    22,    -1,    23,    -1, -      24,    -1,    25,    -1,    26,    -1,    27,    -1,    28,    -1, -      41,    -1,    42,    -1,    43,    -1,    44,    -1,    45,    -1, -      46,    -1,    47,    -1,    48,    -1,    49,    -1,    50,    -1, -      51,    -1,   151,    -1,    52,    -1,    53,    -1,    54,    -1, -      55,    -1,   153,    -1,    56,    -1,    57,    -1,    58,    -1, -      59,    -1,    60,    -1,    61,    -1,    62,    -1,    63,    -1, -      64,    -1,    65,    -1,    66,    -1,    67,    -1,    68,    -1, -      69,    -1,    70,    -1,    71,    -1,    72,    -1,   106,    -1, -     105,    -1,   104,    -1,    73,    76,   210,   274,   211,    -1, -      73,   210,   274,   211,    -1,   275,    -1,   274,   275,    -1, -     268,   276,   209,    -1,   277,    -1,   276,   193,   277,    -1, -      76,    -1,    76,   190,   247,   191,    -1,   244,    -1,   248, -      -1,   281,    -1,   282,    -1,   284,    -1,   283,    -1,   290, -      -1,   279,    -1,   288,    -1,   289,    -1,   292,    -1,   293, -      -1,   294,    -1,   298,    -1,   210,   211,    -1,   210,   287, -     211,    -1,   286,    -1,   283,    -1,   210,   211,    -1,   210, -     287,   211,    -1,   280,    -1,   287,   280,    -1,   209,    -1, -     246,   209,    -1,    14,   188,   246,   189,   281,    12,   281, -      -1,    14,   188,   246,   189,   281,    -1,    14,   188,   246, -     189,   282,    -1,    14,   188,   246,   189,   281,    12,   282, -      -1,   246,    -1,   259,    76,   208,   278,    -1,    17,   188, -     246,   189,   284,    -1,    18,   246,   207,    -1,    19,   207, -      -1,    75,   188,   291,   189,   285,    -1,    11,   280,    75, -     188,   246,   189,   209,    -1,    13,   188,   295,   297,   189, -     285,    -1,   288,    -1,   279,    -1,   291,    -1,    -1,   296, -     209,    -1,   296,   209,   246,    -1,    10,   209,    -1,     9, -     209,    -1,    16,   209,    -1,    16,   246,   209,    -1,    15, -     209,    -1,   300,    -1,   248,    -1,   249,   286,    -1 +     216,     0,    -1,    -1,   218,   220,   217,   222,    -1,    -1, +     109,    78,   113,    -1,   116,   113,    -1,   117,   113,    -1, +     118,   113,    -1,   119,   113,    -1,    -1,   220,   221,    -1, +     110,    76,   112,    76,   113,    -1,   303,    -1,   222,   303, +      -1,    76,    -1,   223,    -1,    78,    -1,    79,    -1,    77, +      -1,    80,    -1,   191,   250,   192,    -1,   224,    -1,   225, +     193,   226,   194,    -1,   227,    -1,   225,   195,    76,    -1, +     225,    84,    -1,   225,    85,    -1,   250,    -1,   228,    -1, +     229,    -1,   225,   195,   229,    -1,   231,   192,    -1,   230, +     192,    -1,   232,    74,    -1,   232,    -1,   232,   248,    -1, +     231,   196,   248,    -1,   233,   191,    -1,   272,    -1,    76, +      -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, +      96,    -1,    95,    -1,   102,    -1,    97,    -1,    98,    -1, +      99,    -1,   100,    -1,   101,    -1,   248,    -1,   250,   196, +     248,    -1,   247,    -1,   253,   212,    -1,   261,   212,    -1, +     108,   276,   273,   212,    -1,   254,   192,    -1,   256,    -1, +     255,    -1,   256,   258,    -1,   255,   196,   258,    -1,   263, +      76,   191,    -1,   272,    76,    -1,   272,    76,   193,   251, +     194,    -1,   269,   259,   257,    -1,   259,   257,    -1,   269, +     259,   260,    -1,   259,   260,    -1,    -1,    33,    -1,    34, +      -1,    35,    -1,   272,    -1,   262,    -1,   261,   196,    76, +      -1,   261,   196,    76,   193,   194,    -1,   261,   196,    76, +     193,   251,   194,    -1,   261,   196,    76,   193,   194,   211, +     282,    -1,   261,   196,    76,   193,   251,   194,   211,   282, +      -1,   261,   196,    76,   211,   282,    -1,   263,    -1,   263, +      76,    -1,   263,    76,   193,   194,    -1,   263,    76,   193, +     251,   194,    -1,   263,    76,   193,   194,   211,   282,    -1, +     263,    76,   193,   251,   194,   211,   282,    -1,   263,    76, +     211,   282,    -1,   103,    76,    -1,   272,    -1,   270,   272, +      -1,    -1,   265,    -1,   120,   191,   266,   192,    -1,   267, +      -1,   266,   196,   267,    -1,    76,    -1,    40,    -1,    39, +      -1,    38,    -1,     4,    -1,   271,    -1,   268,   270,    -1, +     103,   270,    -1,     4,    -1,     3,    -1,   264,    37,    -1, +      32,    37,    -1,   264,    33,    -1,    34,    -1,    32,    33, +      -1,    32,    34,    -1,    36,    -1,   273,    -1,   276,   273, +      -1,   274,    -1,   274,   193,   194,    -1,   274,   193,   251, +     194,    -1,   275,    -1,   277,    -1,    76,    -1,    74,    -1, +       6,    -1,     7,    -1,     8,    -1,     5,    -1,    29,    -1, +      30,    -1,    31,    -1,    20,    -1,    21,    -1,    22,    -1, +      23,    -1,    24,    -1,    25,    -1,    26,    -1,    27,    -1, +      28,    -1,    41,    -1,    42,    -1,    43,    -1,    44,    -1, +      45,    -1,    46,    -1,    47,    -1,    48,    -1,    49,    -1, +      50,    -1,    51,    -1,   154,    -1,    52,    -1,    53,    -1, +      54,    -1,    55,    -1,   156,    -1,    56,    -1,    57,    -1, +      58,    -1,    59,    -1,    60,    -1,    61,    -1,    62,    -1, +      63,    -1,    64,    -1,    65,    -1,    66,    -1,    67,    -1, +      68,    -1,    69,    -1,    70,    -1,    71,    -1,    72,    -1, +     106,    -1,   105,    -1,   104,    -1,    73,    76,   213,   278, +     214,    -1,    73,   213,   278,   214,    -1,   279,    -1,   278, +     279,    -1,   272,   280,   212,    -1,   281,    -1,   280,   196, +     281,    -1,    76,    -1,    76,   193,   251,   194,    -1,   248, +      -1,   252,    -1,   285,    -1,   286,    -1,   288,    -1,   287, +      -1,   294,    -1,   283,    -1,   292,    -1,   293,    -1,   296, +      -1,   297,    -1,   298,    -1,   302,    -1,   213,   214,    -1, +     213,   291,   214,    -1,   290,    -1,   287,    -1,   213,   214, +      -1,   213,   291,   214,    -1,   284,    -1,   291,   284,    -1, +     212,    -1,   250,   212,    -1,    14,   191,   250,   192,   285, +      12,   285,    -1,    14,   191,   250,   192,   285,    -1,    14, +     191,   250,   192,   286,    -1,    14,   191,   250,   192,   285, +      12,   286,    -1,   250,    -1,   263,    76,   211,   282,    -1, +      17,   191,   250,   192,   288,    -1,    18,   250,   210,    -1, +      19,   210,    -1,    75,   191,   295,   192,   289,    -1,    11, +     284,    75,   191,   250,   192,   212,    -1,    13,   191,   299, +     301,   192,   289,    -1,   292,    -1,   283,    -1,   295,    -1, +      -1,   300,   212,    -1,   300,   212,   250,    -1,    10,   212, +      -1,     9,   212,    -1,    16,   212,    -1,    16,   250,   212, +      -1,    15,   212,    -1,   304,    -1,   252,    -1,   219,    -1, +     253,   290,    -1  };  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */  static const yytype_uint16 yyrline[] =  { -       0,   209,   209,   208,   217,   221,   239,   241,   245,   254, -     262,   273,   277,   284,   291,   298,   305,   312,   319,   320, -     326,   330,   337,   343,   352,   356,   360,   361,   370,   371, -     375,   376,   380,   386,   398,   402,   408,   415,   426,   427, -     433,   439,   449,   450,   451,   452,   456,   457,   463,   469, -     478,   479,   485,   494,   495,   501,   510,   511,   517,   523, -     529,   538,   539,   545,   554,   555,   564,   565,   574,   575, -     584,   585,   594,   595,   604,   605,   614,   615,   624,   625, -     634,   635,   636,   637,   638,   639,   640,   641,   642,   643, -     644,   648,   652,   668,   672,   676,   680,   694,   698,   699, -     703,   708,   716,   727,   737,   752,   759,   764,   775,   787, -     788,   789,   790,   794,   798,   799,   808,   817,   826,   835, -     844,   857,   868,   877,   886,   895,   904,   913,   922,   936, -     943,   954,   955,   959,   966,   967,   974,  1008,  1009,  1010, -    1014,  1018,  1019,  1023,  1031,  1032,  1033,  1034,  1035,  1036, -    1037,  1038,  1039,  1043,  1044,  1052,  1053,  1059,  1068,  1074, -    1080,  1089,  1090,  1091,  1092,  1093,  1094,  1095,  1096,  1097, -    1098,  1099,  1100,  1101,  1102,  1103,  1104,  1105,  1106,  1107, -    1108,  1109,  1110,  1111,  1112,  1113,  1114,  1115,  1116,  1117, -    1118,  1119,  1120,  1121,  1122,  1123,  1124,  1125,  1126,  1127, -    1128,  1129,  1130,  1131,  1132,  1133,  1134,  1135,  1136,  1137, -    1138,  1139,  1143,  1154,  1165,  1179,  1185,  1194,  1199,  1207, -    1222,  1227,  1235,  1241,  1250,  1254,  1260,  1261,  1265,  1266, -    1270,  1274,  1275,  1276,  1277,  1278,  1279,  1280,  1284,  1290, -    1299,  1300,  1304,  1310,  1319,  1329,  1341,  1347,  1356,  1365, -    1371,  1377,  1386,  1390,  1404,  1408,  1409,  1413,  1420,  1427, -    1437,  1438,  1442,  1444,  1450,  1455,  1464,  1470,  1476,  1482, -    1488,  1497,  1498,  1502 +       0,   211,   211,   210,   219,   223,   242,   243,   244,   245, +     248,   250,   254,   263,   271,   282,   286,   293,   300,   307, +     314,   321,   328,   329,   335,   339,   346,   352,   361,   365, +     369,   370,   379,   380,   384,   385,   389,   395,   407,   411, +     417,   424,   435,   436,   442,   448,   458,   459,   460,   461, +     465,   466,   472,   478,   487,   488,   494,   503,   504,   510, +     519,   520,   526,   532,   538,   547,   548,   554,   563,   564, +     573,   574,   583,   584,   593,   594,   603,   604,   613,   614, +     623,   624,   633,   634,   643,   644,   645,   646,   647,   648, +     649,   650,   651,   652,   653,   657,   661,   677,   681,   685, +     689,   703,   707,   708,   712,   717,   725,   736,   746,   761, +     768,   773,   784,   796,   797,   798,   799,   803,   807,   808, +     817,   826,   835,   844,   853,   866,   877,   886,   895,   904, +     913,   922,   931,   945,   952,   963,   964,   968,   975,   976, +     983,  1017,  1018,  1019,  1023,  1027,  1028,  1032,  1040,  1041, +    1042,  1043,  1044,  1045,  1046,  1047,  1048,  1052,  1053,  1061, +    1062,  1068,  1077,  1083,  1089,  1098,  1099,  1100,  1101,  1102, +    1103,  1104,  1105,  1106,  1107,  1108,  1109,  1110,  1111,  1112, +    1113,  1114,  1115,  1116,  1117,  1118,  1119,  1120,  1121,  1122, +    1123,  1124,  1125,  1126,  1127,  1128,  1129,  1130,  1131,  1132, +    1133,  1134,  1135,  1136,  1137,  1138,  1139,  1140,  1141,  1142, +    1143,  1144,  1145,  1146,  1147,  1148,  1152,  1163,  1174,  1188, +    1194,  1203,  1208,  1216,  1231,  1236,  1244,  1250,  1259,  1263, +    1269,  1270,  1274,  1275,  1279,  1283,  1284,  1285,  1286,  1287, +    1288,  1289,  1293,  1299,  1308,  1309,  1313,  1319,  1328,  1338, +    1350,  1356,  1365,  1374,  1380,  1386,  1395,  1399,  1413,  1417, +    1418,  1422,  1429,  1436,  1446,  1447,  1451,  1453,  1459,  1464, +    1473,  1479,  1485,  1491,  1497,  1506,  1507,  1508,  1512  };  #endif @@ -854,23 +860,25 @@ static const char *const yytname[] =    "DIV_ASSIGN", "ADD_ASSIGN", "MOD_ASSIGN", "LEFT_ASSIGN", "RIGHT_ASSIGN",    "AND_ASSIGN", "XOR_ASSIGN", "OR_ASSIGN", "SUB_ASSIGN", "INVARIANT",    "LOWP", "MEDIUMP", "HIGHP", "SUPERP", "PRECISION", "VERSION", -  "EXTENSION", "LINE", "PRAGMA", "COLON", "EOL", "INTERFACE", "OUTPUT", -  "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM", "TYPEDEF", "TEMPLATE", -  "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK", "NOINLINE", "VOLATILE", -  "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL", "LONG_TOK", "SHORT_TOK", -  "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED", "INPUT_TOK", "OUPTUT", -  "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3", "DVEC4", "FVEC2", "FVEC3", -  "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT", "SAMPLER2DRECTSHADOW", -  "SIZEOF", "CAST", "NAMESPACE", "USING", "ERROR_TOK", "COMMON", -  "PARTITION", "ACTIVE", "SAMPLERBUFFER", "FILTER", "IMAGE1D", "IMAGE2D", -  "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY", "IMAGE2DARRAY", "IIMAGE1D", -  "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE", "IIMAGE1DARRAY", "IIMAGE2DARRAY", -  "UIMAGE1D", "UIMAGE2D", "UIMAGE3D", "UIMAGECUBE", "UIMAGE1DARRAY", -  "UIMAGE2DARRAY", "IMAGE1DSHADOW", "IMAGE2DSHADOW", "IMAGEBUFFER", -  "IIMAGEBUFFER", "UIMAGEBUFFER", "ROW_MAJOR", "'('", "')'", "'['", "']'", -  "'.'", "','", "'+'", "'-'", "'!'", "'~'", "'*'", "'/'", "'%'", "'<'", -  "'>'", "'&'", "'^'", "'|'", "'?'", "':'", "'='", "';'", "'{'", "'}'", -  "$accept", "translation_unit", "$@1", "version_statement", +  "EXTENSION", "LINE", "COLON", "EOL", "INTERFACE", "OUTPUT", +  "PRAGMA_DEBUG_ON", "PRAGMA_DEBUG_OFF", "PRAGMA_OPTIMIZE_ON", +  "PRAGMA_OPTIMIZE_OFF", "LAYOUT_TOK", "ASM", "CLASS", "UNION", "ENUM", +  "TYPEDEF", "TEMPLATE", "THIS", "PACKED_TOK", "GOTO", "INLINE_TOK", +  "NOINLINE", "VOLATILE", "PUBLIC_TOK", "STATIC", "EXTERN", "EXTERNAL", +  "LONG_TOK", "SHORT_TOK", "DOUBLE_TOK", "HALF", "FIXED_TOK", "UNSIGNED", +  "INPUT_TOK", "OUPTUT", "HVEC2", "HVEC3", "HVEC4", "DVEC2", "DVEC3", +  "DVEC4", "FVEC2", "FVEC3", "FVEC4", "SAMPLER2DRECT", "SAMPLER3DRECT", +  "SAMPLER2DRECTSHADOW", "SIZEOF", "CAST", "NAMESPACE", "USING", +  "ERROR_TOK", "COMMON", "PARTITION", "ACTIVE", "SAMPLERBUFFER", "FILTER", +  "IMAGE1D", "IMAGE2D", "IMAGE3D", "IMAGECUBE", "IMAGE1DARRAY", +  "IMAGE2DARRAY", "IIMAGE1D", "IIMAGE2D", "IIMAGE3D", "IIMAGECUBE", +  "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",    "external_declaration_list", "variable_identifier", "primary_expression",    "postfix_expression", "integer_expression", "function_call", @@ -930,77 +938,77 @@ static const yytype_uint16 yytoknum[] =       405,   406,   407,   408,   409,   410,   411,   412,   413,   414,       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,    40,    41, -      91,    93,    46,    44,    43,    45,    33,   126,    42,    47, -      37,    60,    62,    38,    94,   124,    63,    58,    61,    59, -     123,   125 +     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  };  # endif  /* YYR1[YYN] -- Symbol number of symbol that rule YYN derives.  */  static const yytype_uint16 yyr1[] =  { -       0,   212,   214,   213,   215,   215,   216,   216,   217,   218, -     218,   219,   220,   220,   220,   220,   220,   220,   221,   221, -     221,   221,   221,   221,   222,   223,   224,   224,   225,   225, -     226,   226,   227,   227,   228,   229,   229,   229,   230,   230, -     230,   230,   231,   231,   231,   231,   232,   232,   232,   232, -     233,   233,   233,   234,   234,   234,   235,   235,   235,   235, -     235,   236,   236,   236,   237,   237,   238,   238,   239,   239, -     240,   240,   241,   241,   242,   242,   243,   243,   244,   244, -     245,   245,   245,   245,   245,   245,   245,   245,   245,   245, -     245,   246,   246,   247,   248,   248,   248,   249,   250,   250, -     251,   251,   252,   253,   253,   254,   254,   254,   254,   255, -     255,   255,   255,   256,   257,   257,   257,   257,   257,   257, -     257,   258,   258,   258,   258,   258,   258,   258,   258,   259, -     259,   260,   260,   261,   262,   262,   263,   264,   264,   264, -     265,   266,   266,   266,   267,   267,   267,   267,   267,   267, -     267,   267,   267,   268,   268,   269,   269,   269,   270,   270, -     270,   271,   271,   271,   271,   271,   271,   271,   271,   271, -     271,   271,   271,   271,   271,   271,   271,   271,   271,   271, -     271,   271,   271,   271,   271,   271,   271,   271,   271,   271, -     271,   271,   271,   271,   271,   271,   271,   271,   271,   271, -     271,   271,   271,   271,   271,   271,   271,   271,   271,   271, -     271,   271,   272,   272,   272,   273,   273,   274,   274,   275, -     276,   276,   277,   277,   278,   279,   280,   280,   281,   281, -     282,   283,   283,   283,   283,   283,   283,   283,   284,   284, -     285,   285,   286,   286,   287,   287,   288,   288,   289,   290, -     290,   290,   291,   291,   292,   293,   293,   294,   294,   294, -     295,   295,   296,   296,   297,   297,   298,   298,   298,   298, -     298,   299,   299,   300 +       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,   264,   265,   266,   266, +     267,   268,   268,   268,   269,   270,   270,   270,   271,   271, +     271,   271,   271,   271,   271,   271,   271,   272,   272,   273, +     273,   273,   274,   274,   274,   275,   275,   275,   275,   275, +     275,   275,   275,   275,   275,   275,   275,   275,   275,   275, +     275,   275,   275,   275,   275,   275,   275,   275,   275,   275, +     275,   275,   275,   275,   275,   275,   275,   275,   275,   275, +     275,   275,   275,   275,   275,   275,   275,   275,   275,   275, +     275,   275,   275,   275,   275,   275,   276,   276,   276,   277, +     277,   278,   278,   279,   280,   280,   281,   281,   282,   283, +     284,   284,   285,   285,   286,   287,   287,   287,   287,   287, +     287,   287,   288,   288,   289,   289,   290,   290,   291,   291, +     292,   292,   293,   294,   294,   294,   295,   295,   296,   297, +     297,   298,   298,   298,   299,   299,   300,   300,   301,   301, +     302,   302,   302,   302,   302,   303,   303,   303,   304  };  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */  static const yytype_uint8 yyr2[] =  { -       0,     2,     0,     4,     0,     3,     0,     2,     5,     1, -       2,     1,     1,     1,     1,     1,     1,     3,     1,     4, -       1,     3,     2,     2,     1,     1,     1,     3,     2,     2, -       2,     1,     2,     3,     2,     1,     1,     1,     1,     2, -       2,     2,     1,     1,     1,     1,     1,     3,     3,     3, -       1,     3,     3,     1,     3,     3,     1,     3,     3,     3, -       3,     1,     3,     3,     1,     3,     1,     3,     1,     3, -       1,     3,     1,     3,     1,     3,     1,     5,     1,     3, -       1,     1,     1,     1,     1,     1,     1,     1,     1,     1, -       1,     1,     3,     1,     2,     2,     4,     2,     1,     1, -       2,     3,     3,     2,     5,     3,     2,     3,     2,     0, -       1,     1,     1,     1,     1,     3,     5,     6,     7,     8, -       5,     1,     2,     4,     5,     6,     7,     4,     2,     1, -       2,     0,     1,     4,     1,     3,     1,     1,     1,     1, -       1,     1,     2,     2,     1,     1,     2,     2,     2,     1, -       2,     2,     1,     1,     2,     1,     3,     4,     1,     1, +       0,     2,     0,     4,     0,     3,     2,     2,     2,     2, +       0,     2,     5,     1,     2,     1,     1,     1,     1,     1, +       1,     3,     1,     4,     1,     3,     2,     2,     1,     1, +       1,     3,     2,     2,     2,     1,     2,     3,     2,     1, +       1,     1,     1,     2,     2,     2,     1,     1,     1,     1, +       1,     3,     3,     3,     1,     3,     3,     1,     3,     3, +       1,     3,     3,     3,     3,     1,     3,     3,     1,     3, +       1,     3,     1,     3,     1,     3,     1,     3,     1,     3, +       1,     5,     1,     3,     1,     1,     1,     1,     1,     1, +       1,     1,     1,     1,     1,     1,     3,     1,     2,     2, +       4,     2,     1,     1,     2,     3,     3,     2,     5,     3, +       2,     3,     2,     0,     1,     1,     1,     1,     1,     3, +       5,     6,     7,     8,     5,     1,     2,     4,     5,     6, +       7,     4,     2,     1,     2,     0,     1,     4,     1,     3, +       1,     1,     1,     1,     1,     1,     2,     2,     1,     1, +       2,     2,     2,     1,     2,     2,     1,     1,     2,     1, +       3,     4,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1, +       1,     1,     1,     1,     1,     1,     1,     1,     1,     5, +       4,     1,     2,     3,     1,     3,     1,     4,     1,     1,         1,     1,     1,     1,     1,     1,     1,     1,     1,     1, -       1,     1,     1,     1,     1,     5,     4,     1,     2,     3, -       1,     3,     1,     4,     1,     1,     1,     1,     1,     1, -       1,     1,     1,     1,     1,     1,     1,     1,     2,     3, -       1,     1,     2,     3,     1,     2,     1,     2,     7,     5, -       5,     7,     1,     4,     5,     3,     2,     5,     7,     6, -       1,     1,     1,     0,     2,     3,     2,     2,     2,     3, -       2,     1,     1,     2 +       1,     1,     2,     3,     1,     1,     2,     3,     1,     2, +       1,     2,     7,     5,     5,     7,     1,     4,     5,     3, +       2,     5,     7,     6,     1,     1,     1,     0,     2,     3, +       2,     2,     2,     3,     2,     1,     1,     1,     2  };  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -1008,628 +1016,621 @@ static const yytype_uint8 yyr2[] =     means the default is an error.  */  static const yytype_uint16 yydefact[] =  { -       4,     0,     0,     6,     0,     1,     2,     5,     0,   131, -       7,     0,   145,   144,   165,   162,   163,   164,   169,   170, -     171,   172,   173,   174,   175,   176,   177,   166,   167,   168, -       0,   149,   152,   139,   138,   137,   178,   179,   180,   181, -     182,   183,   184,   185,   186,   187,   188,   190,   191,   192, -     193,   195,   196,   197,   198,   199,   200,   201,   202,   203, -     204,   205,   206,   207,   208,   209,   210,   211,     0,   161, -     160,   131,   214,   213,   212,     0,     0,   189,   194,   131, -     272,     0,     0,    99,   109,     0,   114,   121,     0,   132, -     131,     0,   141,   129,   153,   155,   158,     0,   159,     9, -     271,     0,   150,   151,   147,     0,     0,   128,   131,   143, -       0,     0,    10,    94,   131,   273,    97,   109,   140,   110, -     111,   112,   100,     0,   109,     0,    95,   122,   148,   146, -     142,   130,     0,   154,     0,     0,     0,     0,   217,     0, -     136,     0,   134,     0,     0,   131,     0,     0,     0,     0, -       0,     0,     0,     0,    11,    15,    13,    14,    16,    37, -       0,     0,     0,    42,    43,    44,    45,   246,   131,   242, -      12,    18,    38,    20,    25,    26,     0,     0,    31,     0, -      46,     0,    50,    53,    56,    61,    64,    66,    68,    70, -      72,    74,    76,    78,    91,     0,   225,     0,   129,   231, -     244,   226,   227,   229,   228,   131,   232,   233,   230,   234, -     235,   236,   237,   101,   106,   108,   113,     0,   115,   102, -       0,     0,   156,    46,    93,     0,    35,     8,     0,   222, -       0,   220,   216,   218,    96,   133,     0,   267,   266,     0, -     131,     0,   270,   268,     0,     0,     0,   256,   131,    39, -      40,     0,   238,   131,    22,    23,     0,     0,    29,    28, -       0,   161,    32,    34,    81,    82,    84,    83,    86,    87, -      88,    89,    90,    85,    80,     0,    41,     0,     0,     0, +       4,     0,     0,    10,     0,     1,     2,     5,     0,   135, +      11,     0,   149,   148,   169,   166,   167,   168,   173,   174, +     175,   176,   177,   178,   179,   180,   181,   170,   171,   172, +       0,   153,   156,   143,   142,   141,   182,   183,   184,   185, +     186,   187,   188,   189,   190,   191,   192,   194,   195,   196, +     197,   199,   200,   201,   202,   203,   204,   205,   206,   207, +     208,   209,   210,   211,   212,   213,   214,   215,     0,   165, +     164,   135,   218,   217,   216,     0,     0,     0,     0,     0, +       0,   193,   198,   277,   135,   276,     0,     0,   103,   113, +       0,   118,   125,     0,   136,   135,     0,   145,   133,   157, +     159,   162,     0,   163,    13,   275,     0,   154,   155,   151, +       0,     0,   132,   135,   147,     0,     6,     7,     8,     9, +       0,    14,    98,   135,   278,   101,   113,   144,   114,   115, +     116,   104,     0,   113,     0,    99,   126,   152,   150,   146, +     134,     0,   158,     0,     0,     0,     0,   221,     0,   140, +       0,   138,     0,     0,   135,     0,     0,     0,     0,     0, +       0,     0,     0,    15,    19,    17,    18,    20,    41,     0, +       0,     0,    46,    47,    48,    49,   250,   135,   246,    16, +      22,    42,    24,    29,    30,     0,     0,    35,     0,    50, +       0,    54,    57,    60,    65,    68,    70,    72,    74,    76, +      78,    80,    82,    95,     0,   229,     0,   133,   235,   248, +     230,   231,   233,   232,   135,   236,   237,   234,   238,   239, +     240,   241,   105,   110,   112,   117,     0,   119,   106,     0, +       0,   160,    50,    97,     0,    39,    12,     0,   226,     0, +     224,   220,   222,   100,   137,     0,   271,   270,     0,   135, +       0,   274,   272,     0,     0,     0,   260,   135,    43,    44, +       0,   242,   135,    26,    27,     0,     0,    33,    32,     0, +     165,    36,    38,    85,    86,    88,    87,    90,    91,    92, +      93,    94,    89,    84,     0,    45,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,   247,   243, -     245,   103,   105,   107,     0,     0,   123,     0,   224,   127, -     157,   215,     0,     0,   219,   135,     0,   261,   260,   131, -       0,   269,     0,   255,   252,     0,     0,    17,   239,     0, -      24,    21,    27,    33,    79,    47,    48,    49,    51,    52, -      54,    55,    59,    60,    57,    58,    62,    63,    65,    67, -      69,    71,    73,    75,     0,    92,     0,   116,     0,   120, -       0,   124,     0,   221,     0,   262,     0,     0,   131,     0, -       0,   131,    19,     0,     0,     0,   117,   125,     0,   223, -       0,   264,   131,   249,   250,   254,     0,     0,   241,   257, -     240,    77,   104,   118,     0,   126,     0,   265,   259,   131, -     253,     0,   119,   258,   248,   251,     0,   131,     0,   131 +       0,     0,     0,     0,     0,     0,     0,   251,   247,   249, +     107,   109,   111,     0,     0,   127,     0,   228,   131,   161, +     219,     0,     0,   223,   139,     0,   265,   264,   135,     0, +     273,     0,   259,   256,     0,     0,    21,   243,     0,    28, +      25,    31,    37,    83,    51,    52,    53,    55,    56,    58, +      59,    63,    64,    61,    62,    66,    67,    69,    71,    73, +      75,    77,    79,     0,    96,     0,   120,     0,   124,     0, +     128,     0,   225,     0,   266,     0,     0,   135,     0,     0, +     135,    23,     0,     0,     0,   121,   129,     0,   227,     0, +     268,   135,   253,   254,   258,     0,     0,   245,   261,   244, +      81,   108,   122,     0,   130,     0,   269,   263,   135,   257, +       0,   123,   262,   252,   255,     0,   135,     0,   135  };  /* YYDEFGOTO[NTERM-NUM].  */  static const yytype_int16 yydefgoto[] =  { -      -1,     2,     9,     3,     6,    10,    79,   170,   171,   172, -     329,   173,   174,   175,   176,   177,   178,   179,   180,   181, -     182,   183,   184,   185,   186,   187,   188,   189,   190,   191, -     192,   193,   194,   275,   195,   225,   196,   197,    82,    83, -      84,   214,   122,   123,   215,    85,    86,    87,    88,    89, -     141,   142,    90,   124,    91,    92,   226,    94,    95,    96, -      97,    98,   137,   138,   230,   231,   309,   199,   200,   201, -     202,   203,   204,   389,   390,   205,   206,   207,   208,   326, -     209,   210,   211,   319,   366,   367,   212,    99,   100 +      -1,     2,     9,     3,    83,     6,    10,    84,   179,   180, +     181,   338,   182,   183,   184,   185,   186,   187,   188,   189, +     190,   191,   192,   193,   194,   195,   196,   197,   198,   199, +     200,   201,   202,   203,   284,   204,   234,   205,   206,    87, +      88,    89,   223,   131,   132,   224,    90,    91,    92,    93, +      94,   150,   151,    95,   133,    96,    97,   235,    99,   100, +     101,   102,   103,   146,   147,   239,   240,   318,   208,   209, +     210,   211,   212,   213,   398,   399,   214,   215,   216,   217, +     335,   218,   219,   220,   328,   375,   376,   221,   104,   105  };  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing     STATE-NUM.  */ -#define YYPACT_NINF -345 +#define YYPACT_NINF -367  static const yytype_int16 yypact[] =  { -     -30,    29,   120,  -345,    15,  -345,    22,  -345,    59,  3758, -    -345,    25,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345, -    -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345, -      79,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345, -    -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345, -    -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345, -    -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,   -71,  -345, -    -345,   130,  -345,  -345,  -345,   -79,   -42,  -345,  -345,  3642, -    -345,    -5,   -38,   -32,     4,  -181,  -345,    87,    62,  -345, -      27,  3871,  -345,  -345,  -345,   -25,  -345,  3943,  -345,  -345, -    -345,    91,  -345,  -345,  -345,   -37,  3871,  -345,    27,  -345, -    3943,    95,  -345,  -345,   398,  -345,  -345,    19,  -345,  -345, -    -345,  -345,  -345,  3871,     0,   119,  -345,  -128,  -345,  -345, -    -345,  -345,  2752,  -345,    86,  3871,   131,  2153,  -345,    11, -    -345,   -87,  -345,    21,    23,  1234,    40,    50,    36,  2379, -      63,  3286,    43,    64,   -73,  -345,  -345,  -345,  -345,  -345, -    3286,  3286,  3286,  -345,  -345,  -345,  -345,  -345,   607,  -345, -    -345,  -345,   -67,  -345,  -345,  -345,    78,   -62,  3464,    80, -     -53,  3286,    -1,    20,   140,   -80,   136,    66,    67,    65, -     182,   181,   -82,  -345,  -345,  -173,  -345,   103,   125,  -345, -    -345,  -345,  -345,  -345,  -345,   816,  -345,  -345,  -345,  -345, -    -345,  -345,  -345,  -345,  -345,  -345,   198,  3871,  -140,  -345, -    2930,  3286,  -345,  -345,  -345,    84,  -345,  -345,  2266,   124, -    -137,  -345,  -345,  -345,  -345,  -345,    95,  -345,  -345,   240, -    1845,  3286,  -345,  -345,  -118,  3286,  -120,  -345,  2574,  -345, -    -345,   -48,  -345,  1025,  -345,  -345,  3286,   235,  -345,  -345, -    3286,   128,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345, -    -345,  -345,  -345,  -345,  -345,  3286,  -345,  3286,  3286,  3286, -    3286,  3286,  3286,  3286,  3286,  3286,  3286,  3286,  3286,  3286, -    3286,  3286,  3286,  3286,  3286,  3286,  3286,  3286,  -345,  -345, -    -345,   129,  -345,  -345,  3108,  3286,   110,   132,  -345,  -345, -    -345,  -345,  3286,   131,  -345,  -345,   133,  -345,  -345,  2040, -     -46,  -345,   -36,  -345,   127,   246,   135,  -345,  -345,   134, -     127,   138,  -345,  -345,  -345,  -345,  -345,  -345,    -1,    -1, -      20,    20,   140,   140,   140,   140,   -80,   -80,   136,    66, -      67,    65,   182,   181,  -117,  -345,  3286,   121,   137,  -345, -    3286,   122,   141,  -345,  3286,  -345,   118,   142,  1234,   123, -     126,  1442,  -345,  3286,   144,  3286,   139,  -345,  3286,  -345, -     -35,  3286,  1442,   324,  -345,  -345,  3286,   149,  -345,  -345, -    -345,  -345,  -345,  -345,  3286,  -345,   143,   127,  -345,  1234, -    -345,  3286,  -345,  -345,  -345,  -345,   -33,  1650,   326,  1650 +     -88,   -21,    24,  -367,   -53,  -367,    -3,  -367,     9,  3699, +    -367,     0,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367, +    -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367, +     126,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367, +    -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367, +    -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367, +    -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,   -75,  -367, +    -367,    29,  -367,  -367,  -367,    92,     4,    12,    20,    26, +     -49,  -367,  -367,  -367,  3580,  -367,  -197,   -45,   -46,     3, +    -134,  -367,    82,    71,  -367,    52,  3887,  -367,  -367,  -367, +     -29,  -367,  3959,  -367,  -367,  -367,    97,  -367,  -367,  -367, +     -19,  3887,  -367,    52,  -367,  3959,  -367,  -367,  -367,  -367, +     130,  -367,  -367,   282,  -367,  -367,    47,  -367,  -367,  -367, +    -367,  -367,  3887,   187,   139,  -367,  -162,  -367,  -367,  -367, +    -367,  2675,  -367,   105,  3887,   154,  2064,  -367,    23,  -367, +     -62,  -367,    27,    31,  1130,    50,    53,    33,  2296,    55, +    3218,    37,    58,   -67,  -367,  -367,  -367,  -367,  -367,  3218, +    3218,  3218,  -367,  -367,  -367,  -367,  -367,   494,  -367,  -367, +    -367,   -66,  -367,  -367,  -367,    60,   -56,  3399,    64,   -54, +    3218,    22,     6,   118,   -84,   120,    51,    54,    56,   168, +     167,   -83,  -367,  -367,  -103,  -367,    48,    72,  -367,  -367, +    -367,  -367,  -367,  -367,   706,  -367,  -367,  -367,  -367,  -367, +    -367,  -367,  -367,  -367,  -367,   186,  3887,  -139,  -367,  2856, +    3218,  -367,  -367,  -367,    73,  -367,  -367,  2180,    75,  -102, +    -367,  -367,  -367,  -367,  -367,   130,  -367,  -367,   190,  1750, +    3218,  -367,  -367,   -90,  3218,  -146,  -367,  2494,  -367,  -367, +     -48,  -367,   918,  -367,  -367,  3218,  3815,  -367,  -367,  3218, +      74,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367, +    -367,  -367,  -367,  -367,  3218,  -367,  3218,  3218,  3218,  3218, +    3218,  3218,  3218,  3218,  3218,  3218,  3218,  3218,  3218,  3218, +    3218,  3218,  3218,  3218,  3218,  3218,  3218,  -367,  -367,  -367, +      76,  -367,  -367,  3037,  3218,    59,    77,  -367,  -367,  -367, +    -367,  3218,   154,  -367,  -367,    81,  -367,  -367,  1948,   -40, +    -367,   -27,  -367,    78,   197,    83,  -367,  -367,    84,    78, +      85,  -367,  -367,  -367,  -367,  -367,  -367,    22,    22,     6, +       6,   118,   118,   118,   118,   -84,   -84,   120,    51,    54, +      56,   168,   167,   -97,  -367,  3218,    66,    86,  -367,  3218, +      68,    87,  -367,  3218,  -367,    70,    91,  1130,   102,   106, +    1341,  -367,  3218,    90,  3218,   153,  -367,  3218,  -367,   -26, +    3218,  1341,   353,  -367,  -367,  3218,   103,  -367,  -367,  -367, +    -367,  -367,  -367,  3218,  -367,   157,    78,  -367,  1130,  -367, +    3218,  -367,  -367,  -367,  -367,   -25,  1552,   358,  1552  };  /* YYPGOTO[NTERM-NUM].  */  static const yytype_int16 yypgoto[] =  { -    -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345,  -345, -    -345,  -345,  -345,    85,  -345,  -345,  -345,  -345,  -103,  -345, -     -54,   -47,   -74,   -40,    53,    54,    52,    55,    56,    51, -    -345,  -110,  -157,  -345,  -147,  -219,     5,     7,  -345,  -345, -    -345,   146,   232,   227,   147,  -345,  -345,  -238,  -345,  -345, -    -345,   117,  -345,  -345,   -39,  -345,    -9,   -14,  -345,  -345, -     279,  -345,   220,  -124,  -345,    44,  -286,   116,  -134,  -257, -    -344,  -294,   -11,   -22,   280,   197,   145,  -345,  -345,    47, -    -345,  -345,  -345,  -345,  -345,  -345,  -345,   288,  -345 +    -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367,  -367, +    -367,  -367,  -367,  -367,   107,  -367,  -367,  -367,  -367,  -111, +    -367,   -63,   -59,   -82,   -60,    79,    80,    88,    89,    69, +      93,  -367,  -114,  -153,  -367,  -154,  -224,    11,    14,  -367, +    -367,  -367,   148,   249,   243,   151,  -367,  -367,  -245,  -367, +    -367,  -367,   134,  -367,  -367,   -43,  -367,    -9,   -89,  -367, +    -367,   306,  -367,   239,  -136,  -367,    62,  -241,   143,  -143, +    -342,  -355,  -366,    15,     5,   308,   218,   149,  -367,  -367, +      94,  -367,  -367,  -367,  -367,  -367,  -367,  -367,   316,  -367  };  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If     positive, shift that token.  If negative, reduce the rule which     number is the opposite.  If zero, do what YYDEFACT says.     If YYTABLE_NINF, syntax error.  */ -#define YYTABLE_NINF -264 +#define YYTABLE_NINF -268  static const yytype_int16 yytable[] =  { -      93,   307,   244,  -160,   246,   105,   284,   285,   118,   295, -     325,   239,   125,   233,    80,   251,    81,   254,   255,   359, -     297,   262,   224,   118,   384,    72,    73,    74,   126,   223, -      12,    13,   109,   119,   120,   121,   298,   119,   120,   121, -     264,   265,   266,   267,   268,   269,   270,   271,   272,   273, -     304,   130,   119,   120,   121,   405,   313,   249,   250,    30, -     219,    31,   220,    32,   308,    33,    34,    35,   305,   109, -      93,   300,   314,   297,   377,   297,   297,   388,   276,     1, -     221,   325,   131,   133,    80,   358,    81,   323,   388,   393, -     373,   321,   395,   362,   320,   128,   139,   136,   322,   129, -     400,   324,   235,   333,   233,   198,   236,     4,   402,   330, -     224,   383,   102,   103,   216,   -36,   104,   223,   334,   300, -       5,   286,   287,   256,   296,   257,   136,   259,   136,     7, -     108,   260,     8,    12,    13,    11,   198,   374,   101,   106, -     355,   327,   404,   368,    76,   297,   111,   297,   308,   354, -     408,   116,   404,   369,   396,   274,   407,   297,   297,   198, -     297,   117,    30,   127,    31,   132,    32,   134,    33,    34, -      35,   140,   324,   135,   335,   336,   337,   223,   223,   223, -     223,   223,   223,   223,   223,   223,   223,   223,   223,   223, -     223,   223,   223,   -98,   224,   218,   198,   277,   278,   279, -     227,   223,   224,   308,   113,   114,   107,   229,   216,   223, -     342,   343,   344,   345,   280,   281,   391,   380,   308,   136, -     234,   308,   282,   283,   288,   289,   338,   339,   240,   308, -     237,   198,   238,   108,   397,   340,   341,   308,   241,   198, -      14,    15,    16,    17,   198,   242,   224,    76,   346,   347, -     247,   245,   248,   223,   406,    18,    19,    20,    21,    22, -      23,    24,    25,    26,    27,    28,    29,   258,   263,   290, -     292,   291,   293,   294,   301,   310,    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, -     198,   331,   113,   -35,   312,   316,   159,   -30,   360,   356, -     297,   364,   370,   361,   371,   372,   -36,   381,   376,   375, -     378,   382,   379,   168,   386,   392,   399,   401,   409,    72, -      73,    74,   332,   348,   350,   349,   353,   394,   351,   213, -     352,   217,   403,   315,   110,   228,   317,   363,   385,   198, -     398,   115,   198,   302,   303,   253,   365,   112,     0,     0, -       0,     0,     0,   198,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   318,    77,     0,    78,     0, -     198,     0,     0,     0,     0,     0,     0,     0,   198,     0, -     198,    12,    13,    14,    15,    16,    17,   143,   144,   145, -       0,   146,   147,   148,   149,   150,   151,   152,    18,    19, -      20,    21,    22,    23,    24,    25,    26,    27,    28,    29, -      30,     0,    31,     0,    32,     0,    33,    34,    35,    36, -      37,    38,    39,    40,    41,    42,    43,    44,    45,    46, -      47,    48,    49,    50,    51,    52,    53,    54,    55,    56, -      57,    58,    59,    60,    61,    62,    63,    64,    65,    66, -      67,    68,    69,   153,   154,   155,   156,   157,   158,   159, -       0,     0,   160,   161,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,    71,    72,    73,    74,     0,    75,     0,     0,     0, -       0,     0,     0,     0,     0,    76,     0,     0,     0,     0, +      98,   110,   293,   294,   253,   316,   255,   127,   304,  -164, +     242,   248,   334,   142,   397,   122,   123,   260,   263,   264, +      85,     1,   393,    86,     5,   397,   148,   233,   114,   228, +     232,   229,    12,    13,   271,   392,   128,   129,   130,   273, +     274,   275,   276,   277,   278,   279,   280,   281,   282,   230, +     306,   127,   139,   414,   313,    12,    13,     4,   258,   259, +       7,    30,   134,    31,   332,    32,   413,    33,    34,    35, +     114,   309,   314,   368,   417,    98,   413,   317,   135,   285, +     128,   129,   130,   334,    30,    11,    31,   140,    32,   367, +      33,    34,    35,   306,   322,    85,   329,   371,    86,   306, +     331,   242,   145,   333,   137,   112,   306,     8,   138,   307, +     323,   339,   106,   382,   207,   233,   342,   116,   232,   309, +     295,   296,   330,   225,   -40,   117,   305,   265,   386,   266, +     244,   343,   113,   118,   245,   145,   268,   145,   111,   119, +     269,   383,   120,   402,   336,   207,   404,   125,   306,    80, +     126,   363,   377,   364,   409,   113,   306,   283,   136,   107, +     108,   317,   411,   109,   141,   378,   405,   416,   207,   306, +     306,   306,    80,   143,   333,   344,   345,   346,   232,   232, +     232,   232,   232,   232,   232,   232,   232,   232,   232,   232, +     232,   232,   232,   232,   144,  -102,    72,    73,    74,   233, +     291,   292,   232,   289,   290,   207,   149,   233,   297,   298, +     232,   351,   352,   353,   354,   227,   317,   225,   236,   389, +     128,   129,   130,   286,   287,   288,   347,   348,   145,   400, +     238,   317,   349,   350,   317,   243,   406,   355,   356,   246, +     207,   249,   317,   247,   250,   251,   254,   256,   207,   257, +     317,   233,   267,   207,   232,   272,   415,   299,   302,   303, +     122,   300,   310,   -39,   301,   325,   -34,   319,   321,   365, +     369,   370,   373,   379,   306,   380,   -40,   384,   381,   387, +     385,   388,   390,   391,   401,    12,    13,    14,    15,    16, +      17,   152,   153,   154,   410,   155,   156,   157,   158,   159, +     160,   161,    18,    19,    20,    21,    22,    23,    24,    25, +      26,    27,    28,    29,    30,   177,    31,   395,    32,   207, +      33,    34,    35,    36,    37,    38,    39,    40,    41,    42, +      43,    44,    45,    46,    47,    48,    49,    50,    51,    52, +      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, +      63,    64,    65,    66,    67,    68,    69,   162,   163,   164, +     165,   166,   167,   168,   403,   408,   169,   170,   207,   412, +     418,   207,   361,   341,   311,   222,   226,   312,   357,   324, +     358,   115,   207,   237,   372,    71,    72,    73,    74,   359, +      75,   360,   326,   394,   124,   262,   407,   362,   327,   207, +     121,     0,    80,     0,     0,     0,     0,   207,     0,   207,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,   374,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,    81,     0,    82,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,    77, -       0,    78,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   162,     0,     0,     0, -       0,     0,   163,   164,   165,   166,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   167,   168,   169, -      12,    13,    14,    15,    16,    17,   143,   144,   145,     0, -     146,   147,   148,   149,   150,   151,   152,    18,    19,    20, -      21,    22,    23,    24,    25,    26,    27,    28,    29,    30, -       0,    31,     0,    32,     0,    33,    34,    35,    36,    37, -      38,    39,    40,    41,    42,    43,    44,    45,    46,    47, -      48,    49,    50,    51,    52,    53,    54,    55,    56,    57, -      58,    59,    60,    61,    62,    63,    64,    65,    66,    67, -      68,    69,   153,   154,   155,   156,   157,   158,   159,     0, -       0,   160,   161,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,   171,     0,     0,     0,     0,     0,   172, +     173,   174,   175,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,   176,   177,   178,    12,    13,    14, +      15,    16,    17,   152,   153,   154,     0,   155,   156,   157, +     158,   159,   160,   161,    18,    19,    20,    21,    22,    23, +      24,    25,    26,    27,    28,    29,    30,     0,    31,     0, +      32,     0,    33,    34,    35,    36,    37,    38,    39,    40, +      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, +      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, +      61,    62,    63,    64,    65,    66,    67,    68,    69,   162, +     163,   164,   165,   166,   167,   168,     0,     0,   169,   170,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -      71,    72,    73,    74,     0,    75,     0,     0,     0,     0, -       0,     0,     0,     0,    76,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,    71,    72,    73, +      74,     0,    75,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,    80,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    77,     0, -      78,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,    81,     0, +      82,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   162,     0,     0,     0,     0, -       0,   163,   164,   165,   166,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,   167,   168,   252,    12, -      13,    14,    15,    16,    17,   143,   144,   145,     0,   146, -     147,   148,   149,   150,   151,   152,    18,    19,    20,    21, +       0,     0,     0,     0,     0,   171,     0,     0,     0,     0, +       0,   172,   173,   174,   175,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,   176,   177,   261,    12, +      13,    14,    15,    16,    17,   152,   153,   154,     0,   155, +     156,   157,   158,   159,   160,   161,    18,    19,    20,    21,        22,    23,    24,    25,    26,    27,    28,    29,    30,     0,        31,     0,    32,     0,    33,    34,    35,    36,    37,    38,        39,    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,   153,   154,   155,   156,   157,   158,   159,     0,     0, -     160,   161,     0,     0,     0,     0,     0,     0,     0,     0, +      69,   162,   163,   164,   165,   166,   167,   168,     0,     0, +     169,   170,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,    71,        72,    73,    74,     0,    75,     0,     0,     0,     0,     0, -       0,     0,     0,    76,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,    80,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    77,     0,    78,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +      81,     0,    82,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,   162,     0,     0,     0,     0,     0, -     163,   164,   165,   166,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,   167,   168,   299,    12,    13, -      14,    15,    16,    17,   143,   144,   145,     0,   146,   147, -     148,   149,   150,   151,   152,    18,    19,    20,    21,    22, -      23,    24,    25,    26,    27,    28,    29,    30,     0,    31, -       0,    32,     0,    33,    34,    35,    36,    37,    38,    39, -      40,    41,    42,    43,    44,    45,    46,    47,    48,    49, -      50,    51,    52,    53,    54,    55,    56,    57,    58,    59, -      60,    61,    62,    63,    64,    65,    66,    67,    68,    69, -     153,   154,   155,   156,   157,   158,   159,     0,     0,   160, -     161,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    71,    72, -      73,    74,     0,    75,     0,     0,     0,     0,     0,     0, -       0,     0,    76,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,   171,     0,     0, +       0,     0,     0,   172,   173,   174,   175,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,   176,   177, +     308,    12,    13,    14,    15,    16,    17,   152,   153,   154, +       0,   155,   156,   157,   158,   159,   160,   161,    18,    19, +      20,    21,    22,    23,    24,    25,    26,    27,    28,    29, +      30,     0,    31,     0,    32,     0,    33,    34,    35,    36, +      37,    38,    39,    40,    41,    42,    43,    44,    45,    46, +      47,    48,    49,    50,    51,    52,    53,    54,    55,    56, +      57,    58,    59,    60,    61,    62,    63,    64,    65,    66, +      67,    68,    69,   162,   163,   164,   165,   166,   167,   168, +       0,     0,   169,   170,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,    71,    72,    73,    74,     0,    75,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,    80,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,    77,     0,    78,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,    81,     0,    82,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,   162,     0,     0,     0,     0,     0,   163, -     164,   165,   166,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,   167,   168,   328,    12,    13,    14, -      15,    16,    17,   143,   144,   145,     0,   146,   147,   148, -     149,   150,   151,   152,    18,    19,    20,    21,    22,    23, -      24,    25,    26,    27,    28,    29,    30,     0,    31,     0, -      32,     0,    33,    34,    35,    36,    37,    38,    39,    40, -      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, -      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, -      61,    62,    63,    64,    65,    66,    67,    68,    69,   153, -     154,   155,   156,   157,   158,   159,     0,     0,   160,   161,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    71,    72,    73, -      74,     0,    75,     0,     0,     0,     0,     0,     0,     0, -       0,    76,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,   171, +       0,     0,     0,     0,     0,   172,   173,   174,   175,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +     176,   177,   337,    12,    13,    14,    15,    16,    17,   152, +     153,   154,     0,   155,   156,   157,   158,   159,   160,   161, +      18,    19,    20,    21,    22,    23,    24,    25,    26,    27, +      28,    29,    30,     0,    31,     0,    32,     0,    33,    34, +      35,    36,    37,    38,    39,    40,    41,    42,    43,    44, +      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, +      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, +      65,    66,    67,    68,    69,   162,   163,   164,   165,   166, +     167,   168,     0,     0,   169,   170,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,    71,    72,    73,    74,     0,    75,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +      80,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,    81,     0,    82,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,   171,     0,     0,     0,     0,     0,   172,   173,   174, +     175,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,   176,   177,    12,    13,    14,    15,    16,    17, +     152,   153,   154,     0,   155,   396,   157,   158,   159,   160, +     161,    18,    19,    20,    21,    22,    23,    24,    25,    26, +      27,    28,    29,    30,     0,    31,     0,    32,     0,    33, +      34,    35,    36,    37,    38,    39,    40,    41,    42,    43, +      44,    45,    46,    47,    48,    49,    50,    51,    52,    53, +      54,    55,    56,    57,    58,    59,    60,    61,    62,    63, +      64,    65,    66,    67,    68,    69,   162,   163,   164,   165, +     166,   167,   168,     0,     0,   169,   170,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,    71,    72,    73,    74,     0,    75,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    77,     0,    78,     0,     0, +       0,    80,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,    81,     0,    82,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,   162,     0,     0,     0,     0,     0,   163,   164, -     165,   166,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,   167,   168,    12,    13,    14,    15,    16, -      17,   143,   144,   145,     0,   146,   387,   148,   149,   150, -     151,   152,    18,    19,    20,    21,    22,    23,    24,    25, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,   171,     0,     0,     0,     0,     0,   172,   173, +     174,   175,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,   176,   123,    12,    13,    14,    15,    16, +      17,   152,   153,   154,     0,   155,   396,   157,   158,   159, +     160,   161,    18,    19,    20,    21,    22,    23,    24,    25,        26,    27,    28,    29,    30,     0,    31,     0,    32,     0,        33,    34,    35,    36,    37,    38,    39,    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,   153,   154,   155, -     156,   157,   158,   159,     0,     0,   160,   161,     0,     0, +      63,    64,    65,    66,    67,    68,    69,   162,   163,   164, +     165,   166,   167,   168,     0,     0,   169,   170,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,    71,    72,    73,    74,     0, -      75,     0,     0,     0,     0,     0,     0,     0,     0,    76, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +      75,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,    80,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,    77,     0,    78,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,    81,     0,    82,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -     162,     0,     0,     0,     0,     0,   163,   164,   165,   166,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,   167,   114,    12,    13,    14,    15,    16,    17,   143, -     144,   145,     0,   146,   387,   148,   149,   150,   151,   152, +       0,     0,     0,   171,     0,     0,     0,     0,     0,   172, +     173,   174,   175,    12,    13,    14,    15,    16,    17,     0, +       0,     0,     0,     0,   176,   177,     0,     0,     0,     0,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        28,    29,    30,     0,    31,     0,    32,     0,    33,    34,        35,    36,    37,    38,    39,    40,    41,    42,    43,    44,        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,        55,    56,    57,    58,    59,    60,    61,    62,    63,    64, -      65,    66,    67,    68,    69,   153,   154,   155,   156,   157, -     158,   159,     0,     0,   160,   161,     0,     0,     0,     0, +      65,    66,    67,    68,    69,     0,   163,   164,   165,   166, +     167,   168,     0,     0,   169,   170,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,    71,    72,    73,    74,     0,    75,     0, -       0,     0,     0,     0,     0,     0,     0,    76,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +      80,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,    77,     0,    78,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,    81,     0,    82,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,   162,     0, -       0,     0,     0,     0,   163,   164,   165,   166,    12,    13, -      14,    15,    16,    17,     0,     0,     0,     0,     0,   167, -     168,     0,     0,     0,     0,    18,    19,    20,    21,    22, -      23,    24,    25,    26,    27,    28,    29,    30,     0,    31, -       0,    32,     0,    33,    34,    35,    36,    37,    38,    39, -      40,    41,    42,    43,    44,    45,    46,    47,    48,    49, -      50,    51,    52,    53,    54,    55,    56,    57,    58,    59, -      60,    61,    62,    63,    64,    65,    66,    67,    68,    69, -       0,   154,   155,   156,   157,   158,   159,     0,     0,   160, -     161,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    71,    72, -      73,    74,     0,    75,     0,     0,     0,     0,     0,     0, -       0,     0,    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,    77,     0,    78,     0, +       0,   171,     0,     0,     0,     0,     0,   172,   173,   174, +     175,    12,    13,    14,    15,    16,    17,     0,     0,     0, +       0,     0,   176,     0,     0,     0,     0,     0,    18,    19, +      20,    21,    22,    23,    24,    25,    26,    27,    28,    29, +      30,     0,    31,     0,    32,     0,    33,    34,    35,    36, +      37,    38,    39,    40,    41,    42,    43,    44,    45,    46, +      47,    48,    49,    50,    51,    52,    53,    54,    55,    56, +      57,    58,    59,    60,    61,    62,    63,    64,    65,    66, +      67,    68,    69,     0,   163,   164,   165,   166,   167,   168, +       0,     0,   169,   170,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,   113,    72,    73,    74,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,    80,    14, +      15,    16,    17,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,    18,    19,    20,    21,    22,    23, +      24,    25,    26,    27,    28,    29,     0,     0,     0,     0, +       0,     0,    81,     0,    82,    36,    37,    38,    39,    40, +      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, +      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, +      61,    62,    63,    64,    65,    66,    67,    68,    69,   171, +      70,     0,     0,     0,     0,   172,   173,   174,   175,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +    -267,     0,     0,     0,     0,     0,     0,     0,    72,    73, +      74,     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, -       0,     0,     0,   162,     0,     0,     0,     0,     0,   163, -     164,   165,   166,    12,    13,    14,    15,    16,    17,     0, -       0,     0,     0,     0,   167,     0,     0,     0,     0,     0,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27, -      28,    29,    30,     0,    31,     0,    32,     0,    33,    34, -      35,    36,    37,    38,    39,    40,    41,    42,    43,    44, +      28,    29,     0,     0,     0,     0,     0,     0,    81,     0, +      82,    36,    37,    38,    39,    40,    41,    42,    43,    44,        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,        55,    56,    57,    58,    59,    60,    61,    62,    63,    64, -      65,    66,    67,    68,    69,     0,   154,   155,   156,   157, -     158,   159,     0,     0,   160,   161,     0,     0,     0,     0, +      65,    66,    67,    68,    69,     0,    70,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,   108,    72,    73,    74,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    76,    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,    77,     0,    78,    36,    37,    38,    39,    40,    41, -      42,    43,    44,    45,    46,    47,    48,    49,    50,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    64,    65,    66,    67,    68,    69,   162,    70, -       0,     0,     0,     0,   163,   164,   165,   166,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,  -263, -       0,     0,     0,     0,     0,     0,     0,    72,    73,    74, +       0,     0,     0,     0,     0,     0,     0,     0,   241,     0, +       0,     0,     0,     0,    72,    73,    74,     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,    77,     0,    78,    36,    37,    38, +       0,     0,     0,     0,    81,     0,    82,    36,    37,    38,        39,    40,    41,    42,    43,    44,    45,    46,    47,    48,        49,    50,    51,    52,    53,    54,    55,    56,    57,    58,        59,    60,    61,    62,    63,    64,    65,    66,    67,    68, -      69,     0,    70,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,   232,     0,     0,     0,     0,     0, +      69,     0,   163,   164,   165,   166,   167,   168,     0,     0, +     169,   170,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,   320,     0,     0,     0,     0,     0,        72,    73,    74,     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,    77,     0,    78, -      36,    37,    38,    39,    40,    41,    42,    43,    44,    45, -      46,    47,    48,    49,    50,    51,    52,    53,    54,    55, -      56,    57,    58,    59,    60,    61,    62,    63,    64,    65, -      66,    67,    68,    69,     0,   154,   155,   156,   157,   158, -     159,     0,     0,   160,   161,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   311,     0,     0, -       0,     0,     0,    72,    73,    74,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -      77,     0,    78,     0,     0,     0,     0,     0,     0,     0, +      81,     0,    82,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   162,     0,     0, -       0,     0,     0,   163,   164,   165,   166,    12,    13,    14, -      15,    16,    17,     0,     0,     0,     0,     0,   243,     0, +       0,     0,     0,     0,     0,     0,     0,   171,     0,     0, +       0,     0,     0,   172,   173,   174,   175,    12,    13,    14, +      15,    16,    17,     0,     0,     0,     0,     0,   252,     0,         0,     0,     0,     0,    18,    19,    20,    21,    22,    23,        24,    25,    26,    27,    28,    29,    30,     0,    31,     0,        32,     0,    33,    34,    35,    36,    37,    38,    39,    40,        41,    42,    43,    44,    45,    46,    47,    48,    49,    50,        51,    52,    53,    54,    55,    56,    57,    58,    59,    60,        61,    62,    63,    64,    65,    66,    67,    68,    69,     0, -     154,   155,   156,   157,   158,   159,     0,     0,   160,   161, +     163,   164,   165,   166,   167,   168,     0,     0,   169,   170,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,   108,    72,    73, +       0,     0,     0,     0,     0,     0,     0,   113,    72,    73,        74,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,    76,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,    80,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    77,     0,    78,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,    81,     0, +      82,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    14,    15,    16, -      17,     0,   162,     0,     0,     0,     0,     0,   163,   164, -     165,   166,    18,    19,    20,    21,    22,    23,    24,    25, -      26,    27,    28,    29,     0,     0,     0,     0,     0,     0, -       0,     0,     0,    36,    37,    38,    39,    40,    41,    42, -      43,    44,    45,    46,    47,    48,    49,    50,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    64,    65,    66,    67,    68,    69,     0,   154,   155, -     156,   157,   158,   159,     0,     0,   160,   161,     0,     0, +      14,    15,    16,    17,     0,   171,     0,     0,     0,     0, +       0,   172,   173,   174,   175,    18,    19,    20,    21,    22, +      23,    24,    25,    26,    27,    28,    29,     0,     0,     0, +       0,     0,     0,     0,     0,     0,    36,    37,    38,    39, +      40,    41,    42,    43,    44,    45,    46,    47,    48,    49, +      50,    51,    52,    53,    54,    55,    56,    57,    58,    59, +      60,    61,    62,    63,    64,    65,    66,    67,    68,    69, +       0,   163,   164,   165,   166,   167,   168,     0,     0,   169, +     170,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,    72, +      73,    74,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,    81, +       0,    82,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,    14,    15,    16,    17,     0,   171,     0,     0,   231, +       0,     0,   172,   173,   174,   175,    18,    19,    20,    21, +      22,    23,    24,    25,    26,    27,    28,    29,     0,     0, +       0,     0,     0,     0,     0,     0,     0,    36,    37,    38, +      39,    40,    41,    42,    43,    44,    45,    46,    47,    48, +      49,    50,    51,    52,    53,    54,    55,    56,    57,    58, +      59,    60,    61,    62,    63,    64,    65,    66,    67,    68, +      69,     0,   163,   164,   165,   166,   167,   168,     0,     0, +     169,   170,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,    72,    73,    74,     0, +      72,    73,    74,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,    77,     0,    78,     0,     0,     0,     0, +      81,     0,    82,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    14,    15,    16,    17,     0, -     162,     0,     0,   222,     0,     0,   163,   164,   165,   166, -      18,    19,    20,    21,    22,    23,    24,    25,    26,    27, -      28,    29,     0,     0,     0,     0,     0,     0,     0,     0, -       0,    36,    37,    38,    39,    40,    41,    42,    43,    44, -      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, -      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, -      65,    66,    67,    68,    69,     0,   154,   155,   156,   157, -     158,   159,     0,     0,   160,   161,     0,     0,     0,     0, +       0,     0,    14,    15,    16,    17,     0,   171,     0,     0, +     315,     0,     0,   172,   173,   174,   175,    18,    19,    20, +      21,    22,    23,    24,    25,    26,    27,    28,    29,     0, +       0,     0,     0,     0,     0,     0,     0,     0,    36,    37, +      38,    39,    40,    41,    42,    43,    44,    45,    46,    47, +      48,    49,    50,    51,    52,    53,    54,    55,    56,    57, +      58,    59,    60,    61,    62,    63,    64,    65,    66,    67, +      68,    69,     0,   163,   164,   165,   166,   167,   168,     0, +       0,   169,   170,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,    72,    73,    74,     0,     0,     0, +       0,    72,    73,    74,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,    77,     0,    78,     0,     0,     0,     0,     0,     0, +       0,    81,     0,    82,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,    14,    15,    16,    17,     0,   162,     0, -       0,   306,     0,     0,   163,   164,   165,   166,    18,    19, +       0,     0,     0,    14,    15,    16,    17,     0,   171,     0, +       0,   366,     0,     0,   172,   173,   174,   175,    18,    19,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,         0,     0,     0,     0,     0,     0,     0,     0,     0,    36,        37,    38,    39,    40,    41,    42,    43,    44,    45,    46,        47,    48,    49,    50,    51,    52,    53,    54,    55,    56,        57,    58,    59,    60,    61,    62,    63,    64,    65,    66, -      67,    68,    69,     0,   154,   155,   156,   157,   158,   159, -       0,     0,   160,   161,     0,     0,     0,     0,     0,     0, +      67,    68,    69,     0,   163,   164,   165,   166,   167,   168, +       0,     0,   169,   170,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,    72,    73,    74,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,    77, -       0,    78,     0,     0,     0,     0,     0,     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,   162,     0,     0,   357, -       0,     0,   163,   164,   165,   166,    18,    19,    20,    21, -      22,    23,    24,    25,    26,    27,    28,    29,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    36,    37,    38, -      39,    40,    41,    42,    43,    44,    45,    46,    47,    48, -      49,    50,    51,    52,    53,    54,    55,    56,    57,    58, -      59,    60,    61,    62,    63,    64,    65,    66,    67,    68, -      69,     0,   154,   155,   156,   157,   158,   159,     0,     0, -     160,   161,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -      72,    73,    74,     0,     0,     0,     0,     0,     0,     0, +       0,     0,    81,     0,    82,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,    14,    15,    16,    17,     0,   171, +       0,     0,     0,     0,     0,   172,   173,   174,   175,    18, +      19,    20,    21,    22,    23,    24,    25,    26,    27,    28, +      29,     0,     0,     0,     0,     0,     0,     0,     0,     0, +      36,    37,    38,    39,    40,    41,    42,    43,    44,    45, +      46,    47,    48,    49,    50,    51,    52,    53,    54,    55, +      56,    57,    58,    59,    60,    61,    62,    63,    64,    65, +      66,    67,    68,   270,     0,   163,   164,   165,   166,   167, +     168,     0,     0,   169,   170,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,    77,     0,    78, -       0,     0,     0,     0,     0,     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,   162,     0,     0,     0,     0,     0, -     163,   164,   165,   166,    18,    19,    20,    21,    22,    23, -      24,    25,    26,    27,    28,    29,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    36,    37,    38,    39,    40, -      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, -      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, -      61,    62,    63,    64,    65,    66,    67,    68,   261,     0, -     154,   155,   156,   157,   158,   159,     0,     0,   160,   161, -       0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    72,    73, -      74,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,    72,    73,    74,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    77,     0,    78,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,    81,     0,    82,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,    -3,     0,     0,    12,    13,    14,    15,    16, -      17,     0,   162,     0,     0,     0,     0,     0,   163,   164, -     165,   166,    18,    19,    20,    21,    22,    23,    24,    25, -      26,    27,    28,    29,    30,     0,    31,     0,    32,     0, -      33,    34,    35,    36,    37,    38,    39,    40,    41,    42, -      43,    44,    45,    46,    47,    48,    49,    50,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    64,    65,    66,    67,    68,    69,     0,    70,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +      -3,     0,     0,    12,    13,    14,    15,    16,    17,     0, +     171,     0,     0,     0,     0,     0,   172,   173,   174,   175, +      18,    19,    20,    21,    22,    23,    24,    25,    26,    27, +      28,    29,    30,     0,    31,     0,    32,     0,    33,    34, +      35,    36,    37,    38,    39,    40,    41,    42,    43,    44, +      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, +      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, +      65,    66,    67,    68,    69,     0,    70,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,     0,    71,    72,    73,    74,     0, -      75,     0,     0,     0,     0,     0,     0,     0,     0,    76, -       0,    12,    13,    14,    15,    16,    17,     0,     0,     0, -       0,     0,     0,     0,     0,     0,     0,     0,    18,    19, -      20,    21,    22,    23,    24,    25,    26,    27,    28,    29, -      30,     0,    31,    77,    32,    78,    33,    34,    35,    36, -      37,    38,    39,    40,    41,    42,    43,    44,    45,    46, -      47,    48,    49,    50,    51,    52,    53,    54,    55,    56, -      57,    58,    59,    60,    61,    62,    63,    64,    65,    66, -      67,    68,    69,     0,    70,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, +       0,     0,     0,    71,    72,    73,    74,     0,    75,     0, +       0,     0,     0,     0,     0,     0,    76,    77,    78,    79, +      80,     0,    12,    13,    14,    15,    16,    17,     0,     0, +       0,     0,     0,     0,     0,     0,     0,     0,     0,    18, +      19,    20,    21,    22,    23,    24,    25,    26,    27,    28, +      29,    30,     0,    31,    81,    32,    82,    33,    34,    35, +      36,    37,    38,    39,    40,    41,    42,    43,    44,    45, +      46,    47,    48,    49,    50,    51,    52,    53,    54,    55, +      56,    57,    58,    59,    60,    61,    62,    63,    64,    65, +      66,    67,    68,    69,     0,    70,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,    71,    72,    73,    74,     0,    75,     0,     0,     0, -       0,     0,     0,     0,     0,    76,    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,    77, -       0,    78,    36,    37,    38,    39,    40,    41,    42,    43, -      44,    45,    46,    47,    48,    49,    50,    51,    52,    53, -      54,    55,    56,    57,    58,    59,    60,    61,    62,    63, -      64,    65,    66,    67,    68,    69,     0,    70,    14,    15, -      16,    17,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,    18,    19,    20,    21,    22,    23,    24, -      25,    26,    27,    28,    29,    72,    73,    74,     0,     0, -       0,     0,     0,     0,    36,    37,    38,    39,    40,    41, -      42,    43,    44,    45,    46,    47,    48,    49,    50,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    64,    65,    66,    67,    68,    69,     0,    70, -       0,     0,    77,     0,    78,     0,     0,     0,     0,     0, +       0,     0,    71,    72,    73,    74,     0,    75,     0,     0, +       0,     0,     0,     0,     0,    76,    77,    78,    79,    80, +      14,    15,    16,    17,     0,     0,     0,     0,     0,     0, +       0,     0,     0,     0,     0,    18,    19,    20,    21,    22, +      23,    24,    25,    26,    27,    28,    29,     0,     0,     0, +       0,     0,     0,    81,     0,    82,    36,    37,    38,    39, +      40,    41,    42,    43,    44,    45,    46,    47,    48,    49, +      50,    51,    52,    53,    54,    55,    56,    57,    58,    59, +      60,    61,    62,    63,    64,    65,    66,    67,    68,    69, +       0,   340,    14,    15,    16,    17,   168,     0,     0,     0, +       0,     0,     0,     0,     0,     0,     0,    18,    19,    20, +      21,    22,    23,    24,    25,    26,    27,    28,    29,    72, +      73,    74,     0,     0,     0,     0,     0,     0,    36,    37, +      38,    39,    40,    41,    42,    43,    44,    45,    46,    47, +      48,    49,    50,    51,    52,    53,    54,    55,    56,    57, +      58,    59,    60,    61,    62,    63,    64,    65,    66,    67, +      68,    69,     0,    70,    14,    15,    16,    17,     0,    81, +       0,    82,     0,     0,     0,     0,     0,     0,     0,    18, +      19,    20,    21,    22,    23,    24,    25,    26,    27,    28, +      29,    72,    73,    74,     0,     0,     0,     0,     0,     0, +      36,    37,    38,    39,    40,    41,    42,    43,    44,    45, +      46,    47,    48,    49,    50,    51,    52,    53,    54,    55, +      56,    57,    58,    59,    60,    61,    62,    63,    64,    65, +      66,    67,    68,    69,     0,    70,     0,     0,     0,     0, +       0,    81,     0,    82,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0,         0,     0,     0,     0,     0,     0,     0,     0,     0,     0, -       0,     0,     0,     0,    77,     0,    78 +       0,     0,     0,    81,     0,    82  };  static const yytype_int16 yycheck[] =  { -       9,   220,   149,    76,   151,    76,    86,    87,     4,    91, -     248,   145,   193,   137,     9,   162,     9,    84,    85,   305, -     193,   178,   132,     4,   368,   104,   105,   106,   209,   132, -       3,     4,    71,    33,    34,    35,   209,    33,    34,    35, -      93,    94,    95,    96,    97,    98,    99,   100,   101,   102, -     190,    90,    33,    34,    35,   399,   193,   160,   161,    32, -     188,    34,   190,    36,   221,    38,    39,    40,   208,   108, -      79,   205,   209,   193,   360,   193,   193,   371,   181,   109, -     208,   319,    91,    97,    79,   304,    79,   207,   382,   375, -     207,   209,   378,   312,   241,    33,   110,   106,   245,    37, -     386,   248,   189,   260,   228,   114,   193,    78,   394,   256, -     220,   368,    33,    34,   123,   188,    37,   220,   275,   253, -       0,   201,   202,   190,   206,   192,   135,   189,   137,   114, -     103,   193,   110,     3,     4,    76,   145,   356,   113,   210, -     297,   189,   399,   189,   117,   193,   188,   193,   305,   296, -     407,   189,   409,   189,   189,   208,   189,   193,   193,   168, -     193,   193,    32,    76,    34,   190,    36,    76,    38,    39, -      40,    76,   319,   210,   277,   278,   279,   280,   281,   282, -     283,   284,   285,   286,   287,   288,   289,   290,   291,   292, -     293,   294,   295,   189,   304,    76,   205,   198,   199,   200, -     114,   304,   312,   360,   209,   210,    76,    76,   217,   312, -     284,   285,   286,   287,   194,   195,   373,   364,   375,   228, -     209,   378,    82,    83,    88,    89,   280,   281,   188,   386, -     209,   240,   209,   103,   381,   282,   283,   394,   188,   248, -       5,     6,     7,     8,   253,   209,   356,   117,   288,   289, -     207,   188,   188,   356,   401,    20,    21,    22,    23,    24, -      25,    26,    27,    28,    29,    30,    31,   189,   188,   203, -     205,   204,    90,    92,    76,   191,    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, -     319,    76,   209,   188,   190,    75,    81,   189,   208,   190, -     193,   188,    76,   191,   189,   191,   188,   209,   191,   208, -     208,   189,   191,   210,   208,   191,    12,   188,    12,   104, -     105,   106,   257,   290,   292,   291,   295,   208,   293,   117, -     294,   124,   209,   236,    75,   135,   240,   313,   369,   368, -     382,    81,   371,   217,   217,   168,   319,    79,    -1,    -1, -      -1,    -1,    -1,   382,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,   240,   151,    -1,   153,    -1, -     399,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   407,    -1, -     409,     3,     4,     5,     6,     7,     8,     9,    10,    11, -      -1,    13,    14,    15,    16,    17,    18,    19,    20,    21, -      22,    23,    24,    25,    26,    27,    28,    29,    30,    31, -      32,    -1,    34,    -1,    36,    -1,    38,    39,    40,    41, -      42,    43,    44,    45,    46,    47,    48,    49,    50,    51, -      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, -      62,    63,    64,    65,    66,    67,    68,    69,    70,    71, -      72,    73,    74,    75,    76,    77,    78,    79,    80,    81, -      -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,   103,   104,   105,   106,    -1,   108,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,   117,    -1,    -1,    -1,    -1, +       9,    76,    86,    87,   158,   229,   160,     4,    91,    76, +     146,   154,   257,   102,   380,   212,   213,   171,    84,    85, +       9,   109,   377,     9,     0,   391,   115,   141,    71,   191, +     141,   193,     3,     4,   187,   377,    33,    34,    35,    93, +      94,    95,    96,    97,    98,    99,   100,   101,   102,   211, +     196,     4,    95,   408,   193,     3,     4,    78,   169,   170, +     113,    32,   196,    34,   210,    36,   408,    38,    39,    40, +     113,   214,   211,   314,   416,    84,   418,   230,   212,   190, +      33,    34,    35,   328,    32,    76,    34,    96,    36,   313, +      38,    39,    40,   196,   196,    84,   250,   321,    84,   196, +     254,   237,   111,   257,    33,    76,   196,   110,    37,   212, +     212,   265,   112,   210,   123,   229,   269,   113,   229,   262, +     204,   205,   212,   132,   191,   113,   209,   193,   369,   195, +     192,   284,   103,   113,   196,   144,   192,   146,   213,   113, +     196,   365,   191,   384,   192,   154,   387,   192,   196,   120, +     196,   305,   192,   306,   395,   103,   196,   211,    76,    33, +      34,   314,   403,    37,   193,   192,   192,   192,   177,   196, +     196,   196,   120,    76,   328,   286,   287,   288,   289,   290, +     291,   292,   293,   294,   295,   296,   297,   298,   299,   300, +     301,   302,   303,   304,   213,   192,   104,   105,   106,   313, +      82,    83,   313,   197,   198,   214,    76,   321,    88,    89, +     321,   293,   294,   295,   296,    76,   369,   226,   113,   373, +      33,    34,    35,   201,   202,   203,   289,   290,   237,   382, +      76,   384,   291,   292,   387,   212,   390,   297,   298,   212, +     249,   191,   395,   212,   191,   212,   191,   210,   257,   191, +     403,   365,   192,   262,   365,   191,   410,   206,    90,    92, +     212,   207,    76,   191,   208,    75,   192,   194,   193,   193, +     211,   194,   191,    76,   196,   192,   191,   211,   194,   211, +     194,   194,   212,   192,   194,     3,     4,     5,     6,     7, +       8,     9,    10,    11,   191,    13,    14,    15,    16,    17, +      18,    19,    20,    21,    22,    23,    24,    25,    26,    27, +      28,    29,    30,    31,    32,   213,    34,   211,    36,   328, +      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,   211,    12,    84,    85,   377,   212, +      12,   380,   303,   266,   226,   126,   133,   226,   299,   245, +     300,    75,   391,   144,   322,   103,   104,   105,   106,   301, +     108,   302,   249,   378,    86,   177,   391,   304,   249,   408, +      84,    -1,   120,    -1,    -1,    -1,    -1,   416,    -1,   418,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,   328,    -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,   151, -      -1,   153,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,   188,    -1,    -1,    -1, -      -1,    -1,   194,   195,   196,   197,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,   209,   210,   211, -       3,     4,     5,     6,     7,     8,     9,    10,    11,    -1, -      13,    14,    15,    16,    17,    18,    19,    20,    21,    22, -      23,    24,    25,    26,    27,    28,    29,    30,    31,    32, -      -1,    34,    -1,    36,    -1,    38,    39,    40,    41,    42, -      43,    44,    45,    46,    47,    48,    49,    50,    51,    52, -      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, -      63,    64,    65,    66,    67,    68,    69,    70,    71,    72, -      73,    74,    75,    76,    77,    78,    79,    80,    81,    -1, -      -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,   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,    -1,    34,    -1, +      36,    -1,    38,    39,    40,    41,    42,    43,    44,    45, +      46,    47,    48,    49,    50,    51,    52,    53,    54,    55, +      56,    57,    58,    59,    60,    61,    62,    63,    64,    65, +      66,    67,    68,    69,    70,    71,    72,    73,    74,    75, +      76,    77,    78,    79,    80,    81,    -1,    -1,    84,    85,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -     103,   104,   105,   106,    -1,   108,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,   117,    -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,   151,    -1, -     153,    -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,   188,    -1,    -1,    -1,    -1, -      -1,   194,   195,   196,   197,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,   209,   210,   211,     3, +      -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,    -1, @@ -1641,58 +1642,80 @@ static const yytype_int16 yycheck[] =        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,   117,    -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,    -1,   151,    -1,   153,        -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,   188,    -1,    -1,    -1,    -1,    -1, -     194,   195,   196,   197,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,   209,   210,   211,     3,     4, -       5,     6,     7,     8,     9,    10,    11,    -1,    13,    14, -      15,    16,    17,    18,    19,    20,    21,    22,    23,    24, -      25,    26,    27,    28,    29,    30,    31,    32,    -1,    34, -      -1,    36,    -1,    38,    39,    40,    41,    42,    43,    44, -      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, -      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, -      65,    66,    67,    68,    69,    70,    71,    72,    73,    74, -      75,    76,    77,    78,    79,    80,    81,    -1,    -1,    84, -      85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104, -     105,   106,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,   117,    -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,    -1,    34,    -1,    36,    -1,    38,    39,    40,    41, +      42,    43,    44,    45,    46,    47,    48,    49,    50,    51, +      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, +      62,    63,    64,    65,    66,    67,    68,    69,    70,    71, +      72,    73,    74,    75,    76,    77,    78,    79,    80,    81, +      -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,   103,   104,   105,   106,    -1,   108,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   120,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,   151,    -1,   153,    -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,   188,    -1,    -1,    -1,    -1,    -1,   194, -     195,   196,   197,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,   209,   210,   211,     3,     4,     5, -       6,     7,     8,     9,    10,    11,    -1,    13,    14,    15, -      16,    17,    18,    19,    20,    21,    22,    23,    24,    25, -      26,    27,    28,    29,    30,    31,    32,    -1,    34,    -1, -      36,    -1,    38,    39,    40,    41,    42,    43,    44,    45, -      46,    47,    48,    49,    50,    51,    52,    53,    54,    55, -      56,    57,    58,    59,    60,    61,    62,    63,    64,    65, -      66,    67,    68,    69,    70,    71,    72,    73,    74,    75, -      76,    77,    78,    79,    80,    81,    -1,    -1,    84,    85,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104,   105, -     106,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,   117,    -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,    -1,    34,    -1,    36,    -1,    38,    39, +      40,    41,    42,    43,    44,    45,    46,    47,    48,    49, +      50,    51,    52,    53,    54,    55,    56,    57,    58,    59, +      60,    61,    62,    63,    64,    65,    66,    67,    68,    69, +      70,    71,    72,    73,    74,    75,    76,    77,    78,    79, +      80,    81,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,   103,   104,   105,   106,    -1,   108,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +     120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,    -1,    -1,   151,    -1,   153,    -1,    -1, +      -1,   191,    -1,    -1,    -1,    -1,    -1,   197,   198,   199, +     200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,   212,   213,     3,     4,     5,     6,     7,     8, +       9,    10,    11,    -1,    13,    14,    15,    16,    17,    18, +      19,    20,    21,    22,    23,    24,    25,    26,    27,    28, +      29,    30,    31,    32,    -1,    34,    -1,    36,    -1,    38, +      39,    40,    41,    42,    43,    44,    45,    46,    47,    48, +      49,    50,    51,    52,    53,    54,    55,    56,    57,    58, +      59,    60,    61,    62,    63,    64,    65,    66,    67,    68, +      69,    70,    71,    72,    73,    74,    75,    76,    77,    78, +      79,    80,    81,    -1,    -1,    84,    85,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,   103,   104,   105,   106,    -1,   108, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,   120,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -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,   188,    -1,    -1,    -1,    -1,    -1,   194,   195, -     196,   197,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,   209,   210,     3,     4,     5,     6,     7, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,   191,    -1,    -1,    -1,    -1,    -1,   197,   198, +     199,   200,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,   212,   213,     3,     4,     5,     6,     7,         8,     9,    10,    11,    -1,    13,    14,    15,    16,    17,        18,    19,    20,    21,    22,    23,    24,    25,    26,    27,        28,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1, @@ -1703,110 +1726,91 @@ static const yytype_int16 yycheck[] =        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,   117, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,   151,    -1,   153,    -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, -     188,    -1,    -1,    -1,    -1,    -1,   194,   195,   196,   197, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,   209,   210,     3,     4,     5,     6,     7,     8,     9, -      10,    11,    -1,    13,    14,    15,    16,    17,    18,    19, +      -1,    -1,    -1,   191,    -1,    -1,    -1,    -1,    -1,   197, +     198,   199,   200,     3,     4,     5,     6,     7,     8,    -1, +      -1,    -1,    -1,    -1,   212,   213,    -1,    -1,    -1,    -1,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29,        30,    31,    32,    -1,    34,    -1,    36,    -1,    38,    39,        40,    41,    42,    43,    44,    45,    46,    47,    48,    49,        50,    51,    52,    53,    54,    55,    56,    57,    58,    59,        60,    61,    62,    63,    64,    65,    66,    67,    68,    69, -      70,    71,    72,    73,    74,    75,    76,    77,    78,    79, +      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,   117,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -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,   151,    -1,   153,    -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,   188,    -1, -      -1,    -1,    -1,    -1,   194,   195,   196,   197,     3,     4, -       5,     6,     7,     8,    -1,    -1,    -1,    -1,    -1,   209, -     210,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24, -      25,    26,    27,    28,    29,    30,    31,    32,    -1,    34, -      -1,    36,    -1,    38,    39,    40,    41,    42,    43,    44, -      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, -      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, -      65,    66,    67,    68,    69,    70,    71,    72,    73,    74, -      -1,    76,    77,    78,    79,    80,    81,    -1,    -1,    84, -      85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   103,   104, -     105,   106,    -1,   108,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,   117,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,   151,    -1,   153,    -1, +      -1,   191,    -1,    -1,    -1,    -1,    -1,   197,   198,   199, +     200,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1, +      -1,    -1,   212,    -1,    -1,    -1,    -1,    -1,    20,    21, +      22,    23,    24,    25,    26,    27,    28,    29,    30,    31, +      32,    -1,    34,    -1,    36,    -1,    38,    39,    40,    41, +      42,    43,    44,    45,    46,    47,    48,    49,    50,    51, +      52,    53,    54,    55,    56,    57,    58,    59,    60,    61, +      62,    63,    64,    65,    66,    67,    68,    69,    70,    71, +      72,    73,    74,    -1,    76,    77,    78,    79,    80,    81, +      -1,    -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,   103,   104,   105,   106,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   120,     5, +       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, -      -1,    -1,    -1,   188,    -1,    -1,    -1,    -1,    -1,   194, -     195,   196,   197,     3,     4,     5,     6,     7,     8,    -1, -      -1,    -1,    -1,    -1,   209,    -1,    -1,    -1,    -1,    -1,        20,    21,    22,    23,    24,    25,    26,    27,    28,    29, -      30,    31,    32,    -1,    34,    -1,    36,    -1,    38,    39, -      40,    41,    42,    43,    44,    45,    46,    47,    48,    49, +      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, +      70,    71,    72,    73,    74,    -1,    76,    -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,   117,     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,   151,    -1,   153,    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,   188,    76, -      -1,    -1,    -1,    -1,   194,   195,   196,   197,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   209, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,   104,   105,   106, +      -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,   151,    -1,   153,    41,    42,    43, +      -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,   211,    -1,    -1,    -1,    -1,    -1, +      74,    -1,    76,    77,    78,    79,    80,    81,    -1,    -1, +      84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,   214,    -1,    -1,    -1,    -1,    -1,       104,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,     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,   151,    -1,   153, -      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,   211,    -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, -     151,    -1,   153,    -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,   188,    -1,    -1, -      -1,    -1,    -1,   194,   195,   196,   197,     3,     4,     5, -       6,     7,     8,    -1,    -1,    -1,    -1,    -1,   209,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,   191,    -1,    -1, +      -1,    -1,    -1,   197,   198,   199,   200,     3,     4,     5, +       6,     7,     8,    -1,    -1,    -1,    -1,    -1,   212,    -1,        -1,    -1,    -1,    -1,    20,    21,    22,    23,    24,    25,        26,    27,    28,    29,    30,    31,    32,    -1,    34,    -1,        36,    -1,    38,    39,    40,    41,    42,    43,    44,    45, @@ -1817,50 +1821,69 @@ static const yytype_int16 yycheck[] =        -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,   117,    -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,    -1,   151,    -1,   153,    -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,     5,     6,     7, -       8,    -1,   188,    -1,    -1,    -1,    -1,    -1,   194,   195, -     196,   197,    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, +       5,     6,     7,     8,    -1,   191,    -1,    -1,    -1,    -1, +      -1,   197,   198,   199,   200,    20,    21,    22,    23,    24, +      25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43,    44, +      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, +      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, +      65,    66,    67,    68,    69,    70,    71,    72,    73,    74, +      -1,    76,    77,    78,    79,    80,    81,    -1,    -1,    84, +      85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   104, +     105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -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,   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,   151,    -1,   153,    -1,    -1,    -1,    -1, +      -1,     5,     6,     7,     8,    -1,   191,    -1,    -1,   194, +      -1,    -1,   197,   198,   199,   200,    20,    21,    22,    23, +      24,    25,    26,    27,    28,    29,    30,    31,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42,    43, +      44,    45,    46,    47,    48,    49,    50,    51,    52,    53, +      54,    55,    56,    57,    58,    59,    60,    61,    62,    63, +      64,    65,    66,    67,    68,    69,    70,    71,    72,    73, +      74,    -1,    76,    77,    78,    79,    80,    81,    -1,    -1, +      84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +     104,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,     5,     6,     7,     8,    -1, -     188,    -1,    -1,   191,    -1,    -1,   194,   195,   196,   197, -      20,    21,    22,    23,    24,    25,    26,    27,    28,    29, -      30,    31,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    41,    42,    43,    44,    45,    46,    47,    48,    49, -      50,    51,    52,    53,    54,    55,    56,    57,    58,    59, -      60,    61,    62,    63,    64,    65,    66,    67,    68,    69, -      70,    71,    72,    73,    74,    -1,    76,    77,    78,    79, -      80,    81,    -1,    -1,    84,    85,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,   104,   105,   106,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +     154,    -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,     5,     6,     7,     8,    -1,   191,    -1,    -1, +     194,    -1,    -1,   197,   198,   199,   200,    20,    21,    22, +      23,    24,    25,    26,    27,    28,    29,    30,    31,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42, +      43,    44,    45,    46,    47,    48,    49,    50,    51,    52, +      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, +      63,    64,    65,    66,    67,    68,    69,    70,    71,    72, +      73,    74,    -1,    76,    77,    78,    79,    80,    81,    -1, +      -1,    84,    85,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,   104,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,   151,    -1,   153,    -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,     5,     6,     7,     8,    -1,   188,    -1, -      -1,   191,    -1,    -1,   194,   195,   196,   197,    20,    21, +      -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, @@ -1873,138 +1896,130 @@ 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,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   151, -      -1,   153,    -1,    -1,    -1,    -1,    -1,    -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,   188,    -1,    -1,   191, -      -1,    -1,   194,   195,   196,   197,    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,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,   151,    -1,   153, +      -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,     5, -       6,     7,     8,    -1,   188,    -1,    -1,    -1,    -1,    -1, -     194,   195,   196,   197,    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,     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,    -1,    -1,    -1,    -1,    -1,   104,   105, -     106,    -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,    -1,    -1,    -1,    -1,   151,    -1,   153,    -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,     0,    -1,    -1,     3,     4,     5,     6,     7, -       8,    -1,   188,    -1,    -1,    -1,    -1,    -1,   194,   195, -     196,   197,    20,    21,    22,    23,    24,    25,    26,    27, -      28,    29,    30,    31,    32,    -1,    34,    -1,    36,    -1, -      38,    39,    40,    41,    42,    43,    44,    45,    46,    47, -      48,    49,    50,    51,    52,    53,    54,    55,    56,    57, -      58,    59,    60,    61,    62,    63,    64,    65,    66,    67, -      68,    69,    70,    71,    72,    73,    74,    -1,    76,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, +       0,    -1,    -1,     3,     4,     5,     6,     7,     8,    -1, +     191,    -1,    -1,    -1,    -1,    -1,   197,   198,   199,   200, +      20,    21,    22,    23,    24,    25,    26,    27,    28,    29, +      30,    31,    32,    -1,    34,    -1,    36,    -1,    38,    39, +      40,    41,    42,    43,    44,    45,    46,    47,    48,    49, +      50,    51,    52,    53,    54,    55,    56,    57,    58,    59, +      60,    61,    62,    63,    64,    65,    66,    67,    68,    69, +      70,    71,    72,    73,    74,    -1,    76,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,   103,   104,   105,   106,    -1, -     108,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,   117, -      -1,     3,     4,     5,     6,     7,     8,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21, -      22,    23,    24,    25,    26,    27,    28,    29,    30,    31, -      32,    -1,    34,   151,    36,   153,    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,   103,   104,   105,   106,    -1,   108,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,   116,   117,   118,   119, +     120,    -1,     3,     4,     5,     6,     7,     8,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20, +      21,    22,    23,    24,    25,    26,    27,    28,    29,    30, +      31,    32,    -1,    34,   154,    36,   156,    38,    39,    40, +      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, +      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, +      61,    62,    63,    64,    65,    66,    67,    68,    69,    70, +      71,    72,    73,    74,    -1,    76,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,   103,   104,   105,   106,    -1,   108,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,    -1,   117,     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,   151, -      -1,   153,    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,    -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, -      -1,    -1,   151,    -1,   153,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,   103,   104,   105,   106,    -1,   108,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,   116,   117,   118,   119,   120, +       5,     6,     7,     8,    -1,    -1,    -1,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    20,    21,    22,    23,    24, +      25,    26,    27,    28,    29,    30,    31,    -1,    -1,    -1, +      -1,    -1,    -1,   154,    -1,   156,    41,    42,    43,    44, +      45,    46,    47,    48,    49,    50,    51,    52,    53,    54, +      55,    56,    57,    58,    59,    60,    61,    62,    63,    64, +      65,    66,    67,    68,    69,    70,    71,    72,    73,    74, +      -1,    76,     5,     6,     7,     8,    81,    -1,    -1,    -1, +      -1,    -1,    -1,    -1,    -1,    -1,    -1,    20,    21,    22, +      23,    24,    25,    26,    27,    28,    29,    30,    31,   104, +     105,   106,    -1,    -1,    -1,    -1,    -1,    -1,    41,    42, +      43,    44,    45,    46,    47,    48,    49,    50,    51,    52, +      53,    54,    55,    56,    57,    58,    59,    60,    61,    62, +      63,    64,    65,    66,    67,    68,    69,    70,    71,    72, +      73,    74,    -1,    76,     5,     6,     7,     8,    -1,   154, +      -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    20, +      21,    22,    23,    24,    25,    26,    27,    28,    29,    30, +      31,   104,   105,   106,    -1,    -1,    -1,    -1,    -1,    -1, +      41,    42,    43,    44,    45,    46,    47,    48,    49,    50, +      51,    52,    53,    54,    55,    56,    57,    58,    59,    60, +      61,    62,    63,    64,    65,    66,    67,    68,    69,    70, +      71,    72,    73,    74,    -1,    76,    -1,    -1,    -1,    -1, +      -1,   154,    -1,   156,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,        -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1,    -1, -      -1,    -1,    -1,    -1,   151,    -1,   153 +      -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,   213,   215,    78,     0,   216,   114,   110,   214, -     217,    76,     3,     4,     5,     6,     7,     8,    20,    21, +       0,   109,   216,   218,    78,     0,   220,   113,   110,   217, +     221,    76,     3,     4,     5,     6,     7,     8,    20,    21,        22,    23,    24,    25,    26,    27,    28,    29,    30,    31,        32,    34,    36,    38,    39,    40,    41,    42,    43,    44,        45,    46,    47,    48,    49,    50,    51,    52,    53,    54,        55,    56,    57,    58,    59,    60,    61,    62,    63,    64,        65,    66,    67,    68,    69,    70,    71,    72,    73,    74, -      76,   103,   104,   105,   106,   108,   117,   151,   153,   218, -     248,   249,   250,   251,   252,   257,   258,   259,   260,   261, -     264,   266,   267,   268,   269,   270,   271,   272,   273,   299, -     300,   113,    33,    34,    37,    76,   210,    76,   103,   266, -     272,   188,   299,   209,   210,   286,   189,   193,     4,    33, -      34,    35,   254,   255,   265,   193,   209,    76,    33,    37, -     266,   268,   190,   269,    76,   210,   268,   274,   275,   269, -      76,   262,   263,     9,    10,    11,    13,    14,    15,    16, -      17,    18,    19,    75,    76,    77,    78,    79,    80,    81, -      84,    85,   188,   194,   195,   196,   197,   209,   210,   211, -     219,   220,   221,   223,   224,   225,   226,   227,   228,   229, -     230,   231,   232,   233,   234,   235,   236,   237,   238,   239, -     240,   241,   242,   243,   244,   246,   248,   249,   268,   279, -     280,   281,   282,   283,   284,   287,   288,   289,   290,   292, -     293,   294,   298,   254,   253,   256,   268,   255,    76,   188, -     190,   208,   191,   230,   243,   247,   268,   114,   274,    76, -     276,   277,   211,   275,   209,   189,   193,   209,   209,   280, -     188,   188,   209,   209,   246,   188,   246,   207,   188,   230, -     230,   246,   211,   287,    84,    85,   190,   192,   189,   189, -     193,    74,   244,   188,    93,    94,    95,    96,    97,    98, -      99,   100,   101,   102,   208,   245,   230,   198,   199,   200, -     194,   195,    82,    83,    86,    87,   201,   202,    88,    89, -     203,   204,   205,    90,    92,    91,   206,   193,   209,   211, -     280,    76,   253,   256,   190,   208,   191,   247,   244,   278, -     191,   211,   190,   193,   209,   263,    75,   279,   288,   295, -     246,   209,   246,   207,   246,   259,   291,   189,   211,   222, -     246,    76,   225,   244,   244,   230,   230,   230,   232,   232, -     233,   233,   234,   234,   234,   234,   235,   235,   236,   237, -     238,   239,   240,   241,   246,   244,   190,   191,   247,   278, -     208,   191,   247,   277,   188,   291,   296,   297,   189,   189, -      76,   189,   191,   207,   247,   208,   191,   278,   208,   191, -     246,   209,   189,   281,   282,   284,   208,    14,   283,   285, -     286,   244,   191,   278,   208,   278,   189,   246,   285,    12, -     278,   188,   278,   209,   281,   282,   246,   189,   281,    12 +      76,   103,   104,   105,   106,   108,   116,   117,   118,   119, +     120,   154,   156,   219,   222,   252,   253,   254,   255,   256, +     261,   262,   263,   264,   265,   268,   270,   271,   272,   273, +     274,   275,   276,   277,   303,   304,   112,    33,    34,    37, +      76,   213,    76,   103,   270,   276,   113,   113,   113,   113, +     191,   303,   212,   213,   290,   192,   196,     4,    33,    34, +      35,   258,   259,   269,   196,   212,    76,    33,    37,   270, +     272,   193,   273,    76,   213,   272,   278,   279,   273,    76, +     266,   267,     9,    10,    11,    13,    14,    15,    16,    17, +      18,    19,    75,    76,    77,    78,    79,    80,    81,    84, +      85,   191,   197,   198,   199,   200,   212,   213,   214,   223, +     224,   225,   227,   228,   229,   230,   231,   232,   233,   234, +     235,   236,   237,   238,   239,   240,   241,   242,   243,   244, +     245,   246,   247,   248,   250,   252,   253,   272,   283,   284, +     285,   286,   287,   288,   291,   292,   293,   294,   296,   297, +     298,   302,   258,   257,   260,   272,   259,    76,   191,   193, +     211,   194,   234,   247,   251,   272,   113,   278,    76,   280, +     281,   214,   279,   212,   192,   196,   212,   212,   284,   191, +     191,   212,   212,   250,   191,   250,   210,   191,   234,   234, +     250,   214,   291,    84,    85,   193,   195,   192,   192,   196, +      74,   248,   191,    93,    94,    95,    96,    97,    98,    99, +     100,   101,   102,   211,   249,   234,   201,   202,   203,   197, +     198,    82,    83,    86,    87,   204,   205,    88,    89,   206, +     207,   208,    90,    92,    91,   209,   196,   212,   214,   284, +      76,   257,   260,   193,   211,   194,   251,   248,   282,   194, +     214,   193,   196,   212,   267,    75,   283,   292,   299,   250, +     212,   250,   210,   250,   263,   295,   192,   214,   226,   250, +      76,   229,   248,   248,   234,   234,   234,   236,   236,   237, +     237,   238,   238,   238,   238,   239,   239,   240,   241,   242, +     243,   244,   245,   250,   248,   193,   194,   251,   282,   211, +     194,   251,   281,   191,   295,   300,   301,   192,   192,    76, +     192,   194,   210,   251,   211,   194,   282,   211,   194,   250, +     212,   192,   285,   286,   288,   211,    14,   287,   289,   290, +     248,   194,   282,   211,   282,   192,   250,   289,    12,   282, +     191,   282,   212,   285,   286,   250,   192,   285,    12  };  #define yyerrok		(yyerrstatus = 0) @@ -2019,18 +2034,9 @@ static const yytype_uint16 yystos[] =  /* Like YYERROR except do call yyerror.  This remains here temporarily     to ease the transition to the new meaning of YYERROR, for GCC. -   Once GCC version 2 has supplanted version 1, this can go.  However, -   YYFAIL appears to be in use.  Nevertheless, it is formally deprecated -   in Bison 2.4.2's NEWS entry, where a plan to phase it out is -   discussed.  */ +   Once GCC version 2 has supplanted version 1, this can go.  */  #define YYFAIL		goto yyerrlab -#if defined YYFAIL -  /* This is here to suppress warnings from the GCC cpp's -     -Wunused-macros.  Normally we don't worry about that warning, but -     some users do, and we want to make it easy for users to remove -     YYFAIL uses, which will produce warnings from Bison 2.5.  */ -#endif  #define YYRECOVERING()  (!!yyerrstatus) @@ -2087,7 +2093,7 @@ while (YYID (0))     we won't break user code: when these are the locations we know.  */  #ifndef YY_LOCATION_PRINT -# if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +# if YYLTYPE_IS_TRIVIAL  #  define YY_LOCATION_PRINT(File, Loc)			\       fprintf (File, "%d.%d-%d.%d",			\  	      (Loc).first_line, (Loc).first_column,	\ @@ -2629,7 +2635,7 @@ YYLTYPE yylloc;      YYLTYPE *yylsp;      /* The locations where the error started and ended.  */ -    YYLTYPE yyerror_range[3]; +    YYLTYPE yyerror_range[2];      YYSIZE_T yystacksize; @@ -2676,7 +2682,7 @@ YYLTYPE yylloc;    yyvsp = yyvs;    yylsp = yyls; -#if defined YYLTYPE_IS_TRIVIAL && YYLTYPE_IS_TRIVIAL +#if YYLTYPE_IS_TRIVIAL    /* Initialize the default location before parsing starts.  */    yylloc.first_line   = yylloc.last_line   = 1;    yylloc.first_column = yylloc.last_column = 1; @@ -2684,7 +2690,7 @@ YYLTYPE yylloc;  /* User initialization code.  */ -/* Line 1251 of yacc.c  */ +/* Line 1242 of yacc.c  */  #line 41 "glsl_parser.ypp"  {     yylloc.first_line = 1; @@ -2694,8 +2700,8 @@ YYLTYPE yylloc;     yylloc.source = 0;  } -/* Line 1251 of yacc.c  */ -#line 2699 "glsl_parser.cpp" +/* Line 1242 of yacc.c  */ +#line 2705 "glsl_parser.cpp"    yylsp[0] = yylloc;    goto yysetstate; @@ -2882,8 +2888,8 @@ yyreduce:      {          case 2: -/* Line 1464 of yacc.c  */ -#line 209 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 211 "glsl_parser.ypp"      {  	   _mesa_glsl_initialize_types(state);  	;} @@ -2891,8 +2897,8 @@ yyreduce:    case 4: -/* Line 1464 of yacc.c  */ -#line 217 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 219 "glsl_parser.ypp"      {  	   state->language_version = 110;  	   state->symbols->language_version = 110; @@ -2901,8 +2907,8 @@ yyreduce:    case 5: -/* Line 1464 of yacc.c  */ -#line 222 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 224 "glsl_parser.ypp"      {  	   switch ((yyvsp[(2) - (3)].n)) {  	   case 110: @@ -2920,10 +2926,10 @@ yyreduce:  	;}      break; -  case 8: +  case 12: -/* Line 1464 of yacc.c  */ -#line 246 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 255 "glsl_parser.ypp"      {  	   if (!_mesa_glsl_process_extension((yyvsp[(2) - (5)].identifier), & (yylsp[(2) - (5)]), (yyvsp[(4) - (5)].identifier), & (yylsp[(4) - (5)]), state)) {  	      YYERROR; @@ -2931,10 +2937,10 @@ yyreduce:  	;}      break; -  case 9: +  case 13: -/* Line 1464 of yacc.c  */ -#line 255 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 264 "glsl_parser.ypp"      {  	   /* FINISHME: The NULL test is only required because 'precision'  	    * FINISHME: statements are not yet supported. @@ -2944,10 +2950,10 @@ yyreduce:  	;}      break; -  case 10: +  case 14: -/* Line 1464 of yacc.c  */ -#line 263 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 272 "glsl_parser.ypp"      {  	   /* FINISHME: The NULL test is only required because 'precision'  	    * FINISHME: statements are not yet supported. @@ -2957,10 +2963,10 @@ yyreduce:  	;}      break; -  case 12: +  case 16: -/* Line 1464 of yacc.c  */ -#line 278 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 287 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_identifier, NULL, NULL, NULL); @@ -2969,10 +2975,10 @@ yyreduce:  	;}      break; -  case 13: +  case 17: -/* Line 1464 of yacc.c  */ -#line 285 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 294 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_int_constant, NULL, NULL, NULL); @@ -2981,10 +2987,10 @@ yyreduce:  	;}      break; -  case 14: +  case 18: -/* Line 1464 of yacc.c  */ -#line 292 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 301 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_uint_constant, NULL, NULL, NULL); @@ -2993,10 +2999,10 @@ yyreduce:  	;}      break; -  case 15: +  case 19: -/* Line 1464 of yacc.c  */ -#line 299 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 308 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_float_constant, NULL, NULL, NULL); @@ -3005,10 +3011,10 @@ yyreduce:  	;}      break; -  case 16: +  case 20: -/* Line 1464 of yacc.c  */ -#line 306 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 315 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_bool_constant, NULL, NULL, NULL); @@ -3017,19 +3023,19 @@ yyreduce:  	;}      break; -  case 17: +  case 21: -/* Line 1464 of yacc.c  */ -#line 313 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 322 "glsl_parser.ypp"      {  	   (yyval.expression) = (yyvsp[(2) - (3)].expression);  	;}      break; -  case 19: +  case 23: -/* Line 1464 of yacc.c  */ -#line 321 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 330 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_array_index, (yyvsp[(1) - (4)].expression), (yyvsp[(3) - (4)].expression), NULL); @@ -3037,19 +3043,19 @@ yyreduce:  	;}      break; -  case 20: +  case 24: -/* Line 1464 of yacc.c  */ -#line 327 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 336 "glsl_parser.ypp"      {  	   (yyval.expression) = (yyvsp[(1) - (1)].expression);  	;}      break; -  case 21: +  case 25: -/* Line 1464 of yacc.c  */ -#line 331 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 340 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), NULL, NULL); @@ -3058,10 +3064,10 @@ yyreduce:  	;}      break; -  case 22: +  case 26: -/* Line 1464 of yacc.c  */ -#line 338 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 347 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_post_inc, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -3069,10 +3075,10 @@ yyreduce:  	;}      break; -  case 23: +  case 27: -/* Line 1464 of yacc.c  */ -#line 344 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 353 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_post_dec, (yyvsp[(1) - (2)].expression), NULL, NULL); @@ -3080,10 +3086,10 @@ yyreduce:  	;}      break; -  case 27: +  case 31: -/* Line 1464 of yacc.c  */ -#line 362 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 371 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_field_selection, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression), NULL); @@ -3091,10 +3097,10 @@ yyreduce:  	;}      break; -  case 32: +  case 36: -/* Line 1464 of yacc.c  */ -#line 381 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 390 "glsl_parser.ypp"      {  	   (yyval.expression) = (yyvsp[(1) - (2)].expression);  	   (yyval.expression)->set_location(yylloc); @@ -3102,10 +3108,10 @@ yyreduce:  	;}      break; -  case 33: +  case 37: -/* Line 1464 of yacc.c  */ -#line 387 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 396 "glsl_parser.ypp"      {  	   (yyval.expression) = (yyvsp[(1) - (3)].expression);  	   (yyval.expression)->set_location(yylloc); @@ -3113,10 +3119,10 @@ yyreduce:  	;}      break; -  case 35: +  case 39: -/* Line 1464 of yacc.c  */ -#line 403 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 412 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_function_expression((yyvsp[(1) - (1)].type_specifier)); @@ -3124,10 +3130,10 @@ yyreduce:     	;}      break; -  case 36: +  case 40: -/* Line 1464 of yacc.c  */ -#line 409 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 418 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -3136,10 +3142,10 @@ yyreduce:     	;}      break; -  case 37: +  case 41: -/* Line 1464 of yacc.c  */ -#line 416 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 425 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_expression *callee = new(ctx) ast_expression((yyvsp[(1) - (1)].identifier)); @@ -3148,10 +3154,10 @@ yyreduce:     	;}      break; -  case 39: +  case 43: -/* Line 1464 of yacc.c  */ -#line 428 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 437 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_pre_inc, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3159,10 +3165,10 @@ yyreduce:  	;}      break; -  case 40: +  case 44: -/* Line 1464 of yacc.c  */ -#line 434 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 443 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression(ast_pre_dec, (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3170,10 +3176,10 @@ yyreduce:  	;}      break; -  case 41: +  case 45: -/* Line 1464 of yacc.c  */ -#line 440 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 449 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression((yyvsp[(1) - (2)].n), (yyvsp[(2) - (2)].expression), NULL, NULL); @@ -3181,38 +3187,38 @@ yyreduce:  	;}      break; -  case 42: +  case 46: -/* Line 1464 of yacc.c  */ -#line 449 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 458 "glsl_parser.ypp"      { (yyval.n) = ast_plus; ;}      break; -  case 43: +  case 47: -/* Line 1464 of yacc.c  */ -#line 450 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 459 "glsl_parser.ypp"      { (yyval.n) = ast_neg; ;}      break; -  case 44: +  case 48: -/* Line 1464 of yacc.c  */ -#line 451 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 460 "glsl_parser.ypp"      { (yyval.n) = ast_logic_not; ;}      break; -  case 45: +  case 49: -/* Line 1464 of yacc.c  */ -#line 452 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 461 "glsl_parser.ypp"      { (yyval.n) = ast_bit_not; ;}      break; -  case 47: +  case 51: -/* Line 1464 of yacc.c  */ -#line 458 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 467 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_mul, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3220,10 +3226,10 @@ yyreduce:  	;}      break; -  case 48: +  case 52: -/* Line 1464 of yacc.c  */ -#line 464 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 473 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_div, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3231,10 +3237,10 @@ yyreduce:  	;}      break; -  case 49: +  case 53: -/* Line 1464 of yacc.c  */ -#line 470 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 479 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_mod, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3242,10 +3248,10 @@ yyreduce:  	;}      break; -  case 51: +  case 55: -/* Line 1464 of yacc.c  */ -#line 480 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 489 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_add, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3253,10 +3259,10 @@ yyreduce:  	;}      break; -  case 52: +  case 56: -/* Line 1464 of yacc.c  */ -#line 486 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 495 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_sub, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3264,10 +3270,10 @@ yyreduce:  	;}      break; -  case 54: +  case 58: -/* Line 1464 of yacc.c  */ -#line 496 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 505 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_lshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3275,10 +3281,10 @@ yyreduce:  	;}      break; -  case 55: +  case 59: -/* Line 1464 of yacc.c  */ -#line 502 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 511 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_rshift, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3286,10 +3292,10 @@ yyreduce:  	;}      break; -  case 57: +  case 61: -/* Line 1464 of yacc.c  */ -#line 512 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 521 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_less, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3297,10 +3303,10 @@ yyreduce:  	;}      break; -  case 58: +  case 62: -/* Line 1464 of yacc.c  */ -#line 518 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 527 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_greater, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3308,10 +3314,10 @@ yyreduce:  	;}      break; -  case 59: +  case 63: -/* Line 1464 of yacc.c  */ -#line 524 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 533 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_lequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3319,10 +3325,10 @@ yyreduce:  	;}      break; -  case 60: +  case 64: -/* Line 1464 of yacc.c  */ -#line 530 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 539 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_gequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3330,10 +3336,10 @@ yyreduce:  	;}      break; -  case 62: +  case 66: -/* Line 1464 of yacc.c  */ -#line 540 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 549 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_equal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3341,10 +3347,10 @@ yyreduce:  	;}      break; -  case 63: +  case 67: -/* Line 1464 of yacc.c  */ -#line 546 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 555 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_nequal, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3352,10 +3358,10 @@ yyreduce:  	;}      break; -  case 65: +  case 69: -/* Line 1464 of yacc.c  */ -#line 556 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 565 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3363,10 +3369,10 @@ yyreduce:  	;}      break; -  case 67: +  case 71: -/* Line 1464 of yacc.c  */ -#line 566 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 575 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3374,10 +3380,10 @@ yyreduce:  	;}      break; -  case 69: +  case 73: -/* Line 1464 of yacc.c  */ -#line 576 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 585 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_bit_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3385,10 +3391,10 @@ yyreduce:  	;}      break; -  case 71: +  case 75: -/* Line 1464 of yacc.c  */ -#line 586 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 595 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_and, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3396,10 +3402,10 @@ yyreduce:  	;}      break; -  case 73: +  case 77: -/* Line 1464 of yacc.c  */ -#line 596 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 605 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_xor, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3407,10 +3413,10 @@ yyreduce:  	;}      break; -  case 75: +  case 79: -/* Line 1464 of yacc.c  */ -#line 606 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 615 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.expression) = new(ctx) ast_expression_bin(ast_logic_or, (yyvsp[(1) - (3)].expression), (yyvsp[(3) - (3)].expression)); @@ -3418,10 +3424,10 @@ yyreduce:  	;}      break; -  case 77: +  case 81: -/* Line 1464 of yacc.c  */ -#line 616 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 625 "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)); @@ -3429,10 +3435,10 @@ yyreduce:  	;}      break; -  case 79: +  case 83: -/* Line 1464 of yacc.c  */ -#line 626 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 635 "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); @@ -3440,96 +3446,96 @@ yyreduce:  	;}      break; -  case 80: +  case 84: -/* Line 1464 of yacc.c  */ -#line 634 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 643 "glsl_parser.ypp"      { (yyval.n) = ast_assign; ;}      break; -  case 81: +  case 85: -/* Line 1464 of yacc.c  */ -#line 635 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 644 "glsl_parser.ypp"      { (yyval.n) = ast_mul_assign; ;}      break; -  case 82: +  case 86: -/* Line 1464 of yacc.c  */ -#line 636 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 645 "glsl_parser.ypp"      { (yyval.n) = ast_div_assign; ;}      break; -  case 83: +  case 87: -/* Line 1464 of yacc.c  */ -#line 637 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 646 "glsl_parser.ypp"      { (yyval.n) = ast_mod_assign; ;}      break; -  case 84: +  case 88: -/* Line 1464 of yacc.c  */ -#line 638 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 647 "glsl_parser.ypp"      { (yyval.n) = ast_add_assign; ;}      break; -  case 85: +  case 89: -/* Line 1464 of yacc.c  */ -#line 639 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 648 "glsl_parser.ypp"      { (yyval.n) = ast_sub_assign; ;}      break; -  case 86: +  case 90: -/* Line 1464 of yacc.c  */ -#line 640 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 649 "glsl_parser.ypp"      { (yyval.n) = ast_ls_assign; ;}      break; -  case 87: +  case 91: -/* Line 1464 of yacc.c  */ -#line 641 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 650 "glsl_parser.ypp"      { (yyval.n) = ast_rs_assign; ;}      break; -  case 88: +  case 92: -/* Line 1464 of yacc.c  */ -#line 642 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 651 "glsl_parser.ypp"      { (yyval.n) = ast_and_assign; ;}      break; -  case 89: +  case 93: -/* Line 1464 of yacc.c  */ -#line 643 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 652 "glsl_parser.ypp"      { (yyval.n) = ast_xor_assign; ;}      break; -  case 90: +  case 94: -/* Line 1464 of yacc.c  */ -#line 644 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 653 "glsl_parser.ypp"      { (yyval.n) = ast_or_assign; ;}      break; -  case 91: +  case 95: -/* Line 1464 of yacc.c  */ -#line 649 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 658 "glsl_parser.ypp"      {  	   (yyval.expression) = (yyvsp[(1) - (1)].expression);  	;}      break; -  case 92: +  case 96: -/* Line 1464 of yacc.c  */ -#line 653 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 662 "glsl_parser.ypp"      {  	   void *ctx = state;  	   if ((yyvsp[(1) - (3)].expression)->oper != ast_sequence) { @@ -3544,28 +3550,28 @@ yyreduce:  	;}      break; -  case 94: +  case 98: -/* Line 1464 of yacc.c  */ -#line 673 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 682 "glsl_parser.ypp"      {  	   (yyval.node) = (yyvsp[(1) - (2)].function);  	;}      break; -  case 95: +  case 99: -/* Line 1464 of yacc.c  */ -#line 677 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 686 "glsl_parser.ypp"      {  	   (yyval.node) = (yyvsp[(1) - (2)].declarator_list);  	;}      break; -  case 96: +  case 100: -/* Line 1464 of yacc.c  */ -#line 681 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 690 "glsl_parser.ypp"      {  	   if (((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_float)  	       && ((yyvsp[(3) - (4)].type_specifier)->type_specifier != ast_int)) { @@ -3578,30 +3584,30 @@ yyreduce:  	;}      break; -  case 100: +  case 104: -/* Line 1464 of yacc.c  */ -#line 704 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 713 "glsl_parser.ypp"      {  	   (yyval.function) = (yyvsp[(1) - (2)].function);  	   (yyval.function)->parameters.push_tail(& (yyvsp[(2) - (2)].parameter_declarator)->link);  	;}      break; -  case 101: +  case 105: -/* Line 1464 of yacc.c  */ -#line 709 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 718 "glsl_parser.ypp"      {  	   (yyval.function) = (yyvsp[(1) - (3)].function);  	   (yyval.function)->parameters.push_tail(& (yyvsp[(3) - (3)].parameter_declarator)->link);  	;}      break; -  case 102: +  case 106: -/* Line 1464 of yacc.c  */ -#line 717 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 726 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.function) = new(ctx) ast_function(); @@ -3611,10 +3617,10 @@ yyreduce:  	;}      break; -  case 103: +  case 107: -/* Line 1464 of yacc.c  */ -#line 728 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 737 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3626,10 +3632,10 @@ yyreduce:  	;}      break; -  case 104: +  case 108: -/* Line 1464 of yacc.c  */ -#line 738 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 747 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3643,10 +3649,10 @@ yyreduce:  	;}      break; -  case 105: +  case 109: -/* Line 1464 of yacc.c  */ -#line 753 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 762 "glsl_parser.ypp"      {  	   (yyvsp[(1) - (3)].type_qualifier).i |= (yyvsp[(2) - (3)].type_qualifier).i; @@ -3655,20 +3661,20 @@ yyreduce:  	;}      break; -  case 106: +  case 110: -/* Line 1464 of yacc.c  */ -#line 760 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 769 "glsl_parser.ypp"      {  	   (yyval.parameter_declarator) = (yyvsp[(2) - (2)].parameter_declarator);  	   (yyval.parameter_declarator)->type->qualifier = (yyvsp[(1) - (2)].type_qualifier).q;  	;}      break; -  case 107: +  case 111: -/* Line 1464 of yacc.c  */ -#line 765 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 774 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyvsp[(1) - (3)].type_qualifier).i |= (yyvsp[(2) - (3)].type_qualifier).i; @@ -3681,10 +3687,10 @@ yyreduce:  	;}      break; -  case 108: +  case 112: -/* Line 1464 of yacc.c  */ -#line 776 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 785 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.parameter_declarator) = new(ctx) ast_parameter_declarator(); @@ -3695,38 +3701,38 @@ yyreduce:  	;}      break; -  case 109: +  case 113: -/* Line 1464 of yacc.c  */ -#line 787 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 796 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; ;}      break; -  case 110: +  case 114: -/* Line 1464 of yacc.c  */ -#line 788 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 797 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; ;}      break; -  case 111: +  case 115: -/* Line 1464 of yacc.c  */ -#line 789 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 798 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.out = 1; ;}      break; -  case 112: +  case 116: -/* Line 1464 of yacc.c  */ -#line 790 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 799 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; (yyval.type_qualifier).q.out = 1; ;}      break; -  case 115: +  case 119: -/* Line 1464 of yacc.c  */ -#line 800 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 809 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (3)].identifier), false, NULL, NULL); @@ -3737,10 +3743,10 @@ yyreduce:  	;}      break; -  case 116: +  case 120: -/* Line 1464 of yacc.c  */ -#line 809 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 818 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), true, NULL, NULL); @@ -3751,10 +3757,10 @@ yyreduce:  	;}      break; -  case 117: +  case 121: -/* Line 1464 of yacc.c  */ -#line 818 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 827 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (6)].identifier), true, (yyvsp[(5) - (6)].expression), NULL); @@ -3765,10 +3771,10 @@ yyreduce:  	;}      break; -  case 118: +  case 122: -/* Line 1464 of yacc.c  */ -#line 827 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 836 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (7)].identifier), true, NULL, (yyvsp[(7) - (7)].expression)); @@ -3779,10 +3785,10 @@ yyreduce:  	;}      break; -  case 119: +  case 123: -/* Line 1464 of yacc.c  */ -#line 836 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 845 "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)); @@ -3793,10 +3799,10 @@ yyreduce:  	;}      break; -  case 120: +  case 124: -/* Line 1464 of yacc.c  */ -#line 845 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 854 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(3) - (5)].identifier), false, NULL, (yyvsp[(5) - (5)].expression)); @@ -3807,10 +3813,10 @@ yyreduce:  	;}      break; -  case 121: +  case 125: -/* Line 1464 of yacc.c  */ -#line 858 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 867 "glsl_parser.ypp"      {  	   void *ctx = state;  	   if ((yyvsp[(1) - (1)].fully_specified_type)->specifier->type_specifier != ast_struct) { @@ -3823,10 +3829,10 @@ yyreduce:  	;}      break; -  case 122: +  case 126: -/* Line 1464 of yacc.c  */ -#line 869 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 878 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3837,10 +3843,10 @@ yyreduce:  	;}      break; -  case 123: +  case 127: -/* Line 1464 of yacc.c  */ -#line 878 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 887 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), true, NULL, NULL); @@ -3851,10 +3857,10 @@ yyreduce:  	;}      break; -  case 124: +  case 128: -/* Line 1464 of yacc.c  */ -#line 887 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 896 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (5)].identifier), true, (yyvsp[(4) - (5)].expression), NULL); @@ -3865,10 +3871,10 @@ yyreduce:  	;}      break; -  case 125: +  case 129: -/* Line 1464 of yacc.c  */ -#line 896 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 905 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (6)].identifier), true, NULL, (yyvsp[(6) - (6)].expression)); @@ -3879,10 +3885,10 @@ yyreduce:  	;}      break; -  case 126: +  case 130: -/* Line 1464 of yacc.c  */ -#line 905 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 914 "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)); @@ -3893,10 +3899,10 @@ yyreduce:  	;}      break; -  case 127: +  case 131: -/* Line 1464 of yacc.c  */ -#line 914 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 923 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -3907,10 +3913,10 @@ yyreduce:  	;}      break; -  case 128: +  case 132: -/* Line 1464 of yacc.c  */ -#line 923 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 932 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (2)].identifier), false, NULL, NULL); @@ -3923,10 +3929,10 @@ yyreduce:  	;}      break; -  case 129: +  case 133: -/* Line 1464 of yacc.c  */ -#line 937 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 946 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -3935,10 +3941,10 @@ yyreduce:  	;}      break; -  case 130: +  case 134: -/* Line 1464 of yacc.c  */ -#line 944 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 953 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.fully_specified_type) = new(ctx) ast_fully_specified_type(); @@ -3948,35 +3954,35 @@ yyreduce:  	;}      break; -  case 131: +  case 135: -/* Line 1464 of yacc.c  */ -#line 954 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 963 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; ;}      break; -  case 133: +  case 137: -/* Line 1464 of yacc.c  */ -#line 960 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 969 "glsl_parser.ypp"      {  	  (yyval.type_qualifier) = (yyvsp[(3) - (4)].type_qualifier);  	;}      break; -  case 135: +  case 139: -/* Line 1464 of yacc.c  */ -#line 968 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 977 "glsl_parser.ypp"      {  	   (yyval.type_qualifier).i = (yyvsp[(1) - (3)].type_qualifier).i | (yyvsp[(3) - (3)].type_qualifier).i;  	;}      break; -  case 136: +  case 140: -/* Line 1464 of yacc.c  */ -#line 975 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 984 "glsl_parser.ypp"      {  	   (yyval.type_qualifier).i = 0; @@ -4009,130 +4015,130 @@ yyreduce:  	;}      break; -  case 137: +  case 141: -/* Line 1464 of yacc.c  */ -#line 1008 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1017 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.smooth = 1; ;}      break; -  case 138: +  case 142: -/* Line 1464 of yacc.c  */ -#line 1009 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1018 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.flat = 1; ;}      break; -  case 139: +  case 143: -/* Line 1464 of yacc.c  */ -#line 1010 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1019 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.noperspective = 1; ;}      break; -  case 140: +  case 144: -/* Line 1464 of yacc.c  */ -#line 1014 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1023 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.constant = 1; ;}      break; -  case 142: +  case 146: -/* Line 1464 of yacc.c  */ -#line 1020 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1029 "glsl_parser.ypp"      {  	   (yyval.type_qualifier).i = (yyvsp[(1) - (2)].type_qualifier).i | (yyvsp[(2) - (2)].type_qualifier).i;  	;}      break; -  case 143: +  case 147: -/* Line 1464 of yacc.c  */ -#line 1024 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1033 "glsl_parser.ypp"      {  	   (yyval.type_qualifier) = (yyvsp[(2) - (2)].type_qualifier);  	   (yyval.type_qualifier).q.invariant = 1;  	;}      break; -  case 144: +  case 148: -/* Line 1464 of yacc.c  */ -#line 1031 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1040 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.constant = 1; ;}      break; -  case 145: +  case 149: -/* Line 1464 of yacc.c  */ -#line 1032 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1041 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.attribute = 1; ;}      break; -  case 146: +  case 150: -/* Line 1464 of yacc.c  */ -#line 1033 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1042 "glsl_parser.ypp"      { (yyval.type_qualifier).i = (yyvsp[(1) - (2)].type_qualifier).i; (yyval.type_qualifier).q.varying = 1; ;}      break; -  case 147: +  case 151: -/* Line 1464 of yacc.c  */ -#line 1034 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1043 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.varying = 1; ;}      break; -  case 148: +  case 152: -/* Line 1464 of yacc.c  */ -#line 1035 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1044 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.in = 1; ;}      break; -  case 149: +  case 153: -/* Line 1464 of yacc.c  */ -#line 1036 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1045 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.out = 1; ;}      break; -  case 150: +  case 154: -/* Line 1464 of yacc.c  */ -#line 1037 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1046 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.in = 1; ;}      break; -  case 151: +  case 155: -/* Line 1464 of yacc.c  */ -#line 1038 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1047 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.centroid = 1; (yyval.type_qualifier).q.out = 1; ;}      break; -  case 152: +  case 156: -/* Line 1464 of yacc.c  */ -#line 1039 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1048 "glsl_parser.ypp"      { (yyval.type_qualifier).i = 0; (yyval.type_qualifier).q.uniform = 1; ;}      break; -  case 154: +  case 158: -/* Line 1464 of yacc.c  */ -#line 1045 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1054 "glsl_parser.ypp"      {  	   (yyval.type_specifier) = (yyvsp[(2) - (2)].type_specifier);  	   (yyval.type_specifier)->precision = (yyvsp[(1) - (2)].n);  	;}      break; -  case 156: +  case 160: -/* Line 1464 of yacc.c  */ -#line 1054 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1063 "glsl_parser.ypp"      {  	   (yyval.type_specifier) = (yyvsp[(1) - (3)].type_specifier);  	   (yyval.type_specifier)->is_array = true; @@ -4140,10 +4146,10 @@ yyreduce:  	;}      break; -  case 157: +  case 161: -/* Line 1464 of yacc.c  */ -#line 1060 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1069 "glsl_parser.ypp"      {  	   (yyval.type_specifier) = (yyvsp[(1) - (4)].type_specifier);  	   (yyval.type_specifier)->is_array = true; @@ -4151,10 +4157,10 @@ yyreduce:  	;}      break; -  case 158: +  case 162: -/* Line 1464 of yacc.c  */ -#line 1069 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1078 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].n)); @@ -4162,10 +4168,10 @@ yyreduce:  	;}      break; -  case 159: +  case 163: -/* Line 1464 of yacc.c  */ -#line 1075 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1084 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].struct_specifier)); @@ -4173,10 +4179,10 @@ yyreduce:  	;}      break; -  case 160: +  case 164: -/* Line 1464 of yacc.c  */ -#line 1081 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1090 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.type_specifier) = new(ctx) ast_type_specifier((yyvsp[(1) - (1)].identifier)); @@ -4184,367 +4190,367 @@ yyreduce:  	;}      break; -  case 161: +  case 165: -/* Line 1464 of yacc.c  */ -#line 1089 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1098 "glsl_parser.ypp"      { (yyval.n) = ast_void; ;}      break; -  case 162: +  case 166: -/* Line 1464 of yacc.c  */ -#line 1090 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1099 "glsl_parser.ypp"      { (yyval.n) = ast_float; ;}      break; -  case 163: +  case 167: -/* Line 1464 of yacc.c  */ -#line 1091 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1100 "glsl_parser.ypp"      { (yyval.n) = ast_int; ;}      break; -  case 164: +  case 168: -/* Line 1464 of yacc.c  */ -#line 1092 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1101 "glsl_parser.ypp"      { (yyval.n) = ast_uint; ;}      break; -  case 165: +  case 169: -/* Line 1464 of yacc.c  */ -#line 1093 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1102 "glsl_parser.ypp"      { (yyval.n) = ast_bool; ;}      break; -  case 166: +  case 170: -/* Line 1464 of yacc.c  */ -#line 1094 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1103 "glsl_parser.ypp"      { (yyval.n) = ast_vec2; ;}      break; -  case 167: +  case 171: -/* Line 1464 of yacc.c  */ -#line 1095 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1104 "glsl_parser.ypp"      { (yyval.n) = ast_vec3; ;}      break; -  case 168: +  case 172: -/* Line 1464 of yacc.c  */ -#line 1096 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1105 "glsl_parser.ypp"      { (yyval.n) = ast_vec4; ;}      break; -  case 169: +  case 173: -/* Line 1464 of yacc.c  */ -#line 1097 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1106 "glsl_parser.ypp"      { (yyval.n) = ast_bvec2; ;}      break; -  case 170: +  case 174: -/* Line 1464 of yacc.c  */ -#line 1098 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1107 "glsl_parser.ypp"      { (yyval.n) = ast_bvec3; ;}      break; -  case 171: +  case 175: -/* Line 1464 of yacc.c  */ -#line 1099 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1108 "glsl_parser.ypp"      { (yyval.n) = ast_bvec4; ;}      break; -  case 172: +  case 176: -/* Line 1464 of yacc.c  */ -#line 1100 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1109 "glsl_parser.ypp"      { (yyval.n) = ast_ivec2; ;}      break; -  case 173: +  case 177: -/* Line 1464 of yacc.c  */ -#line 1101 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1110 "glsl_parser.ypp"      { (yyval.n) = ast_ivec3; ;}      break; -  case 174: +  case 178: -/* Line 1464 of yacc.c  */ -#line 1102 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1111 "glsl_parser.ypp"      { (yyval.n) = ast_ivec4; ;}      break; -  case 175: +  case 179: -/* Line 1464 of yacc.c  */ -#line 1103 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1112 "glsl_parser.ypp"      { (yyval.n) = ast_uvec2; ;}      break; -  case 176: +  case 180: -/* Line 1464 of yacc.c  */ -#line 1104 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1113 "glsl_parser.ypp"      { (yyval.n) = ast_uvec3; ;}      break; -  case 177: +  case 181: -/* Line 1464 of yacc.c  */ -#line 1105 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1114 "glsl_parser.ypp"      { (yyval.n) = ast_uvec4; ;}      break; -  case 178: +  case 182: -/* Line 1464 of yacc.c  */ -#line 1106 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1115 "glsl_parser.ypp"      { (yyval.n) = ast_mat2; ;}      break; -  case 179: +  case 183: -/* Line 1464 of yacc.c  */ -#line 1107 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1116 "glsl_parser.ypp"      { (yyval.n) = ast_mat2x3; ;}      break; -  case 180: +  case 184: -/* Line 1464 of yacc.c  */ -#line 1108 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1117 "glsl_parser.ypp"      { (yyval.n) = ast_mat2x4; ;}      break; -  case 181: +  case 185: -/* Line 1464 of yacc.c  */ -#line 1109 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1118 "glsl_parser.ypp"      { (yyval.n) = ast_mat3x2; ;}      break; -  case 182: +  case 186: -/* Line 1464 of yacc.c  */ -#line 1110 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1119 "glsl_parser.ypp"      { (yyval.n) = ast_mat3; ;}      break; -  case 183: +  case 187: -/* Line 1464 of yacc.c  */ -#line 1111 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1120 "glsl_parser.ypp"      { (yyval.n) = ast_mat3x4; ;}      break; -  case 184: +  case 188: -/* Line 1464 of yacc.c  */ -#line 1112 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1121 "glsl_parser.ypp"      { (yyval.n) = ast_mat4x2; ;}      break; -  case 185: +  case 189: -/* Line 1464 of yacc.c  */ -#line 1113 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1122 "glsl_parser.ypp"      { (yyval.n) = ast_mat4x3; ;}      break; -  case 186: +  case 190: -/* Line 1464 of yacc.c  */ -#line 1114 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1123 "glsl_parser.ypp"      { (yyval.n) = ast_mat4; ;}      break; -  case 187: +  case 191: -/* Line 1464 of yacc.c  */ -#line 1115 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1124 "glsl_parser.ypp"      { (yyval.n) = ast_sampler1d; ;}      break; -  case 188: +  case 192: -/* Line 1464 of yacc.c  */ -#line 1116 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1125 "glsl_parser.ypp"      { (yyval.n) = ast_sampler2d; ;}      break; -  case 189: +  case 193: -/* Line 1464 of yacc.c  */ -#line 1117 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1126 "glsl_parser.ypp"      { (yyval.n) = ast_sampler2drect; ;}      break; -  case 190: +  case 194: -/* Line 1464 of yacc.c  */ -#line 1118 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1127 "glsl_parser.ypp"      { (yyval.n) = ast_sampler3d; ;}      break; -  case 191: +  case 195: -/* Line 1464 of yacc.c  */ -#line 1119 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1128 "glsl_parser.ypp"      { (yyval.n) = ast_samplercube; ;}      break; -  case 192: +  case 196: -/* Line 1464 of yacc.c  */ -#line 1120 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1129 "glsl_parser.ypp"      { (yyval.n) = ast_sampler1dshadow; ;}      break; -  case 193: +  case 197: -/* Line 1464 of yacc.c  */ -#line 1121 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1130 "glsl_parser.ypp"      { (yyval.n) = ast_sampler2dshadow; ;}      break; -  case 194: +  case 198: -/* Line 1464 of yacc.c  */ -#line 1122 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1131 "glsl_parser.ypp"      { (yyval.n) = ast_sampler2drectshadow; ;}      break; -  case 195: +  case 199: -/* Line 1464 of yacc.c  */ -#line 1123 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1132 "glsl_parser.ypp"      { (yyval.n) = ast_samplercubeshadow; ;}      break; -  case 196: +  case 200: -/* Line 1464 of yacc.c  */ -#line 1124 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1133 "glsl_parser.ypp"      { (yyval.n) = ast_sampler1darray; ;}      break; -  case 197: +  case 201: -/* Line 1464 of yacc.c  */ -#line 1125 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1134 "glsl_parser.ypp"      { (yyval.n) = ast_sampler2darray; ;}      break; -  case 198: +  case 202: -/* Line 1464 of yacc.c  */ -#line 1126 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1135 "glsl_parser.ypp"      { (yyval.n) = ast_sampler1darrayshadow; ;}      break; -  case 199: +  case 203: -/* Line 1464 of yacc.c  */ -#line 1127 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1136 "glsl_parser.ypp"      { (yyval.n) = ast_sampler2darrayshadow; ;}      break; -  case 200: +  case 204: -/* Line 1464 of yacc.c  */ -#line 1128 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1137 "glsl_parser.ypp"      { (yyval.n) = ast_isampler1d; ;}      break; -  case 201: +  case 205: -/* Line 1464 of yacc.c  */ -#line 1129 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1138 "glsl_parser.ypp"      { (yyval.n) = ast_isampler2d; ;}      break; -  case 202: +  case 206: -/* Line 1464 of yacc.c  */ -#line 1130 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1139 "glsl_parser.ypp"      { (yyval.n) = ast_isampler3d; ;}      break; -  case 203: +  case 207: -/* Line 1464 of yacc.c  */ -#line 1131 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1140 "glsl_parser.ypp"      { (yyval.n) = ast_isamplercube; ;}      break; -  case 204: +  case 208: -/* Line 1464 of yacc.c  */ -#line 1132 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1141 "glsl_parser.ypp"      { (yyval.n) = ast_isampler1darray; ;}      break; -  case 205: +  case 209: -/* Line 1464 of yacc.c  */ -#line 1133 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1142 "glsl_parser.ypp"      { (yyval.n) = ast_isampler2darray; ;}      break; -  case 206: +  case 210: -/* Line 1464 of yacc.c  */ -#line 1134 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1143 "glsl_parser.ypp"      { (yyval.n) = ast_usampler1d; ;}      break; -  case 207: +  case 211: -/* Line 1464 of yacc.c  */ -#line 1135 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1144 "glsl_parser.ypp"      { (yyval.n) = ast_usampler2d; ;}      break; -  case 208: +  case 212: -/* Line 1464 of yacc.c  */ -#line 1136 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1145 "glsl_parser.ypp"      { (yyval.n) = ast_usampler3d; ;}      break; -  case 209: +  case 213: -/* Line 1464 of yacc.c  */ -#line 1137 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1146 "glsl_parser.ypp"      { (yyval.n) = ast_usamplercube; ;}      break; -  case 210: +  case 214: -/* Line 1464 of yacc.c  */ -#line 1138 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1147 "glsl_parser.ypp"      { (yyval.n) = ast_usampler1darray; ;}      break; -  case 211: +  case 215: -/* Line 1464 of yacc.c  */ -#line 1139 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1148 "glsl_parser.ypp"      { (yyval.n) = ast_usampler2darray; ;}      break; -  case 212: +  case 216: -/* Line 1464 of yacc.c  */ -#line 1143 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1152 "glsl_parser.ypp"      {  			   if (state->language_version < 130)  			      _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4558,10 +4564,10 @@ yyreduce:  			;}      break; -  case 213: +  case 217: -/* Line 1464 of yacc.c  */ -#line 1154 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1163 "glsl_parser.ypp"      {  			   if (state->language_version < 130)  			      _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4575,10 +4581,10 @@ yyreduce:  			;}      break; -  case 214: +  case 218: -/* Line 1464 of yacc.c  */ -#line 1165 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1174 "glsl_parser.ypp"      {  			   if (state->language_version < 130)  			      _mesa_glsl_error(& (yylsp[(1) - (1)]), state, @@ -4592,10 +4598,10 @@ yyreduce:  			;}      break; -  case 215: +  case 219: -/* Line 1464 of yacc.c  */ -#line 1180 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1189 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.struct_specifier) = new(ctx) ast_struct_specifier((yyvsp[(2) - (5)].identifier), (yyvsp[(4) - (5)].node)); @@ -4603,10 +4609,10 @@ yyreduce:  	;}      break; -  case 216: +  case 220: -/* Line 1464 of yacc.c  */ -#line 1186 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1195 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.struct_specifier) = new(ctx) ast_struct_specifier(NULL, (yyvsp[(3) - (4)].node)); @@ -4614,30 +4620,30 @@ yyreduce:  	;}      break; -  case 217: +  case 221: -/* Line 1464 of yacc.c  */ -#line 1195 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1204 "glsl_parser.ypp"      {  	   (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].declarator_list);  	   (yyvsp[(1) - (1)].declarator_list)->link.self_link();  	;}      break; -  case 218: +  case 222: -/* Line 1464 of yacc.c  */ -#line 1200 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1209 "glsl_parser.ypp"      {  	   (yyval.node) = (ast_node *) (yyvsp[(1) - (2)].node);  	   (yyval.node)->link.insert_before(& (yyvsp[(2) - (2)].declarator_list)->link);  	;}      break; -  case 219: +  case 223: -/* Line 1464 of yacc.c  */ -#line 1208 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1217 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_fully_specified_type *type = new(ctx) ast_fully_specified_type(); @@ -4651,30 +4657,30 @@ yyreduce:  	;}      break; -  case 220: +  case 224: -/* Line 1464 of yacc.c  */ -#line 1223 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1232 "glsl_parser.ypp"      {  	   (yyval.declaration) = (yyvsp[(1) - (1)].declaration);  	   (yyvsp[(1) - (1)].declaration)->link.self_link();  	;}      break; -  case 221: +  case 225: -/* Line 1464 of yacc.c  */ -#line 1228 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1237 "glsl_parser.ypp"      {  	   (yyval.declaration) = (yyvsp[(1) - (3)].declaration);  	   (yyval.declaration)->link.insert_before(& (yyvsp[(3) - (3)].declaration)->link);  	;}      break; -  case 222: +  case 226: -/* Line 1464 of yacc.c  */ -#line 1236 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1245 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (1)].identifier), false, NULL, NULL); @@ -4682,10 +4688,10 @@ yyreduce:  	;}      break; -  case 223: +  case 227: -/* Line 1464 of yacc.c  */ -#line 1242 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1251 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.declaration) = new(ctx) ast_declaration((yyvsp[(1) - (4)].identifier), true, (yyvsp[(3) - (4)].expression), NULL); @@ -4693,31 +4699,31 @@ yyreduce:  	;}      break; -  case 228: +  case 232: -/* Line 1464 of yacc.c  */ -#line 1265 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1274 "glsl_parser.ypp"      { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;}      break; -  case 234: +  case 238: -/* Line 1464 of yacc.c  */ -#line 1277 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1286 "glsl_parser.ypp"      { (yyval.node) = NULL; ;}      break; -  case 235: +  case 239: -/* Line 1464 of yacc.c  */ -#line 1278 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1287 "glsl_parser.ypp"      { (yyval.node) = NULL; ;}      break; -  case 238: +  case 242: -/* Line 1464 of yacc.c  */ -#line 1285 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1294 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.compound_statement) = new(ctx) ast_compound_statement(true, NULL); @@ -4725,10 +4731,10 @@ yyreduce:  	;}      break; -  case 239: +  case 243: -/* Line 1464 of yacc.c  */ -#line 1291 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1300 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.compound_statement) = new(ctx) ast_compound_statement(true, (yyvsp[(2) - (3)].node)); @@ -4736,17 +4742,17 @@ yyreduce:  	;}      break; -  case 240: +  case 244: -/* Line 1464 of yacc.c  */ -#line 1299 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1308 "glsl_parser.ypp"      { (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].compound_statement); ;}      break; -  case 242: +  case 246: -/* Line 1464 of yacc.c  */ -#line 1305 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1314 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.compound_statement) = new(ctx) ast_compound_statement(false, NULL); @@ -4754,10 +4760,10 @@ yyreduce:  	;}      break; -  case 243: +  case 247: -/* Line 1464 of yacc.c  */ -#line 1311 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1320 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.compound_statement) = new(ctx) ast_compound_statement(false, (yyvsp[(2) - (3)].node)); @@ -4765,10 +4771,10 @@ yyreduce:  	;}      break; -  case 244: +  case 248: -/* Line 1464 of yacc.c  */ -#line 1320 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1329 "glsl_parser.ypp"      {  	   if ((yyvsp[(1) - (1)].node) == NULL) {  	      _mesa_glsl_error(& (yylsp[(1) - (1)]), state, "<nil> statement\n"); @@ -4780,10 +4786,10 @@ yyreduce:  	;}      break; -  case 245: +  case 249: -/* Line 1464 of yacc.c  */ -#line 1330 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1339 "glsl_parser.ypp"      {  	   if ((yyvsp[(2) - (2)].node) == NULL) {  	      _mesa_glsl_error(& (yylsp[(2) - (2)]), state, "<nil> statement\n"); @@ -4794,10 +4800,10 @@ yyreduce:  	;}      break; -  case 246: +  case 250: -/* Line 1464 of yacc.c  */ -#line 1342 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1351 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_expression_statement(NULL); @@ -4805,10 +4811,10 @@ yyreduce:  	;}      break; -  case 247: +  case 251: -/* Line 1464 of yacc.c  */ -#line 1348 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1357 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_expression_statement((yyvsp[(1) - (2)].expression)); @@ -4816,10 +4822,10 @@ yyreduce:  	;}      break; -  case 248: +  case 252: -/* Line 1464 of yacc.c  */ -#line 1357 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1366 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (7)].expression), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); @@ -4827,10 +4833,10 @@ yyreduce:  	;}      break; -  case 249: +  case 253: -/* Line 1464 of yacc.c  */ -#line 1366 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1375 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].node), NULL); @@ -4838,10 +4844,10 @@ yyreduce:  	;}      break; -  case 250: +  case 254: -/* Line 1464 of yacc.c  */ -#line 1372 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1381 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (5)].expression), (yyvsp[(5) - (5)].node), NULL); @@ -4849,10 +4855,10 @@ yyreduce:  	;}      break; -  case 251: +  case 255: -/* Line 1464 of yacc.c  */ -#line 1378 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1387 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_selection_statement((yyvsp[(3) - (7)].expression), (yyvsp[(5) - (7)].node), (yyvsp[(7) - (7)].node)); @@ -4860,19 +4866,19 @@ yyreduce:  	;}      break; -  case 252: +  case 256: -/* Line 1464 of yacc.c  */ -#line 1387 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1396 "glsl_parser.ypp"      {  	   (yyval.node) = (ast_node *) (yyvsp[(1) - (1)].expression);  	;}      break; -  case 253: +  case 257: -/* Line 1464 of yacc.c  */ -#line 1391 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1400 "glsl_parser.ypp"      {  	   void *ctx = state;  	   ast_declaration *decl = new(ctx) ast_declaration((yyvsp[(2) - (4)].identifier), false, NULL, (yyvsp[(4) - (4)].expression)); @@ -4885,10 +4891,10 @@ yyreduce:  	;}      break; -  case 257: +  case 261: -/* Line 1464 of yacc.c  */ -#line 1414 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1423 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_while, @@ -4897,10 +4903,10 @@ yyreduce:  	;}      break; -  case 258: +  case 262: -/* Line 1464 of yacc.c  */ -#line 1421 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1430 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_do_while, @@ -4909,10 +4915,10 @@ yyreduce:  	;}      break; -  case 259: +  case 263: -/* Line 1464 of yacc.c  */ -#line 1428 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1437 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_iteration_statement(ast_iteration_statement::ast_for, @@ -4921,39 +4927,39 @@ yyreduce:  	;}      break; -  case 263: +  case 267: -/* Line 1464 of yacc.c  */ -#line 1444 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1453 "glsl_parser.ypp"      {  	   (yyval.node) = NULL;  	;}      break; -  case 264: +  case 268: -/* Line 1464 of yacc.c  */ -#line 1451 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1460 "glsl_parser.ypp"      {  	   (yyval.for_rest_statement).cond = (yyvsp[(1) - (2)].node);  	   (yyval.for_rest_statement).rest = NULL;  	;}      break; -  case 265: +  case 269: -/* Line 1464 of yacc.c  */ -#line 1456 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1465 "glsl_parser.ypp"      {  	   (yyval.for_rest_statement).cond = (yyvsp[(1) - (3)].node);  	   (yyval.for_rest_statement).rest = (yyvsp[(3) - (3)].expression);  	;}      break; -  case 266: +  case 270: -/* Line 1464 of yacc.c  */ -#line 1465 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1474 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_continue, NULL); @@ -4961,10 +4967,10 @@ yyreduce:  	;}      break; -  case 267: +  case 271: -/* Line 1464 of yacc.c  */ -#line 1471 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1480 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_break, NULL); @@ -4972,10 +4978,10 @@ yyreduce:  	;}      break; -  case 268: +  case 272: -/* Line 1464 of yacc.c  */ -#line 1477 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1486 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, NULL); @@ -4983,10 +4989,10 @@ yyreduce:  	;}      break; -  case 269: +  case 273: -/* Line 1464 of yacc.c  */ -#line 1483 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1492 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_return, (yyvsp[(2) - (3)].expression)); @@ -4994,10 +5000,10 @@ yyreduce:  	;}      break; -  case 270: +  case 274: -/* Line 1464 of yacc.c  */ -#line 1489 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1498 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.node) = new(ctx) ast_jump_statement(ast_jump_statement::ast_discard, NULL); @@ -5005,24 +5011,31 @@ yyreduce:  	;}      break; -  case 271: +  case 275: -/* Line 1464 of yacc.c  */ -#line 1497 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1506 "glsl_parser.ypp"      { (yyval.node) = (yyvsp[(1) - (1)].function_definition); ;}      break; -  case 272: +  case 276: -/* Line 1464 of yacc.c  */ -#line 1498 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1507 "glsl_parser.ypp"      { (yyval.node) = (yyvsp[(1) - (1)].node); ;}      break; -  case 273: +  case 277: -/* Line 1464 of yacc.c  */ -#line 1503 "glsl_parser.ypp" +/* Line 1455 of yacc.c  */ +#line 1508 "glsl_parser.ypp" +    { (yyval.node) = NULL; ;} +    break; + +  case 278: + +/* Line 1455 of yacc.c  */ +#line 1513 "glsl_parser.ypp"      {  	   void *ctx = state;  	   (yyval.function_definition) = new(ctx) ast_function_definition(); @@ -5034,8 +5047,8 @@ yyreduce: -/* Line 1464 of yacc.c  */ -#line 5039 "glsl_parser.cpp" +/* Line 1455 of yacc.c  */ +#line 5052 "glsl_parser.cpp"        default: break;      }    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -5107,7 +5120,7 @@ yyerrlab:  #endif      } -  yyerror_range[1] = yylloc; +  yyerror_range[0] = yylloc;    if (yyerrstatus == 3)      { @@ -5144,7 +5157,7 @@ yyerrorlab:    if (/*CONSTCOND*/ 0)       goto yyerrorlab; -  yyerror_range[1] = yylsp[1-yylen]; +  yyerror_range[0] = yylsp[1-yylen];    /* Do not reclaim the symbols of the rule which action triggered       this YYERROR.  */    YYPOPSTACK (yylen); @@ -5178,7 +5191,7 @@ yyerrlab1:        if (yyssp == yyss)  	YYABORT; -      yyerror_range[1] = *yylsp; +      yyerror_range[0] = *yylsp;        yydestruct ("Error: popping",  		  yystos[yystate], yyvsp, yylsp, state);        YYPOPSTACK (1); @@ -5188,10 +5201,10 @@ yyerrlab1:    *++yyvsp = yylval; -  yyerror_range[2] = yylloc; +  yyerror_range[1] = yylloc;    /* Using YYLLOC is tempting, but would change the location of       the lookahead.  YYLOC is available though.  */ -  YYLLOC_DEFAULT (yyloc, yyerror_range, 2); +  YYLLOC_DEFAULT (yyloc, (yyerror_range - 1), 2);    *++yylsp = yyloc;    /* Shift the error token.  */ diff --git a/src/glsl/glsl_parser.h b/src/glsl/glsl_parser.h index 96f9df1129..3ed90853ad 100644 --- a/src/glsl/glsl_parser.h +++ b/src/glsl/glsl_parser.h @@ -1,9 +1,10 @@ -/* A Bison parser, made by GNU Bison 2.4.3.  */ + +/* A Bison parser, made by GNU Bison 2.4.1.  */  /* Skeleton interface for Bison's Yacc-like parsers in C -      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006, -   2009, 2010 Free Software Foundation, Inc. +      Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006 +   Free Software Foundation, Inc.     This program is free software: you can redistribute it and/or modify     it under the terms of the GNU General Public License as published by @@ -147,82 +148,85 @@       VERSION = 364,       EXTENSION = 365,       LINE = 366, -     PRAGMA = 367, -     COLON = 368, -     EOL = 369, -     INTERFACE = 370, -     OUTPUT = 371, -     LAYOUT_TOK = 372, -     ASM = 373, -     CLASS = 374, -     UNION = 375, -     ENUM = 376, -     TYPEDEF = 377, -     TEMPLATE = 378, -     THIS = 379, -     PACKED_TOK = 380, -     GOTO = 381, -     INLINE_TOK = 382, -     NOINLINE = 383, -     VOLATILE = 384, -     PUBLIC_TOK = 385, -     STATIC = 386, -     EXTERN = 387, -     EXTERNAL = 388, -     LONG_TOK = 389, -     SHORT_TOK = 390, -     DOUBLE_TOK = 391, -     HALF = 392, -     FIXED_TOK = 393, -     UNSIGNED = 394, -     INPUT_TOK = 395, -     OUPTUT = 396, -     HVEC2 = 397, -     HVEC3 = 398, -     HVEC4 = 399, -     DVEC2 = 400, -     DVEC3 = 401, -     DVEC4 = 402, -     FVEC2 = 403, -     FVEC3 = 404, -     FVEC4 = 405, -     SAMPLER2DRECT = 406, -     SAMPLER3DRECT = 407, -     SAMPLER2DRECTSHADOW = 408, -     SIZEOF = 409, -     CAST = 410, -     NAMESPACE = 411, -     USING = 412, -     ERROR_TOK = 413, -     COMMON = 414, -     PARTITION = 415, -     ACTIVE = 416, -     SAMPLERBUFFER = 417, -     FILTER = 418, -     IMAGE1D = 419, -     IMAGE2D = 420, -     IMAGE3D = 421, -     IMAGECUBE = 422, -     IMAGE1DARRAY = 423, -     IMAGE2DARRAY = 424, -     IIMAGE1D = 425, -     IIMAGE2D = 426, -     IIMAGE3D = 427, -     IIMAGECUBE = 428, -     IIMAGE1DARRAY = 429, -     IIMAGE2DARRAY = 430, -     UIMAGE1D = 431, -     UIMAGE2D = 432, -     UIMAGE3D = 433, -     UIMAGECUBE = 434, -     UIMAGE1DARRAY = 435, -     UIMAGE2DARRAY = 436, -     IMAGE1DSHADOW = 437, -     IMAGE2DSHADOW = 438, -     IMAGEBUFFER = 439, -     IIMAGEBUFFER = 440, -     UIMAGEBUFFER = 441, -     ROW_MAJOR = 442 +     COLON = 367, +     EOL = 368, +     INTERFACE = 369, +     OUTPUT = 370, +     PRAGMA_DEBUG_ON = 371, +     PRAGMA_DEBUG_OFF = 372, +     PRAGMA_OPTIMIZE_ON = 373, +     PRAGMA_OPTIMIZE_OFF = 374, +     LAYOUT_TOK = 375, +     ASM = 376, +     CLASS = 377, +     UNION = 378, +     ENUM = 379, +     TYPEDEF = 380, +     TEMPLATE = 381, +     THIS = 382, +     PACKED_TOK = 383, +     GOTO = 384, +     INLINE_TOK = 385, +     NOINLINE = 386, +     VOLATILE = 387, +     PUBLIC_TOK = 388, +     STATIC = 389, +     EXTERN = 390, +     EXTERNAL = 391, +     LONG_TOK = 392, +     SHORT_TOK = 393, +     DOUBLE_TOK = 394, +     HALF = 395, +     FIXED_TOK = 396, +     UNSIGNED = 397, +     INPUT_TOK = 398, +     OUPTUT = 399, +     HVEC2 = 400, +     HVEC3 = 401, +     HVEC4 = 402, +     DVEC2 = 403, +     DVEC3 = 404, +     DVEC4 = 405, +     FVEC2 = 406, +     FVEC3 = 407, +     FVEC4 = 408, +     SAMPLER2DRECT = 409, +     SAMPLER3DRECT = 410, +     SAMPLER2DRECTSHADOW = 411, +     SIZEOF = 412, +     CAST = 413, +     NAMESPACE = 414, +     USING = 415, +     ERROR_TOK = 416, +     COMMON = 417, +     PARTITION = 418, +     ACTIVE = 419, +     SAMPLERBUFFER = 420, +     FILTER = 421, +     IMAGE1D = 422, +     IMAGE2D = 423, +     IMAGE3D = 424, +     IMAGECUBE = 425, +     IMAGE1DARRAY = 426, +     IMAGE2DARRAY = 427, +     IIMAGE1D = 428, +     IIMAGE2D = 429, +     IIMAGE3D = 430, +     IIMAGECUBE = 431, +     IIMAGE1DARRAY = 432, +     IIMAGE2DARRAY = 433, +     UIMAGE1D = 434, +     UIMAGE2D = 435, +     UIMAGE3D = 436, +     UIMAGECUBE = 437, +     UIMAGE1DARRAY = 438, +     UIMAGE2DARRAY = 439, +     IMAGE1DSHADOW = 440, +     IMAGE2DSHADOW = 441, +     IMAGEBUFFER = 442, +     IIMAGEBUFFER = 443, +     UIMAGEBUFFER = 444, +     ROW_MAJOR = 445     };  #endif @@ -232,7 +236,7 @@  typedef union YYSTYPE  { -/* Line 1685 of yacc.c  */ +/* Line 1676 of yacc.c  */  #line 52 "glsl_parser.ypp"     int n; @@ -263,8 +267,8 @@ typedef union YYSTYPE -/* Line 1685 of yacc.c  */ -#line 268 "glsl_parser.h" +/* Line 1676 of yacc.c  */ +#line 272 "glsl_parser.h"  } YYSTYPE;  # define YYSTYPE_IS_TRIVIAL 1  # define yystype YYSTYPE /* obsolescent; will be withdrawn */  | 
