diff options
| -rw-r--r-- | src/mesa/shader/program_parse.tab.c | 1151 | ||||
| -rw-r--r-- | src/mesa/shader/program_parse.y | 9 | 
2 files changed, 594 insertions, 566 deletions
diff --git a/src/mesa/shader/program_parse.tab.c b/src/mesa/shader/program_parse.tab.c index 906c6b4738..ae35bd3fef 100644 --- a/src/mesa/shader/program_parse.tab.c +++ b/src/mesa/shader/program_parse.tab.c @@ -580,16 +580,16 @@ union yyalloc  /* YYFINAL -- State number of the termination state.  */  #define YYFINAL  5  /* YYLAST -- Last index in YYTABLE.  */ -#define YYLAST   337 +#define YYLAST   340  /* YYNTOKENS -- Number of terminals.  */  #define YYNTOKENS  115  /* YYNNTS -- Number of nonterminals.  */ -#define YYNNTS  133 +#define YYNNTS  134  /* YYNRULES -- Number of rules.  */ -#define YYNRULES  262 +#define YYNRULES  264  /* YYNRULES -- Number of states.  */ -#define YYNSTATES  431 +#define YYNSTATES  434  /* YYTRANSLATE(YYLEX) -- Bison symbol number corresponding to YYLEX.  */  #define YYUNDEFTOK  2 @@ -658,20 +658,20 @@ static const yytype_uint16 yyprhs[] =       277,   278,   282,   284,   286,   289,   291,   294,   296,   298,       302,   309,   310,   312,   315,   320,   322,   326,   328,   330,       332,   334,   336,   338,   340,   342,   344,   346,   349,   352, -     355,   358,   361,   364,   367,   370,   373,   376,   379,   383, -     385,   387,   389,   395,   397,   399,   401,   404,   406,   408, -     411,   413,   416,   423,   425,   429,   431,   433,   435,   437, -     439,   444,   446,   448,   450,   452,   454,   456,   459,   461, -     463,   469,   471,   474,   476,   478,   484,   487,   488,   495, -     499,   500,   502,   504,   506,   508,   510,   513,   515,   517, -     520,   525,   530,   531,   533,   535,   537,   539,   541,   543, -     545,   547,   553,   555,   559,   565,   571,   573,   577,   583, -     585,   587,   589,   591,   593,   595,   597,   599,   601,   605, -     611,   619,   629,   632,   635,   637,   639,   640,   641,   645, -     646,   650,   654,   656,   661,   664,   667,   670,   673,   677, -     680,   684,   685,   687,   689,   690,   692,   694,   695,   697, -     699,   700,   702,   704,   705,   709,   710,   714,   715,   719, -     721,   723,   725 +     355,   358,   361,   364,   367,   370,   373,   376,   379,   382, +     386,   388,   390,   392,   398,   400,   402,   404,   407,   409, +     411,   414,   416,   419,   426,   428,   432,   434,   436,   438, +     440,   442,   447,   449,   451,   453,   455,   457,   459,   462, +     464,   466,   472,   474,   477,   479,   481,   487,   490,   491, +     498,   502,   503,   505,   507,   509,   511,   513,   516,   518, +     520,   523,   528,   533,   534,   536,   538,   540,   542,   545, +     547,   549,   551,   553,   559,   561,   565,   571,   577,   579, +     583,   589,   591,   593,   595,   597,   599,   601,   603,   605, +     607,   611,   617,   625,   635,   638,   641,   643,   645,   646, +     647,   651,   652,   656,   660,   662,   667,   670,   673,   676, +     679,   683,   686,   690,   691,   693,   695,   696,   698,   700, +     701,   703,   705,   706,   708,   710,   711,   715,   716,   720, +     721,   725,   727,   729,   731  };  /* YYRHS -- A `-1'-separated list of the rules' RHS.  */ @@ -687,69 +687,70 @@ static const yytype_int16 yyrhs[] =       136,   107,   136,    -1,    13,   138,   107,   137,   107,   137,        -1,    17,   138,   107,   137,   107,   137,   107,   137,    -1,        15,   138,   107,   137,   107,   133,   107,   134,    -1,    20, -     137,    -1,    82,   242,    -1,    83,    -1,    84,    -1,    85, +     137,    -1,    82,   243,    -1,    83,    -1,    84,    -1,    85,        -1,    86,    -1,    87,    -1,    88,    -1,    89,    -1,    90,        -1,    91,    -1,    92,    -1,    93,    -1,    94,    -1,    21, -     138,   107,   143,   107,   140,    -1,   228,   143,   155,    -1, -     228,   143,   156,    -1,   144,   157,    -1,   152,   154,    -1, -     141,   107,   141,   107,   141,   107,   141,    -1,   228,   142, +     138,   107,   143,   107,   140,    -1,   229,   143,   155,    -1, +     229,   143,   156,    -1,   144,   157,    -1,   152,   154,    -1, +     141,   107,   141,   107,   141,   107,   141,    -1,   229,   142,        -1,    22,    -1,    98,    -1,    98,    -1,   160,    -1,   145, -     108,   146,   109,    -1,   174,    -1,   235,    -1,    98,    -1, +     108,   146,   109,    -1,   174,    -1,   236,    -1,    98,    -1,        98,    -1,   147,    -1,   148,    -1,    22,    -1,   152,   153,       149,    -1,    -1,   110,   150,    -1,   111,   151,    -1,    22,        -1,    22,    -1,    98,    -1,   102,    -1,   102,    -1,   102,        -1,   102,    -1,    99,    -1,   103,    -1,    -1,    99,    -1,       100,    -1,   101,    -1,   102,    -1,    -1,   159,    -1,   166, -      -1,   229,    -1,   231,    -1,   234,    -1,   247,    -1,     7, +      -1,   230,    -1,   232,    -1,   235,    -1,   248,    -1,     7,        98,   112,   160,    -1,    95,   161,    -1,    37,   165,    -1, -      59,    -1,    97,   163,    -1,    52,    -1,    28,   240,    -1, -      36,    -1,    73,   241,    -1,    49,   108,   164,   109,    -1, +      59,    -1,    97,   163,    -1,    52,    -1,    28,   241,    -1, +      36,    -1,    73,   242,    -1,    49,   108,   164,   109,    -1,        96,   108,   162,   109,    -1,    22,    -1,    -1,   108,   164, -     109,    -1,    22,    -1,    59,    -1,    28,   240,    -1,    36, -      -1,    73,   241,    -1,   167,    -1,   168,    -1,    10,    98, +     109,    -1,    22,    -1,    59,    -1,    28,   241,    -1,    36, +      -1,    73,   242,    -1,   167,    -1,   168,    -1,    10,    98,       170,    -1,    10,    98,   108,   169,   109,   171,    -1,    -1,        22,    -1,   112,   173,    -1,   112,   113,   172,   114,    -1, -     175,    -1,   172,   107,   175,    -1,   177,    -1,   212,    -1, -     222,    -1,   177,    -1,   212,    -1,   223,    -1,   176,    -1, -     213,    -1,   222,    -1,   177,    -1,    72,   201,    -1,    72, +     175,    -1,   172,   107,   175,    -1,   177,    -1,   213,    -1, +     223,    -1,   177,    -1,   213,    -1,   224,    -1,   176,    -1, +     214,    -1,   223,    -1,   177,    -1,    72,   201,    -1,    72,       178,    -1,    72,   180,    -1,    72,   183,    -1,    72,   185,        -1,    72,   191,    -1,    72,   187,    -1,    72,   194,    -1, -      72,   196,    -1,    72,   198,    -1,    72,   200,    -1,    46, -     239,   179,    -1,   189,    -1,    32,    -1,    68,    -1,    42, -     108,   190,   109,   181,    -1,   189,    -1,    59,    -1,    25, -      -1,    71,   182,    -1,    39,    -1,    31,    -1,    43,   184, -      -1,    24,    -1,   239,    66,    -1,    44,   108,   190,   109, -     239,   186,    -1,   189,    -1,    74,   243,   188,    -1,    28, -      -1,    24,    -1,    30,    -1,    70,    -1,    22,    -1,    75, -     241,   192,   193,    -1,    34,    -1,    53,    -1,    78,    -1, -      79,    -1,    77,    -1,    76,    -1,    35,   195,    -1,    28, -      -1,    55,    -1,    27,   108,   197,   109,    56,    -1,    22, -      -1,    57,   199,    -1,    69,    -1,    25,    -1,   203,    65, -     108,   206,   109,    -1,   203,   202,    -1,    -1,    65,   108, -     206,   104,   206,   109,    -1,    48,   207,   204,    -1,    -1, -     205,    -1,    40,    -1,    81,    -1,    41,    -1,    22,    -1, -      50,   208,    -1,    62,    -1,    51,    -1,    80,   241,    -1, -      54,   108,   210,   109,    -1,    47,   108,   211,   109,    -1, -      -1,   209,    -1,    22,    -1,    22,    -1,    22,    -1,   216, -      -1,   219,    -1,   214,    -1,   217,    -1,    61,    33,   108, -     215,   109,    -1,   220,    -1,   220,   104,   220,    -1,    61, -      33,   108,   220,   109,    -1,    61,    45,   108,   218,   109, -      -1,   221,    -1,   221,   104,   221,    -1,    61,    45,   108, -     221,   109,    -1,    22,    -1,    22,    -1,   224,    -1,   226, -      -1,   225,    -1,   226,    -1,   227,    -1,    23,    -1,    22, -      -1,   113,   227,   114,    -1,   113,   227,   107,   227,   114, -      -1,   113,   227,   107,   227,   107,   227,   114,    -1,   113, -     227,   107,   227,   107,   227,   107,   227,   114,    -1,   228, -      23,    -1,   228,    22,    -1,   110,    -1,   111,    -1,    -1, -      -1,    11,   230,   233,    -1,    -1,     5,   232,   233,    -1, -     233,   107,    98,    -1,    98,    -1,     9,    98,   112,   235, -      -1,    64,    59,    -1,    64,    36,    -1,    64,   236,    -1, -      64,    58,    -1,    64,    73,   241,    -1,    64,    29,    -1, -      28,   237,   238,    -1,    -1,    38,    -1,    26,    -1,    -1, -      60,    -1,    67,    -1,    -1,    38,    -1,    26,    -1,    -1, -      60,    -1,    67,    -1,    -1,   108,   244,   109,    -1,    -1, -     108,   245,   109,    -1,    -1,   108,   246,   109,    -1,    22, -      -1,    22,    -1,    22,    -1,     6,    98,   112,    98,    -1 +      72,   196,    -1,    72,   198,    -1,    72,   200,    -1,    72, +     212,    -1,    46,   240,   179,    -1,   189,    -1,    32,    -1, +      68,    -1,    42,   108,   190,   109,   181,    -1,   189,    -1, +      59,    -1,    25,    -1,    71,   182,    -1,    39,    -1,    31, +      -1,    43,   184,    -1,    24,    -1,   240,    66,    -1,    44, +     108,   190,   109,   240,   186,    -1,   189,    -1,    74,   244, +     188,    -1,    28,    -1,    24,    -1,    30,    -1,    70,    -1, +      22,    -1,    75,   242,   192,   193,    -1,    34,    -1,    53, +      -1,    78,    -1,    79,    -1,    77,    -1,    76,    -1,    35, +     195,    -1,    28,    -1,    55,    -1,    27,   108,   197,   109, +      56,    -1,    22,    -1,    57,   199,    -1,    69,    -1,    25, +      -1,   203,    65,   108,   206,   109,    -1,   203,   202,    -1, +      -1,    65,   108,   206,   104,   206,   109,    -1,    48,   207, +     204,    -1,    -1,   205,    -1,    40,    -1,    81,    -1,    41, +      -1,    22,    -1,    50,   208,    -1,    62,    -1,    51,    -1, +      80,   242,    -1,    54,   108,   210,   109,    -1,    47,   108, +     211,   109,    -1,    -1,   209,    -1,    22,    -1,    22,    -1, +      22,    -1,    29,    63,    -1,   217,    -1,   220,    -1,   215, +      -1,   218,    -1,    61,    33,   108,   216,   109,    -1,   221, +      -1,   221,   104,   221,    -1,    61,    33,   108,   221,   109, +      -1,    61,    45,   108,   219,   109,    -1,   222,    -1,   222, +     104,   222,    -1,    61,    45,   108,   222,   109,    -1,    22, +      -1,    22,    -1,   225,    -1,   227,    -1,   226,    -1,   227, +      -1,   228,    -1,    23,    -1,    22,    -1,   113,   228,   114, +      -1,   113,   228,   107,   228,   114,    -1,   113,   228,   107, +     228,   107,   228,   114,    -1,   113,   228,   107,   228,   107, +     228,   107,   228,   114,    -1,   229,    23,    -1,   229,    22, +      -1,   110,    -1,   111,    -1,    -1,    -1,    11,   231,   234, +      -1,    -1,     5,   233,   234,    -1,   234,   107,    98,    -1, +      98,    -1,     9,    98,   112,   236,    -1,    64,    59,    -1, +      64,    36,    -1,    64,   237,    -1,    64,    58,    -1,    64, +      73,   242,    -1,    64,    29,    -1,    28,   238,   239,    -1, +      -1,    38,    -1,    26,    -1,    -1,    60,    -1,    67,    -1, +      -1,    38,    -1,    26,    -1,    -1,    60,    -1,    67,    -1, +      -1,   108,   245,   109,    -1,    -1,   108,   246,   109,    -1, +      -1,   108,   247,   109,    -1,    22,    -1,    22,    -1,    22, +      -1,     6,    98,   112,    98,    -1  };  /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */ @@ -768,20 +769,20 @@ static const yytype_uint16 yyrline[] =       916,   916,   917,   919,   923,   927,   931,   937,   937,   939,       955,   978,   981,   992,   998,  1004,  1005,  1012,  1018,  1024,      1032,  1038,  1044,  1052,  1058,  1064,  1072,  1073,  1076,  1077, -    1078,  1079,  1080,  1081,  1082,  1083,  1084,  1085,  1088,  1097, -    1101,  1105,  1111,  1120,  1124,  1128,  1137,  1141,  1147,  1153, -    1160,  1165,  1173,  1183,  1185,  1193,  1199,  1203,  1207,  1213, -    1224,  1233,  1237,  1242,  1246,  1250,  1254,  1260,  1267,  1271, -    1277,  1285,  1296,  1303,  1307,  1313,  1323,  1334,  1338,  1356, -    1365,  1368,  1374,  1378,  1382,  1388,  1399,  1404,  1409,  1414, -    1419,  1424,  1432,  1435,  1440,  1453,  1461,  1474,  1474,  1476, -    1476,  1478,  1488,  1493,  1500,  1510,  1519,  1524,  1531,  1541, -    1551,  1563,  1563,  1564,  1564,  1566,  1573,  1578,  1585,  1593, -    1601,  1610,  1621,  1625,  1631,  1632,  1633,  1636,  1636,  1639, -    1639,  1642,  1648,  1656,  1669,  1678,  1687,  1691,  1700,  1709, -    1720,  1727,  1732,  1741,  1753,  1756,  1765,  1776,  1777,  1778, -    1781,  1782,  1783,  1786,  1787,  1790,  1791,  1794,  1795,  1798, -    1809,  1820,  1831 +    1078,  1079,  1080,  1081,  1082,  1083,  1084,  1085,  1086,  1089, +    1098,  1102,  1106,  1112,  1121,  1125,  1129,  1138,  1142,  1148, +    1154,  1161,  1166,  1174,  1184,  1186,  1194,  1200,  1204,  1208, +    1214,  1225,  1234,  1238,  1243,  1247,  1251,  1255,  1261,  1268, +    1272,  1278,  1286,  1297,  1304,  1308,  1314,  1324,  1335,  1339, +    1357,  1366,  1369,  1375,  1379,  1383,  1389,  1400,  1405,  1410, +    1415,  1420,  1425,  1433,  1436,  1441,  1454,  1462,  1473,  1481, +    1481,  1483,  1483,  1485,  1495,  1500,  1507,  1517,  1526,  1531, +    1538,  1548,  1558,  1570,  1570,  1571,  1571,  1573,  1580,  1585, +    1592,  1600,  1608,  1617,  1628,  1632,  1638,  1639,  1640,  1643, +    1643,  1646,  1646,  1649,  1655,  1663,  1676,  1685,  1694,  1698, +    1707,  1716,  1727,  1734,  1739,  1748,  1760,  1763,  1772,  1783, +    1784,  1785,  1788,  1789,  1790,  1793,  1794,  1797,  1798,  1801, +    1802,  1805,  1816,  1827,  1838  };  #endif @@ -836,15 +837,16 @@ static const char *const yytname[] =    "stateMatrixRows", "optMatrixRows", "stateMatrixItem",    "stateOptMatModifier", "stateMatModifier", "stateMatrixRowNum",    "stateMatrixName", "stateOptModMatNum", "stateModMatNum", -  "statePaletteMatNum", "stateProgramMatNum", "programSingleItem", -  "programMultipleItem", "progEnvParams", "progEnvParamNums", -  "progEnvParam", "progLocalParams", "progLocalParamNums", -  "progLocalParam", "progEnvParamNum", "progLocalParamNum", -  "paramConstDecl", "paramConstUse", "paramConstScalarDecl", -  "paramConstScalarUse", "paramConstVector", "signedFloatConstant", -  "optionalSign", "TEMP_statement", "@1", "ADDRESS_statement", "@2", -  "varNameList", "OUTPUT_statement", "resultBinding", "resultColBinding", -  "optResultFaceType", "optResultColorType", "optFaceType", "optColorType", +  "statePaletteMatNum", "stateProgramMatNum", "stateDepthItem", +  "programSingleItem", "programMultipleItem", "progEnvParams", +  "progEnvParamNums", "progEnvParam", "progLocalParams", +  "progLocalParamNums", "progLocalParam", "progEnvParamNum", +  "progLocalParamNum", "paramConstDecl", "paramConstUse", +  "paramConstScalarDecl", "paramConstScalarUse", "paramConstVector", +  "signedFloatConstant", "optionalSign", "TEMP_statement", "@1", +  "ADDRESS_statement", "@2", "varNameList", "OUTPUT_statement", +  "resultBinding", "resultColBinding", "optResultFaceType", +  "optResultColorType", "optFaceType", "optColorType",    "optTexCoordUnitNum", "optTexImageUnitNum", "optLegacyTexUnitNum",    "texCoordUnitNum", "texImageUnitNum", "legacyTexUnitNum",    "ALIAS_statement", 0 @@ -887,20 +889,20 @@ static const yytype_uint8 yyr1[] =       163,   163,   164,   165,   165,   165,   165,   166,   166,   167,       168,   169,   169,   170,   171,   172,   172,   173,   173,   173,       174,   174,   174,   175,   175,   175,   176,   176,   177,   177, -     177,   177,   177,   177,   177,   177,   177,   177,   178,   179, -     179,   179,   180,   181,   181,   181,   181,   181,   182,   183, -     184,   184,   185,   186,   187,   188,   189,   189,   189,   190, -     191,   192,   192,   193,   193,   193,   193,   194,   195,   195, -     196,   197,   198,   199,   199,   200,   201,   202,   202,   203, -     204,   204,   205,   205,   205,   206,   207,   207,   207,   207, -     207,   207,   208,   208,   209,   210,   211,   212,   212,   213, -     213,   214,   215,   215,   216,   217,   218,   218,   219,   220, -     221,   222,   222,   223,   223,   224,   225,   225,   226,   226, -     226,   226,   227,   227,   228,   228,   228,   230,   229,   232, -     231,   233,   233,   234,   235,   235,   235,   235,   235,   235, -     236,   237,   237,   237,   238,   238,   238,   239,   239,   239, -     240,   240,   240,   241,   241,   242,   242,   243,   243,   244, -     245,   246,   247 +     177,   177,   177,   177,   177,   177,   177,   177,   177,   178, +     179,   179,   179,   180,   181,   181,   181,   181,   181,   182, +     183,   184,   184,   185,   186,   187,   188,   189,   189,   189, +     190,   191,   192,   192,   193,   193,   193,   193,   194,   195, +     195,   196,   197,   198,   199,   199,   200,   201,   202,   202, +     203,   204,   204,   205,   205,   205,   206,   207,   207,   207, +     207,   207,   207,   208,   208,   209,   210,   211,   212,   213, +     213,   214,   214,   215,   216,   216,   217,   218,   219,   219, +     220,   221,   222,   223,   223,   224,   224,   225,   226,   226, +     227,   227,   227,   227,   228,   228,   229,   229,   229,   231, +     230,   233,   232,   234,   234,   235,   236,   236,   236,   236, +     236,   236,   237,   238,   238,   238,   239,   239,   239,   240, +     240,   240,   241,   241,   241,   242,   242,   243,   243,   244, +     244,   245,   246,   247,   248  };  /* YYR2[YYN] -- Number of symbols composing right hand side of rule YYN.  */ @@ -919,20 +921,20 @@ static const yytype_uint8 yyr2[] =         0,     3,     1,     1,     2,     1,     2,     1,     1,     3,         6,     0,     1,     2,     4,     1,     3,     1,     1,     1,         1,     1,     1,     1,     1,     1,     1,     2,     2,     2, -       2,     2,     2,     2,     2,     2,     2,     2,     3,     1, -       1,     1,     5,     1,     1,     1,     2,     1,     1,     2, -       1,     2,     6,     1,     3,     1,     1,     1,     1,     1, -       4,     1,     1,     1,     1,     1,     1,     2,     1,     1, -       5,     1,     2,     1,     1,     5,     2,     0,     6,     3, -       0,     1,     1,     1,     1,     1,     2,     1,     1,     2, -       4,     4,     0,     1,     1,     1,     1,     1,     1,     1, -       1,     5,     1,     3,     5,     5,     1,     3,     5,     1, -       1,     1,     1,     1,     1,     1,     1,     1,     3,     5, -       7,     9,     2,     2,     1,     1,     0,     0,     3,     0, -       3,     3,     1,     4,     2,     2,     2,     2,     3,     2, -       3,     0,     1,     1,     0,     1,     1,     0,     1,     1, -       0,     1,     1,     0,     3,     0,     3,     0,     3,     1, -       1,     1,     4 +       2,     2,     2,     2,     2,     2,     2,     2,     2,     3, +       1,     1,     1,     5,     1,     1,     1,     2,     1,     1, +       2,     1,     2,     6,     1,     3,     1,     1,     1,     1, +       1,     4,     1,     1,     1,     1,     1,     1,     2,     1, +       1,     5,     1,     2,     1,     1,     5,     2,     0,     6, +       3,     0,     1,     1,     1,     1,     1,     2,     1,     1, +       2,     4,     4,     0,     1,     1,     1,     1,     2,     1, +       1,     1,     1,     5,     1,     3,     5,     5,     1,     3, +       5,     1,     1,     1,     1,     1,     1,     1,     1,     1, +       3,     5,     7,     9,     2,     2,     1,     1,     0,     0, +       3,     0,     3,     3,     1,     4,     2,     2,     2,     2, +       3,     2,     3,     0,     1,     1,     0,     1,     1,     0, +       1,     1,     0,     1,     1,     0,     3,     0,     3,     0, +       3,     1,     1,     1,     4  };  /* YYDEFACT[STATE-NAME] -- Default rule to reduce with in state @@ -941,138 +943,138 @@ static const yytype_uint8 yyr2[] =  static const yytype_uint16 yydefact[] =  {         0,     3,     4,     0,     6,     1,     9,     0,     5,     0, -       0,   229,     0,     0,     0,     0,   227,     2,     0,     0, -       0,     0,     0,     0,     0,   226,     0,     8,     0,    12, +       0,   231,     0,     0,     0,     0,   229,     2,     0,     0, +       0,     0,     0,     0,     0,   228,     0,     8,     0,    12,        13,    14,    15,    16,    17,    18,    19,    21,    22,    20,         0,    82,    83,   107,   108,    84,    85,    86,    87,     7,         0,     0,     0,     0,     0,     0,     0,    58,     0,    81, -      57,     0,     0,     0,     0,     0,    69,     0,     0,   224, -     225,    30,     0,     0,    10,    11,   232,   230,     0,     0, -       0,   111,   226,   109,   228,   241,   239,   235,   237,   234, -     253,   236,   226,    77,    78,    79,    80,    47,   226,   226, -     226,   226,   226,   226,    71,    48,   217,   216,     0,     0, -       0,     0,    53,   226,    76,     0,    54,    56,   120,   121, -     197,   198,   122,   213,   214,     0,     0,   262,    88,   233, -     112,     0,   113,   117,   118,   119,   211,   212,   215,     0, -     243,   242,   244,     0,   238,     0,     0,     0,     0,    25, -       0,    24,    23,   250,   105,   103,   253,    90,     0,     0, -       0,     0,     0,   247,     0,   247,     0,     0,   257,   253, -     128,   129,   130,   131,   133,   132,   134,   135,   136,   137, -       0,   250,    95,     0,    93,    91,   253,     0,   100,    89, -       0,    74,    73,    75,    46,     0,     0,   231,     0,   223, -     222,   245,   246,   240,   259,     0,   226,   226,     0,     0, -     226,   251,   252,   104,   106,     0,     0,     0,   168,   169, -     167,     0,   150,   249,   248,   149,     0,     0,     0,     0, -     192,   188,     0,   187,   253,   180,   174,   173,   172,     0, -       0,     0,     0,    94,     0,    96,     0,     0,    92,   226, -     218,    62,     0,    60,    61,     0,   226,     0,   110,   254, -      27,    26,    72,    45,   255,     0,     0,   209,     0,   210, -       0,   171,     0,   159,     0,   151,     0,   156,   157,   140, -     141,   158,   138,   139,     0,   194,   186,   193,     0,   189, -     182,   184,   183,   179,   181,   261,     0,   155,   154,   161, -     162,     0,     0,   102,     0,    99,     0,     0,     0,    55, -      70,    64,    44,     0,     0,   226,     0,    31,     0,   226, -     204,   208,     0,     0,   247,   196,     0,   195,     0,   258, -     166,   165,   163,   164,   160,   185,     0,    97,    98,   101, -     226,   219,     0,     0,    63,   226,    51,    52,    50,     0, -       0,     0,   115,   123,   126,   124,   199,   200,   125,   260, -       0,    32,    33,    34,    35,    36,    37,    38,    39,    40, -      41,    42,    43,    29,    28,   170,   145,   147,   144,     0, -     142,   143,     0,   191,   190,   175,     0,    67,    65,    68, -      66,     0,     0,     0,   127,   177,   226,   114,   256,   148, -     146,   152,   153,   226,   220,   226,     0,     0,     0,   176, -     116,     0,     0,     0,   202,     0,   206,     0,   221,   226, -     201,     0,   205,     0,     0,    49,   203,   207,     0,     0, -     178 +      57,     0,     0,     0,     0,     0,    69,     0,     0,   226, +     227,    30,     0,     0,    10,    11,   234,   232,     0,     0, +       0,   111,   228,   109,   230,   243,   241,   237,   239,   236, +     255,   238,   228,    77,    78,    79,    80,    47,   228,   228, +     228,   228,   228,   228,    71,    48,   219,   218,     0,     0, +       0,     0,    53,   228,    76,     0,    54,    56,   120,   121, +     199,   200,   122,   215,   216,     0,     0,   264,    88,   235, +     112,     0,   113,   117,   118,   119,   213,   214,   217,     0, +     245,   244,   246,     0,   240,     0,     0,     0,     0,    25, +       0,    24,    23,   252,   105,   103,   255,    90,     0,     0, +       0,     0,     0,     0,   249,     0,   249,     0,     0,   259, +     255,   128,   129,   130,   131,   133,   132,   134,   135,   136, +     137,     0,   138,   252,    95,     0,    93,    91,   255,     0, +     100,    89,     0,    74,    73,    75,    46,     0,     0,   233, +       0,   225,   224,   247,   248,   242,   261,     0,   228,   228, +       0,     0,   228,   253,   254,   104,   106,     0,     0,     0, +     198,   169,   170,   168,     0,   151,   251,   250,   150,     0, +       0,     0,     0,   193,   189,     0,   188,   255,   181,   175, +     174,   173,     0,     0,     0,     0,    94,     0,    96,     0, +       0,    92,   228,   220,    62,     0,    60,    61,     0,   228, +       0,   110,   256,    27,    26,    72,    45,   257,     0,     0, +     211,     0,   212,     0,   172,     0,   160,     0,   152,     0, +     157,   158,   141,   142,   159,   139,   140,     0,   195,   187, +     194,     0,   190,   183,   185,   184,   180,   182,   263,     0, +     156,   155,   162,   163,     0,     0,   102,     0,    99,     0, +       0,     0,    55,    70,    64,    44,     0,     0,   228,     0, +      31,     0,   228,   206,   210,     0,     0,   249,   197,     0, +     196,     0,   260,   167,   166,   164,   165,   161,   186,     0, +      97,    98,   101,   228,   221,     0,     0,    63,   228,    51, +      52,    50,     0,     0,     0,   115,   123,   126,   124,   201, +     202,   125,   262,     0,    32,    33,    34,    35,    36,    37, +      38,    39,    40,    41,    42,    43,    29,    28,   171,   146, +     148,   145,     0,   143,   144,     0,   192,   191,   176,     0, +      67,    65,    68,    66,     0,     0,     0,   127,   178,   228, +     114,   258,   149,   147,   153,   154,   228,   222,   228,     0, +       0,     0,   177,   116,     0,     0,     0,   204,     0,   208, +       0,   223,   228,   203,     0,   207,     0,     0,    49,   205, +     209,     0,     0,   179  };  /* YYDEFGOTO[NTERM-NUM].  */  static const yytype_int16 yydefgoto[] =  {        -1,     3,     4,     6,     8,     9,    27,    28,    29,    30, -      31,    32,    33,    34,    35,    36,    37,    38,   265,   373, -      39,   146,    71,    58,    67,   312,   313,   348,   114,    59, -     115,   252,   253,   254,   344,   388,   390,    68,   311,   105, -     263,   194,    97,    40,    41,   116,   189,   306,   248,   304, -     157,    42,    43,    44,   131,    83,   258,   351,   132,   117, -     352,   353,   118,   170,   282,   171,   380,   400,   172,   225, -     173,   401,   174,   298,   283,   274,   175,   301,   334,   176, -     220,   177,   272,   178,   238,   179,   394,   409,   180,   293, -     294,   336,   235,   286,   287,   328,   326,   119,   355,   356, -     413,   120,   357,   415,   121,   268,   270,   358,   122,   136, -     123,   124,   138,    72,    45,    55,    46,    50,    77,    47, -      60,    91,   142,   203,   226,   213,   144,   317,   240,   205, -     360,   296,    48 +      31,    32,    33,    34,    35,    36,    37,    38,   268,   376, +      39,   146,    71,    58,    67,   315,   316,   351,   114,    59, +     115,   255,   256,   257,   347,   391,   393,    68,   314,   105, +     266,   196,    97,    40,    41,   116,   191,   309,   251,   307, +     157,    42,    43,    44,   131,    83,   261,   354,   132,   117, +     355,   356,   118,   171,   285,   172,   383,   403,   173,   228, +     174,   404,   175,   301,   286,   277,   176,   304,   337,   177, +     223,   178,   275,   179,   241,   180,   397,   412,   181,   296, +     297,   339,   238,   289,   290,   331,   329,   182,   119,   358, +     359,   416,   120,   360,   418,   121,   271,   273,   361,   122, +     136,   123,   124,   138,    72,    45,    55,    46,    50,    77, +      47,    60,    91,   142,   205,   229,   215,   144,   320,   243, +     207,   363,   299,    48  };  /* YYPACT[STATE-NUM] -- Index in YYTABLE of the portion describing     STATE-NUM.  */ -#define YYPACT_NINF -377 +#define YYPACT_NINF -334  static const yytype_int16 yypact[] =  { -     205,  -377,  -377,    34,  -377,  -377,    50,   -17,  -377,   166, -     -16,  -377,    12,    26,    36,    65,  -377,  -377,   -31,   -31, -     -31,   -31,   -31,   -31,    72,   -67,   -31,  -377,   108,  -377, -    -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -     109,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -     118,    28,   106,   107,    54,   118,    78,  -377,   110,   101, -    -377,   113,   114,   115,   116,   117,  -377,   119,   123,  -377, -    -377,  -377,   -15,   120,  -377,  -377,  -377,   121,   131,   -13, -     168,   214,   -34,  -377,   121,    27,  -377,  -377,  -377,  -377, -     129,  -377,   -67,  -377,  -377,  -377,  -377,  -377,   -67,   -67, -     -67,   -67,   -67,   -67,  -377,  -377,  -377,  -377,     1,    88, -      84,     0,   130,   -67,    66,   132,  -377,  -377,  -377,  -377, -    -377,  -377,  -377,  -377,  -377,   -15,   141,  -377,  -377,  -377, -    -377,   133,  -377,  -377,  -377,  -377,  -377,  -377,  -377,   188, -    -377,  -377,   -25,   219,  -377,   136,   137,   -15,   138,  -377, -     139,  -377,  -377,     4,  -377,  -377,   129,  -377,   140,   142, -     143,    40,   144,    63,   145,    91,    58,    16,   146,   129, -    -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -     182,     4,  -377,   147,  -377,  -377,   129,   148,   149,  -377, -      41,  -377,  -377,  -377,  -377,    -7,   152,  -377,   150,  -377, -    -377,  -377,  -377,  -377,  -377,   151,   -67,   -67,   159,   167, -     -67,  -377,  -377,  -377,  -377,   242,   243,   244,  -377,  -377, -    -377,   245,  -377,  -377,  -377,  -377,   202,   245,    24,   161, -     248,  -377,   163,  -377,   129,    22,  -377,  -377,  -377,   250, -     246,    -2,   165,  -377,   253,  -377,   254,   253,  -377,   -67, -    -377,  -377,   169,  -377,  -377,   175,   -67,   170,  -377,  -377, -    -377,  -377,  -377,  -377,   171,   173,   174,  -377,   176,  -377, -     177,  -377,   178,  -377,   179,  -377,   180,  -377,  -377,  -377, -    -377,  -377,  -377,  -377,   260,  -377,  -377,  -377,   262,  -377, -    -377,  -377,  -377,  -377,  -377,  -377,   181,  -377,  -377,  -377, -    -377,   128,   269,  -377,   183,  -377,   185,   186,    42,  -377, -    -377,   102,  -377,   189,    -5,   -11,   275,  -377,   105,   -67, -    -377,  -377,   247,    45,    91,  -377,   190,  -377,   191,  -377, -    -377,  -377,  -377,  -377,  -377,  -377,   192,  -377,  -377,  -377, -     -67,  -377,   276,   280,  -377,   -67,  -377,  -377,  -377,    90, -      84,    46,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -     195,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -    -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,   274, -    -377,  -377,    -4,  -377,  -377,  -377,    47,  -377,  -377,  -377, -    -377,   199,   200,   201,  -377,   252,   -11,  -377,  -377,  -377, -    -377,  -377,  -377,   -67,  -377,   -67,   242,   243,   203,  -377, -    -377,   193,   206,   209,   208,   210,   216,   269,  -377,   -67, -    -377,   242,  -377,   243,    48,  -377,  -377,  -377,   269,   213, -    -377 +     134,  -334,  -334,    41,  -334,  -334,    47,   -49,  -334,   169, +      20,  -334,    34,    61,    75,   115,  -334,  -334,   -19,   -19, +     -19,   -19,   -19,   -19,   116,    44,   -19,  -334,   109,  -334, +    -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +     110,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +     119,   106,   107,   111,   -22,   119,     4,  -334,     5,   104, +    -334,   113,   114,   117,   118,   120,  -334,   121,   124,  -334, +    -334,  -334,   -15,   122,  -334,  -334,  -334,   123,   133,   -14, +     158,   210,   -11,  -334,   123,    21,  -334,  -334,  -334,  -334, +     127,  -334,    44,  -334,  -334,  -334,  -334,  -334,    44,    44, +      44,    44,    44,    44,  -334,  -334,  -334,  -334,     1,    68, +      87,    -1,   132,    44,    65,   135,  -334,  -334,  -334,  -334, +    -334,  -334,  -334,  -334,  -334,   -15,   141,  -334,  -334,  -334, +    -334,   136,  -334,  -334,  -334,  -334,  -334,  -334,  -334,   149, +    -334,  -334,    58,   219,  -334,   137,   139,   -15,   140,  -334, +     142,  -334,  -334,    74,  -334,  -334,   127,  -334,   143,   144, +     145,   179,    15,   146,    81,   147,    83,    89,     0,   148, +     127,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +    -334,   183,  -334,    74,  -334,   150,  -334,  -334,   127,   151, +     152,  -334,    43,  -334,  -334,  -334,  -334,   -10,   155,  -334, +     138,  -334,  -334,  -334,  -334,  -334,  -334,   154,    44,    44, +     162,   175,    44,  -334,  -334,  -334,  -334,   243,   245,   246, +    -334,  -334,  -334,  -334,   247,  -334,  -334,  -334,  -334,   204, +     247,    -4,   163,   250,  -334,   165,  -334,   127,    27,  -334, +    -334,  -334,   252,   248,    18,   167,  -334,   255,  -334,   256, +     255,  -334,    44,  -334,  -334,   170,  -334,  -334,   178,    44, +     168,  -334,  -334,  -334,  -334,  -334,  -334,   174,   176,   177, +    -334,   180,  -334,   181,  -334,   182,  -334,   184,  -334,   185, +    -334,  -334,  -334,  -334,  -334,  -334,  -334,   263,  -334,  -334, +    -334,   264,  -334,  -334,  -334,  -334,  -334,  -334,  -334,   186, +    -334,  -334,  -334,  -334,   131,   265,  -334,   188,  -334,   189, +     190,    46,  -334,  -334,   101,  -334,   193,    -5,    -7,   266, +    -334,   108,    44,  -334,  -334,   236,    14,    83,  -334,   192, +    -334,   194,  -334,  -334,  -334,  -334,  -334,  -334,  -334,   195, +    -334,  -334,  -334,    44,  -334,   280,   283,  -334,    44,  -334, +    -334,  -334,    78,    87,    49,  -334,  -334,  -334,  -334,  -334, +    -334,  -334,  -334,   197,  -334,  -334,  -334,  -334,  -334,  -334, +    -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +    -334,  -334,   276,  -334,  -334,     6,  -334,  -334,  -334,    51, +    -334,  -334,  -334,  -334,   201,   202,   203,  -334,   244,    -7, +    -334,  -334,  -334,  -334,  -334,  -334,    44,  -334,    44,   243, +     245,   205,  -334,  -334,   198,   207,   206,   212,   211,   217, +     265,  -334,    44,  -334,   243,  -334,   245,   -17,  -334,  -334, +    -334,   265,   213,  -334  };  /* YYPGOTO[NTERM-NUM].  */  static const yytype_int16 yypgoto[] =  { -    -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -    -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -    -377,   -94,   -88,   124,  -377,  -377,  -333,  -377,  -100,  -377, -    -377,  -377,  -377,  -377,  -377,  -377,  -377,   134,  -377,  -377, -    -377,  -377,  -377,  -377,  -377,   231,  -377,  -377,  -377,    77, -    -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -     -71,  -377,   -81,  -377,  -377,  -377,  -377,  -377,  -377,  -377, -    -377,  -377,  -377,  -377,  -304,    99,  -377,  -377,  -377,  -377, -    -377,  -377,  -377,  -377,  -377,  -377,  -377,  -377,   -23,  -377, -    -377,  -286,  -377,  -377,  -377,  -377,  -377,   249,  -377,  -377, -    -377,  -377,  -377,  -377,  -377,  -376,  -368,   251,  -377,  -377, -    -377,   -80,  -110,   -82,  -377,  -377,  -377,  -377,   273,  -377, -     255,  -377,  -377,  -377,  -160,   153,  -146,  -377,  -377,  -377, -    -377,  -377,  -377 +    -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +    -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +    -334,   -94,   -88,   126,  -334,  -334,  -333,  -334,   -91,  -334, +    -334,  -334,  -334,  -334,  -334,  -334,  -334,   128,  -334,  -334, +    -334,  -334,  -334,  -334,  -334,   249,  -334,  -334,  -334,    73, +    -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +     -72,  -334,   -81,  -334,  -334,  -334,  -334,  -334,  -334,  -334, +    -334,  -334,  -334,  -334,  -307,    99,  -334,  -334,  -334,  -334, +    -334,  -334,  -334,  -334,  -334,  -334,  -334,  -334,   -23,  -334, +    -334,  -303,  -334,  -334,  -334,  -334,  -334,  -334,   251,  -334, +    -334,  -334,  -334,  -334,  -334,  -334,  -327,  -316,   253,  -334, +    -334,  -334,   -80,  -110,   -82,  -334,  -334,  -334,  -334,   277, +    -334,   254,  -334,  -334,  -334,  -161,   153,  -146,  -334,  -334, +    -334,  -334,  -334,  -334  };  /* YYTABLE[YYPACT[STATE-NUM]].  What to do in state STATE-NUM.  If @@ -1082,78 +1084,80 @@ static const yytype_int16 yypgoto[] =  #define YYTABLE_NINF -60  static const yytype_int16 yytable[] =  { -     139,   133,   137,   190,   145,   228,   149,   106,   107,   152, -     214,   148,   391,   150,   151,   251,   147,   346,   147,   381, -     277,   147,   108,   241,   108,   196,   278,   109,   181,   153, -     414,   139,   299,    56,     5,   201,   182,   154,   110,   416, -     245,   236,   202,    69,    70,   426,   109,   208,   277,   183, -     349,   300,   184,   140,   278,   427,   279,   110,     7,   185, -     155,   350,   290,   291,   211,   141,   281,    57,   218,   277, -     376,   212,   412,   186,   156,   278,    69,    70,   402,   113, -     111,    10,   111,   112,   377,   237,   425,   222,   289,   223, -      49,    66,   280,   347,   281,   219,   187,   188,   113,    69, -      70,   224,   113,   292,   378,   229,    85,    86,   230,   231, -      51,   160,   232,   261,    87,   281,   379,   223,   260,   161, -     233,   158,   266,   392,    52,   147,   162,   163,   164,   224, -     165,   424,   166,   159,    53,   393,    88,    89,   234,   308, -      78,   167,   429,    61,    62,    63,    64,    65,   249,   340, -      73,    90,   428,   396,   403,   250,   341,   385,   168,   169, -     397,   404,    81,    54,   382,   191,    82,   139,   192,   193, -      66,    11,    12,    13,   314,    14,    15,    16,    17,    18, -      19,    20,    21,    22,    23,    24,    25,    26,   361,   362, -     363,   364,   365,   366,   367,   368,   369,   370,   371,   372, -      93,    94,    95,    96,   330,   331,   332,   333,     1,     2, -     199,   200,   342,   343,    74,    75,    76,    92,    79,    80, -      98,    99,   100,   101,   102,   104,   103,   125,   126,   127, -     386,   374,    56,   139,   354,   137,   130,   143,   -59,   197, -     195,   204,   198,   206,   207,   209,   210,   242,   215,   264, -     216,   217,   221,   227,   239,   244,   246,   247,   139,   256, -     259,   262,   257,   314,   267,   269,   271,   273,   275,   284, -     285,   288,   295,   302,   297,   303,   305,   310,   309,   316, -     318,   319,   325,   315,   327,   320,   321,   322,   323,   324, -     329,   335,   337,   411,   338,   339,   345,   359,   387,   383, -     384,   385,   389,   375,   398,   399,   405,   418,   406,   407, -     128,   417,   421,   419,   139,   354,   137,   408,   420,   422, -     423,   139,   430,   314,   307,   410,   276,   395,    84,   255, -       0,   134,     0,   135,   243,   129,     0,   314 +     139,   133,   137,   192,   145,   231,   149,   106,   107,   152, +     216,   148,   254,   150,   151,   394,   147,   349,   147,   384, +     280,   147,   108,   108,   244,   239,   281,   183,   282,   153, +     280,   139,    85,    86,   198,   184,   281,   154,   280,   379, +      87,     5,   248,   221,   281,    56,   109,   140,   185,    10, +     109,   186,   302,   380,   352,     7,   210,   110,   187,   141, +     155,   110,    88,    89,   283,   353,   284,   293,   294,   240, +     222,   303,   188,   381,   156,   415,   284,    90,   405,    57, +     111,   111,   417,   112,   284,   382,    81,   431,    66,   428, +      82,   292,   388,   350,   419,   189,   190,   429,   113,    69, +      70,   158,   113,    69,    70,   225,   113,   226,   295,   226, +     430,   395,    92,   159,   160,   264,   161,   427,   203,   227, +     263,   227,   162,   396,   269,   204,    49,   147,   432,   163, +     164,   165,    51,   166,   213,   167,   232,     1,     2,   233, +     234,   214,   311,   235,   168,    61,    62,    63,    64,    65, +     252,   236,    73,   343,    69,    70,   399,   253,   406,    52, +     344,   169,   170,   400,   193,   407,   385,   194,   195,   237, +     139,   201,   202,    53,    11,    12,    13,   317,    14,    15, +      16,    17,    18,    19,    20,    21,    22,    23,    24,    25, +      26,   364,   365,   366,   367,   368,   369,   370,   371,   372, +     373,   374,   375,    93,    94,    95,    96,   333,   334,   335, +     336,   345,   346,    54,    66,    74,    75,    76,    78,    79, +      98,    99,    56,    80,   100,   101,   104,   102,   103,   125, +     126,   127,   130,   389,   377,   143,   139,   357,   137,   199, +     -59,   206,   220,   197,   208,   200,   209,   211,   245,   212, +     260,   217,   218,   219,   224,   230,   242,   267,   247,   249, +     250,   139,   259,   262,   265,   270,   317,   272,   274,   276, +     278,   287,   288,   291,   298,   305,   300,   306,   308,   312, +     313,   318,   319,   321,   322,   328,   330,   338,   362,   323, +     324,   325,   378,   326,   327,   332,   414,   340,   341,   342, +     348,   386,   390,   387,   388,   392,   401,   402,   408,   411, +     409,   410,   421,   420,   422,   423,   424,   139,   357,   137, +     425,   426,   433,   310,   139,   258,   317,   413,   128,   279, +     398,     0,    84,   134,   129,   135,   246,     0,     0,     0, +     317  };  static const yytype_int16 yycheck[] =  { -      82,    82,    82,   113,    92,   165,   100,    22,    23,   103, -     156,    99,   345,   101,   102,    22,    98,    22,   100,   323, -      24,   103,    37,   169,    37,   125,    30,    61,    28,    28, -     406,   113,    34,    64,     0,    60,    36,    36,    72,   407, -     186,    25,    67,   110,   111,   421,    61,   147,    24,    49, -      61,    53,    52,    26,    30,   423,    32,    72,     8,    59, -      59,    72,    40,    41,    60,    38,    70,    98,    28,    24, -      25,    67,   405,    73,    73,    30,   110,   111,   382,   113, -      95,    98,    95,    98,    39,    69,   419,    24,   234,    26, -     106,    98,    68,    98,    70,    55,    96,    97,   113,   110, -     111,    38,   113,    81,    59,    47,    28,    29,    50,    51, -      98,    27,    54,   207,    36,    70,    71,    26,   206,    35, -      62,    33,   210,    33,    98,   207,    42,    43,    44,    38, -      46,   417,    48,    45,    98,    45,    58,    59,    80,   249, -     112,    57,   428,    19,    20,    21,    22,    23,   107,   107, -      26,    73,   104,   107,   107,   114,   114,   109,    74,    75, -     114,   114,   108,    98,   324,    99,   112,   249,   102,   103, -      98,     5,     6,     7,   256,     9,    10,    11,    12,    13, -      14,    15,    16,    17,    18,    19,    20,    21,    83,    84, -      85,    86,    87,    88,    89,    90,    91,    92,    93,    94, -      99,   100,   101,   102,    76,    77,    78,    79,     3,     4, -      22,    23,   110,   111,   106,   106,    98,   107,   112,   112, -     107,   107,   107,   107,   107,   102,   107,   107,   107,    98, -     340,   319,    64,   315,   315,   315,    22,   108,   108,    98, -     108,    22,   109,   107,   107,   107,   107,    65,   108,    82, -     108,   108,   108,   108,   108,   108,   108,   108,   340,   107, -     109,   102,   112,   345,    22,    22,    22,    22,    66,   108, -      22,   108,    22,   108,    28,    22,    22,   102,   109,   108, -     107,   107,    22,   113,    22,   109,   109,   109,   109,   109, -     109,    22,   109,   403,   109,   109,   107,    22,    22,   109, -     109,   109,    22,    56,   109,    31,   107,   114,   108,   108, -      79,   108,   104,   107,   396,   396,   396,    65,   109,   109, -     104,   403,   109,   405,   247,   396,   227,   350,    55,   195, -      -1,    82,    -1,    82,   181,    80,    -1,   419 +      82,    82,    82,   113,    92,   166,   100,    22,    23,   103, +     156,    99,    22,   101,   102,   348,    98,    22,   100,   326, +      24,   103,    37,    37,   170,    25,    30,    28,    32,    28, +      24,   113,    28,    29,   125,    36,    30,    36,    24,    25, +      36,     0,   188,    28,    30,    64,    61,    26,    49,    98, +      61,    52,    34,    39,    61,     8,   147,    72,    59,    38, +      59,    72,    58,    59,    68,    72,    70,    40,    41,    69, +      55,    53,    73,    59,    73,   408,    70,    73,   385,    98, +      95,    95,   409,    98,    70,    71,   108,   104,    98,   422, +     112,   237,   109,    98,   410,    96,    97,   424,   113,   110, +     111,    33,   113,   110,   111,    24,   113,    26,    81,    26, +     426,    33,   107,    45,    27,   209,    29,   420,    60,    38, +     208,    38,    35,    45,   212,    67,   106,   209,   431,    42, +      43,    44,    98,    46,    60,    48,    47,     3,     4,    50, +      51,    67,   252,    54,    57,    19,    20,    21,    22,    23, +     107,    62,    26,   107,   110,   111,   107,   114,   107,    98, +     114,    74,    75,   114,    99,   114,   327,   102,   103,    80, +     252,    22,    23,    98,     5,     6,     7,   259,     9,    10, +      11,    12,    13,    14,    15,    16,    17,    18,    19,    20, +      21,    83,    84,    85,    86,    87,    88,    89,    90,    91, +      92,    93,    94,    99,   100,   101,   102,    76,    77,    78, +      79,   110,   111,    98,    98,   106,   106,    98,   112,   112, +     107,   107,    64,   112,   107,   107,   102,   107,   107,   107, +     107,    98,    22,   343,   322,   108,   318,   318,   318,    98, +     108,    22,    63,   108,   107,   109,   107,   107,    65,   107, +     112,   108,   108,   108,   108,   108,   108,    82,   108,   108, +     108,   343,   107,   109,   102,    22,   348,    22,    22,    22, +      66,   108,    22,   108,    22,   108,    28,    22,    22,   109, +     102,   113,   108,   107,   107,    22,    22,    22,    22,   109, +     109,   109,    56,   109,   109,   109,   406,   109,   109,   109, +     107,   109,    22,   109,   109,    22,   109,    31,   107,    65, +     108,   108,   114,   108,   107,   109,   104,   399,   399,   399, +     109,   104,   109,   250,   406,   197,   408,   399,    79,   230, +     353,    -1,    55,    82,    80,    82,   183,    -1,    -1,    -1, +     422  };  /* YYSTOS[STATE-NUM] -- The (internal number of the) accessing @@ -1164,46 +1168,46 @@ static const yytype_uint8 yystos[] =        98,     5,     6,     7,     9,    10,    11,    12,    13,    14,        15,    16,    17,    18,    19,    20,    21,   121,   122,   123,       124,   125,   126,   127,   128,   129,   130,   131,   132,   135, -     158,   159,   166,   167,   168,   229,   231,   234,   247,   106, -     232,    98,    98,    98,    98,   230,    64,    98,   138,   144, -     235,   138,   138,   138,   138,   138,    98,   139,   152,   110, -     111,   137,   228,   138,   106,   106,    98,   233,   112,   112, -     112,   108,   112,   170,   233,    28,    29,    36,    58,    59, -      73,   236,   107,    99,   100,   101,   102,   157,   107,   107, +     158,   159,   166,   167,   168,   230,   232,   235,   248,   106, +     233,    98,    98,    98,    98,   231,    64,    98,   138,   144, +     236,   138,   138,   138,   138,   138,    98,   139,   152,   110, +     111,   137,   229,   138,   106,   106,    98,   234,   112,   112, +     112,   108,   112,   170,   234,    28,    29,    36,    58,    59, +      73,   237,   107,    99,   100,   101,   102,   157,   107,   107,       107,   107,   107,   107,   102,   154,    22,    23,    37,    61, -      72,    95,    98,   113,   143,   145,   160,   174,   177,   212, -     216,   219,   223,   225,   226,   107,   107,    98,   160,   235, -      22,   169,   173,   177,   212,   222,   224,   226,   227,   228, -      26,    38,   237,   108,   241,   137,   136,   228,   137,   136, +      72,    95,    98,   113,   143,   145,   160,   174,   177,   213, +     217,   220,   224,   226,   227,   107,   107,    98,   160,   236, +      22,   169,   173,   177,   213,   223,   225,   227,   228,   229, +      26,    38,   238,   108,   242,   137,   136,   229,   137,   136,       137,   137,   136,    28,    36,    59,    73,   165,    33,    45, -      27,    35,    42,    43,    44,    46,    48,    57,    74,    75, -     178,   180,   183,   185,   187,   191,   194,   196,   198,   200, -     203,    28,    36,    49,    52,    59,    73,    96,    97,   161, -     227,    99,   102,   103,   156,   108,   143,    98,   109,    22, -      23,    60,    67,   238,    22,   244,   107,   107,   143,   107, -     107,    60,    67,   240,   241,   108,   108,   108,    28,    55, -     195,   108,    24,    26,    38,   184,   239,   108,   239,    47, -      50,    51,    54,    62,    80,   207,    25,    69,   199,   108, -     243,   241,    65,   240,   108,   241,   108,   108,   163,   107, -     114,    22,   146,   147,   148,   152,   107,   112,   171,   109, -     137,   136,   102,   155,    82,   133,   137,    22,   220,    22, -     221,    22,   197,    22,   190,    66,   190,    24,    30,    32, -      68,    70,   179,   189,   108,    22,   208,   209,   108,   241, -      40,    41,    81,   204,   205,    22,   246,    28,   188,    34, -      53,   192,   108,    22,   164,    22,   162,   164,   227,   109, -     102,   153,   140,   141,   228,   113,   108,   242,   107,   107, -     109,   109,   109,   109,   109,    22,   211,    22,   210,   109, -      76,    77,    78,    79,   193,    22,   206,   109,   109,   109, -     107,   114,   110,   111,   149,   107,    22,    98,   142,    61, -      72,   172,   175,   176,   177,   213,   214,   217,   222,    22, -     245,    83,    84,    85,    86,    87,    88,    89,    90,    91, -      92,    93,    94,   134,   137,    56,    25,    39,    59,    71, -     181,   189,   239,   109,   109,   109,   227,    22,   150,    22, -     151,   141,    33,    45,   201,   203,   107,   114,   109,    31, -     182,   186,   189,   107,   114,   107,   108,   108,    65,   202, -     175,   227,   141,   215,   220,   218,   221,   108,   114,   107, -     109,   104,   109,   104,   206,   141,   220,   221,   104,   206, -     109 +      27,    29,    35,    42,    43,    44,    46,    48,    57,    74, +      75,   178,   180,   183,   185,   187,   191,   194,   196,   198, +     200,   203,   212,    28,    36,    49,    52,    59,    73,    96, +      97,   161,   228,    99,   102,   103,   156,   108,   143,    98, +     109,    22,    23,    60,    67,   239,    22,   245,   107,   107, +     143,   107,   107,    60,    67,   241,   242,   108,   108,   108, +      63,    28,    55,   195,   108,    24,    26,    38,   184,   240, +     108,   240,    47,    50,    51,    54,    62,    80,   207,    25, +      69,   199,   108,   244,   242,    65,   241,   108,   242,   108, +     108,   163,   107,   114,    22,   146,   147,   148,   152,   107, +     112,   171,   109,   137,   136,   102,   155,    82,   133,   137, +      22,   221,    22,   222,    22,   197,    22,   190,    66,   190, +      24,    30,    32,    68,    70,   179,   189,   108,    22,   208, +     209,   108,   242,    40,    41,    81,   204,   205,    22,   247, +      28,   188,    34,    53,   192,   108,    22,   164,    22,   162, +     164,   228,   109,   102,   153,   140,   141,   229,   113,   108, +     243,   107,   107,   109,   109,   109,   109,   109,    22,   211, +      22,   210,   109,    76,    77,    78,    79,   193,    22,   206, +     109,   109,   109,   107,   114,   110,   111,   149,   107,    22, +      98,   142,    61,    72,   172,   175,   176,   177,   214,   215, +     218,   223,    22,   246,    83,    84,    85,    86,    87,    88, +      89,    90,    91,    92,    93,    94,   134,   137,    56,    25, +      39,    59,    71,   181,   189,   240,   109,   109,   109,   228, +      22,   150,    22,   151,   141,    33,    45,   201,   203,   107, +     114,   109,    31,   182,   186,   189,   107,   114,   107,   108, +     108,    65,   202,   175,   228,   141,   216,   221,   219,   222, +     108,   114,   107,   109,   104,   109,   104,   206,   141,   221, +     222,   104,   206,   109  };  #define yyerrok		(yyerrstatus = 0) @@ -3269,7 +3273,14 @@ yyreduce:    case 138:  /* Line 1455 of yacc.c  */ -#line 1089 "program_parse.y" +#line 1086 "program_parse.y" +    { memcpy((yyval.state), (yyvsp[(2) - (2)].state), sizeof((yyval.state))); ;} +    break; + +  case 139: + +/* Line 1455 of yacc.c  */ +#line 1090 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = STATE_MATERIAL; @@ -3278,37 +3289,37 @@ yyreduce:  	;}      break; -  case 139: +  case 140:  /* Line 1455 of yacc.c  */ -#line 1098 "program_parse.y" +#line 1099 "program_parse.y"      {  	   (yyval.integer) = (yyvsp[(1) - (1)].integer);  	;}      break; -  case 140: +  case 141:  /* Line 1455 of yacc.c  */ -#line 1102 "program_parse.y" +#line 1103 "program_parse.y"      {  	   (yyval.integer) = STATE_EMISSION;  	;}      break; -  case 141: +  case 142:  /* Line 1455 of yacc.c  */ -#line 1106 "program_parse.y" +#line 1107 "program_parse.y"      {  	   (yyval.integer) = STATE_SHININESS;  	;}      break; -  case 142: +  case 143:  /* Line 1455 of yacc.c  */ -#line 1112 "program_parse.y" +#line 1113 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = STATE_LIGHT; @@ -3317,28 +3328,28 @@ yyreduce:  	;}      break; -  case 143: +  case 144:  /* Line 1455 of yacc.c  */ -#line 1121 "program_parse.y" +#line 1122 "program_parse.y"      {  	   (yyval.integer) = (yyvsp[(1) - (1)].integer);  	;}      break; -  case 144: +  case 145:  /* Line 1455 of yacc.c  */ -#line 1125 "program_parse.y" +#line 1126 "program_parse.y"      {  	   (yyval.integer) = STATE_POSITION;  	;}      break; -  case 145: +  case 146:  /* Line 1455 of yacc.c  */ -#line 1129 "program_parse.y" +#line 1130 "program_parse.y"      {  	   if (!state->ctx->Extensions.EXT_point_parameters) {  	      yyerror(& (yylsp[(1) - (1)]), state, "GL_ARB_point_parameters not supported"); @@ -3349,57 +3360,57 @@ yyreduce:  	;}      break; -  case 146: +  case 147:  /* Line 1455 of yacc.c  */ -#line 1138 "program_parse.y" +#line 1139 "program_parse.y"      {  	   (yyval.integer) = (yyvsp[(2) - (2)].integer);  	;}      break; -  case 147: +  case 148:  /* Line 1455 of yacc.c  */ -#line 1142 "program_parse.y" +#line 1143 "program_parse.y"      {  	   (yyval.integer) = STATE_HALF_VECTOR;  	;}      break; -  case 148: +  case 149:  /* Line 1455 of yacc.c  */ -#line 1148 "program_parse.y" +#line 1149 "program_parse.y"      {  	   (yyval.integer) = STATE_SPOT_DIRECTION;  	;}      break; -  case 149: +  case 150:  /* Line 1455 of yacc.c  */ -#line 1154 "program_parse.y" +#line 1155 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(2) - (2)].state)[0];  	   (yyval.state)[1] = (yyvsp[(2) - (2)].state)[1];  	;}      break; -  case 150: +  case 151:  /* Line 1455 of yacc.c  */ -#line 1161 "program_parse.y" +#line 1162 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = STATE_LIGHTMODEL_AMBIENT;  	;}      break; -  case 151: +  case 152:  /* Line 1455 of yacc.c  */ -#line 1166 "program_parse.y" +#line 1167 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = STATE_LIGHTMODEL_SCENECOLOR; @@ -3407,10 +3418,10 @@ yyreduce:  	;}      break; -  case 152: +  case 153:  /* Line 1455 of yacc.c  */ -#line 1174 "program_parse.y" +#line 1175 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = STATE_LIGHTPROD; @@ -3420,10 +3431,10 @@ yyreduce:  	;}      break; -  case 154: +  case 155:  /* Line 1455 of yacc.c  */ -#line 1186 "program_parse.y" +#line 1187 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = (yyvsp[(3) - (3)].integer); @@ -3431,46 +3442,46 @@ yyreduce:  	;}      break; -  case 155: +  case 156:  /* Line 1455 of yacc.c  */ -#line 1194 "program_parse.y" +#line 1195 "program_parse.y"      {  	   (yyval.integer) = STATE_TEXENV_COLOR;  	;}      break; -  case 156: +  case 157:  /* Line 1455 of yacc.c  */ -#line 1200 "program_parse.y" +#line 1201 "program_parse.y"      {  	   (yyval.integer) = STATE_AMBIENT;  	;}      break; -  case 157: +  case 158:  /* Line 1455 of yacc.c  */ -#line 1204 "program_parse.y" +#line 1205 "program_parse.y"      {  	   (yyval.integer) = STATE_DIFFUSE;  	;}      break; -  case 158: +  case 159:  /* Line 1455 of yacc.c  */ -#line 1208 "program_parse.y" +#line 1209 "program_parse.y"      {  	   (yyval.integer) = STATE_SPECULAR;  	;}      break; -  case 159: +  case 160:  /* Line 1455 of yacc.c  */ -#line 1214 "program_parse.y" +#line 1215 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxLights) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid light selector"); @@ -3481,10 +3492,10 @@ yyreduce:  	;}      break; -  case 160: +  case 161:  /* Line 1455 of yacc.c  */ -#line 1225 "program_parse.y" +#line 1226 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = STATE_TEXGEN; @@ -3493,92 +3504,92 @@ yyreduce:  	;}      break; -  case 161: +  case 162:  /* Line 1455 of yacc.c  */ -#line 1234 "program_parse.y" +#line 1235 "program_parse.y"      {  	   (yyval.integer) = STATE_TEXGEN_EYE_S;  	;}      break; -  case 162: +  case 163:  /* Line 1455 of yacc.c  */ -#line 1238 "program_parse.y" +#line 1239 "program_parse.y"      {  	   (yyval.integer) = STATE_TEXGEN_OBJECT_S;  	;}      break; -  case 163: +  case 164:  /* Line 1455 of yacc.c  */ -#line 1243 "program_parse.y" +#line 1244 "program_parse.y"      {  	   (yyval.integer) = STATE_TEXGEN_EYE_S - STATE_TEXGEN_EYE_S;  	;}      break; -  case 164: +  case 165:  /* Line 1455 of yacc.c  */ -#line 1247 "program_parse.y" +#line 1248 "program_parse.y"      {  	   (yyval.integer) = STATE_TEXGEN_EYE_T - STATE_TEXGEN_EYE_S;  	;}      break; -  case 165: +  case 166:  /* Line 1455 of yacc.c  */ -#line 1251 "program_parse.y" +#line 1252 "program_parse.y"      {  	   (yyval.integer) = STATE_TEXGEN_EYE_R - STATE_TEXGEN_EYE_S;  	;}      break; -  case 166: +  case 167:  /* Line 1455 of yacc.c  */ -#line 1255 "program_parse.y" +#line 1256 "program_parse.y"      {  	   (yyval.integer) = STATE_TEXGEN_EYE_Q - STATE_TEXGEN_EYE_S;  	;}      break; -  case 167: +  case 168:  /* Line 1455 of yacc.c  */ -#line 1261 "program_parse.y" +#line 1262 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = (yyvsp[(2) - (2)].integer);  	;}      break; -  case 168: +  case 169:  /* Line 1455 of yacc.c  */ -#line 1268 "program_parse.y" +#line 1269 "program_parse.y"      {  	   (yyval.integer) = STATE_FOG_COLOR;  	;}      break; -  case 169: +  case 170:  /* Line 1455 of yacc.c  */ -#line 1272 "program_parse.y" +#line 1273 "program_parse.y"      {  	   (yyval.integer) = STATE_FOG_PARAMS;  	;}      break; -  case 170: +  case 171:  /* Line 1455 of yacc.c  */ -#line 1278 "program_parse.y" +#line 1279 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = STATE_CLIPPLANE; @@ -3586,10 +3597,10 @@ yyreduce:  	;}      break; -  case 171: +  case 172:  /* Line 1455 of yacc.c  */ -#line 1286 "program_parse.y" +#line 1287 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxClipPlanes) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid clip plane selector"); @@ -3600,38 +3611,38 @@ yyreduce:  	;}      break; -  case 172: +  case 173:  /* Line 1455 of yacc.c  */ -#line 1297 "program_parse.y" +#line 1298 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = (yyvsp[(2) - (2)].integer);  	;}      break; -  case 173: +  case 174:  /* Line 1455 of yacc.c  */ -#line 1304 "program_parse.y" +#line 1305 "program_parse.y"      {  	   (yyval.integer) = STATE_POINT_SIZE;  	;}      break; -  case 174: +  case 175:  /* Line 1455 of yacc.c  */ -#line 1308 "program_parse.y" +#line 1309 "program_parse.y"      {  	   (yyval.integer) = STATE_POINT_ATTENUATION;  	;}      break; -  case 175: +  case 176:  /* Line 1455 of yacc.c  */ -#line 1314 "program_parse.y" +#line 1315 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(1) - (5)].state)[0];  	   (yyval.state)[1] = (yyvsp[(1) - (5)].state)[1]; @@ -3641,10 +3652,10 @@ yyreduce:  	;}      break; -  case 176: +  case 177:  /* Line 1455 of yacc.c  */ -#line 1324 "program_parse.y" +#line 1325 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(1) - (2)].state)[0];  	   (yyval.state)[1] = (yyvsp[(1) - (2)].state)[1]; @@ -3654,20 +3665,20 @@ yyreduce:  	;}      break; -  case 177: +  case 178:  /* Line 1455 of yacc.c  */ -#line 1334 "program_parse.y" +#line 1335 "program_parse.y"      {  	   (yyval.state)[2] = 0;  	   (yyval.state)[3] = 3;  	;}      break; -  case 178: +  case 179:  /* Line 1455 of yacc.c  */ -#line 1339 "program_parse.y" +#line 1340 "program_parse.y"      {  	   /* It seems logical that the matrix row range specifier would have  	    * to specify a range or more than one row (i.e., $5 > $3). @@ -3685,10 +3696,10 @@ yyreduce:  	;}      break; -  case 179: +  case 180:  /* Line 1455 of yacc.c  */ -#line 1357 "program_parse.y" +#line 1358 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(2) - (3)].state)[0];  	   (yyval.state)[1] = (yyvsp[(2) - (3)].state)[1]; @@ -3696,55 +3707,55 @@ yyreduce:  	;}      break; -  case 180: +  case 181:  /* Line 1455 of yacc.c  */ -#line 1365 "program_parse.y" +#line 1366 "program_parse.y"      {  	   (yyval.integer) = 0;  	;}      break; -  case 181: +  case 182:  /* Line 1455 of yacc.c  */ -#line 1369 "program_parse.y" +#line 1370 "program_parse.y"      {  	   (yyval.integer) = (yyvsp[(1) - (1)].integer);  	;}      break; -  case 182: +  case 183:  /* Line 1455 of yacc.c  */ -#line 1375 "program_parse.y" +#line 1376 "program_parse.y"      {  	   (yyval.integer) = STATE_MATRIX_INVERSE;  	;}      break; -  case 183: +  case 184:  /* Line 1455 of yacc.c  */ -#line 1379 "program_parse.y" +#line 1380 "program_parse.y"      {  	   (yyval.integer) = STATE_MATRIX_TRANSPOSE;  	;}      break; -  case 184: +  case 185:  /* Line 1455 of yacc.c  */ -#line 1383 "program_parse.y" +#line 1384 "program_parse.y"      {  	   (yyval.integer) = STATE_MATRIX_INVTRANS;  	;}      break; -  case 185: +  case 186:  /* Line 1455 of yacc.c  */ -#line 1389 "program_parse.y" +#line 1390 "program_parse.y"      {  	   if ((yyvsp[(1) - (1)].integer) > 3) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid matrix row reference"); @@ -3755,88 +3766,88 @@ yyreduce:  	;}      break; -  case 186: +  case 187:  /* Line 1455 of yacc.c  */ -#line 1400 "program_parse.y" +#line 1401 "program_parse.y"      {  	   (yyval.state)[0] = STATE_MODELVIEW_MATRIX;  	   (yyval.state)[1] = (yyvsp[(2) - (2)].integer);  	;}      break; -  case 187: +  case 188:  /* Line 1455 of yacc.c  */ -#line 1405 "program_parse.y" +#line 1406 "program_parse.y"      {  	   (yyval.state)[0] = STATE_PROJECTION_MATRIX;  	   (yyval.state)[1] = 0;  	;}      break; -  case 188: +  case 189:  /* Line 1455 of yacc.c  */ -#line 1410 "program_parse.y" +#line 1411 "program_parse.y"      {  	   (yyval.state)[0] = STATE_MVP_MATRIX;  	   (yyval.state)[1] = 0;  	;}      break; -  case 189: +  case 190:  /* Line 1455 of yacc.c  */ -#line 1415 "program_parse.y" +#line 1416 "program_parse.y"      {  	   (yyval.state)[0] = STATE_TEXTURE_MATRIX;  	   (yyval.state)[1] = (yyvsp[(2) - (2)].integer);  	;}      break; -  case 190: +  case 191:  /* Line 1455 of yacc.c  */ -#line 1420 "program_parse.y" +#line 1421 "program_parse.y"      {  	   yyerror(& (yylsp[(1) - (4)]), state, "GL_ARB_matrix_palette not supported");  	   YYERROR;  	;}      break; -  case 191: +  case 192:  /* Line 1455 of yacc.c  */ -#line 1425 "program_parse.y" +#line 1426 "program_parse.y"      {  	   (yyval.state)[0] = STATE_PROGRAM_MATRIX;  	   (yyval.state)[1] = (yyvsp[(3) - (4)].integer);  	;}      break; -  case 192: +  case 193:  /* Line 1455 of yacc.c  */ -#line 1432 "program_parse.y" +#line 1433 "program_parse.y"      {  	   (yyval.integer) = 0;  	;}      break; -  case 193: +  case 194:  /* Line 1455 of yacc.c  */ -#line 1436 "program_parse.y" +#line 1437 "program_parse.y"      {  	   (yyval.integer) = (yyvsp[(1) - (1)].integer);  	;}      break; -  case 194: +  case 195:  /* Line 1455 of yacc.c  */ -#line 1441 "program_parse.y" +#line 1442 "program_parse.y"      {  	   /* Since GL_ARB_vertex_blend isn't supported, only modelview matrix  	    * zero is valid. @@ -3850,10 +3861,10 @@ yyreduce:  	;}      break; -  case 195: +  case 196:  /* Line 1455 of yacc.c  */ -#line 1454 "program_parse.y" +#line 1455 "program_parse.y"      {  	   /* Since GL_ARB_matrix_palette isn't supported, just let any value  	    * through here.  The error will be generated later. @@ -3862,10 +3873,10 @@ yyreduce:  	;}      break; -  case 196: +  case 197:  /* Line 1455 of yacc.c  */ -#line 1462 "program_parse.y" +#line 1463 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxProgramMatrices) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid program matrix selector"); @@ -3876,10 +3887,20 @@ yyreduce:  	;}      break; -  case 201: +  case 198:  /* Line 1455 of yacc.c  */ -#line 1479 "program_parse.y" +#line 1474 "program_parse.y" +    { +	   memset((yyval.state), 0, sizeof((yyval.state))); +	   (yyval.state)[0] = STATE_DEPTH_RANGE; +	;} +    break; + +  case 203: + +/* Line 1455 of yacc.c  */ +#line 1486 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = state->state_param_enum; @@ -3889,30 +3910,30 @@ yyreduce:  	;}      break; -  case 202: +  case 204:  /* Line 1455 of yacc.c  */ -#line 1489 "program_parse.y" +#line 1496 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(1) - (1)].integer);  	   (yyval.state)[1] = (yyvsp[(1) - (1)].integer);  	;}      break; -  case 203: +  case 205:  /* Line 1455 of yacc.c  */ -#line 1494 "program_parse.y" +#line 1501 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(1) - (3)].integer);  	   (yyval.state)[1] = (yyvsp[(3) - (3)].integer);  	;}      break; -  case 204: +  case 206:  /* Line 1455 of yacc.c  */ -#line 1501 "program_parse.y" +#line 1508 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = state->state_param_enum; @@ -3922,10 +3943,10 @@ yyreduce:  	;}      break; -  case 205: +  case 207:  /* Line 1455 of yacc.c  */ -#line 1511 "program_parse.y" +#line 1518 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = state->state_param_enum; @@ -3935,30 +3956,30 @@ yyreduce:  	;}      break; -  case 206: +  case 208:  /* Line 1455 of yacc.c  */ -#line 1520 "program_parse.y" +#line 1527 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(1) - (1)].integer);  	   (yyval.state)[1] = (yyvsp[(1) - (1)].integer);  	;}      break; -  case 207: +  case 209:  /* Line 1455 of yacc.c  */ -#line 1525 "program_parse.y" +#line 1532 "program_parse.y"      {  	   (yyval.state)[0] = (yyvsp[(1) - (3)].integer);  	   (yyval.state)[1] = (yyvsp[(3) - (3)].integer);  	;}      break; -  case 208: +  case 210:  /* Line 1455 of yacc.c  */ -#line 1532 "program_parse.y" +#line 1539 "program_parse.y"      {  	   memset((yyval.state), 0, sizeof((yyval.state)));  	   (yyval.state)[0] = state->state_param_enum; @@ -3968,10 +3989,10 @@ yyreduce:  	;}      break; -  case 209: +  case 211:  /* Line 1455 of yacc.c  */ -#line 1542 "program_parse.y" +#line 1549 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->limits->MaxEnvParams) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid environment parameter reference"); @@ -3981,10 +4002,10 @@ yyreduce:  	;}      break; -  case 210: +  case 212:  /* Line 1455 of yacc.c  */ -#line 1552 "program_parse.y" +#line 1559 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->limits->MaxLocalParams) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid local parameter reference"); @@ -3994,40 +4015,40 @@ yyreduce:  	;}      break; -  case 215: +  case 217:  /* Line 1455 of yacc.c  */ -#line 1567 "program_parse.y" +#line 1574 "program_parse.y"      {  	   (yyval.vector).count = 1;  	   (yyval.vector).data[0] = (yyvsp[(1) - (1)].real);  	;}      break; -  case 216: +  case 218:  /* Line 1455 of yacc.c  */ -#line 1574 "program_parse.y" +#line 1581 "program_parse.y"      {  	   (yyval.vector).count = 1;  	   (yyval.vector).data[0] = (yyvsp[(1) - (1)].real);  	;}      break; -  case 217: +  case 219:  /* Line 1455 of yacc.c  */ -#line 1579 "program_parse.y" +#line 1586 "program_parse.y"      {  	   (yyval.vector).count = 1;  	   (yyval.vector).data[0] = (float) (yyvsp[(1) - (1)].integer);  	;}      break; -  case 218: +  case 220:  /* Line 1455 of yacc.c  */ -#line 1586 "program_parse.y" +#line 1593 "program_parse.y"      {  	   (yyval.vector).count = 1;  	   (yyval.vector).data[0] = (yyvsp[(2) - (3)].real); @@ -4037,10 +4058,10 @@ yyreduce:  	;}      break; -  case 219: +  case 221:  /* Line 1455 of yacc.c  */ -#line 1594 "program_parse.y" +#line 1601 "program_parse.y"      {  	   (yyval.vector).count = 2;  	   (yyval.vector).data[0] = (yyvsp[(2) - (5)].real); @@ -4050,10 +4071,10 @@ yyreduce:  	;}      break; -  case 220: +  case 222:  /* Line 1455 of yacc.c  */ -#line 1603 "program_parse.y" +#line 1610 "program_parse.y"      {  	   (yyval.vector).count = 3;  	   (yyval.vector).data[0] = (yyvsp[(2) - (7)].real); @@ -4063,10 +4084,10 @@ yyreduce:  	;}      break; -  case 221: +  case 223:  /* Line 1455 of yacc.c  */ -#line 1612 "program_parse.y" +#line 1619 "program_parse.y"      {  	   (yyval.vector).count = 4;  	   (yyval.vector).data[0] = (yyvsp[(2) - (9)].real); @@ -4076,63 +4097,63 @@ yyreduce:  	;}      break; -  case 222: +  case 224:  /* Line 1455 of yacc.c  */ -#line 1622 "program_parse.y" +#line 1629 "program_parse.y"      {  	   (yyval.real) = ((yyvsp[(1) - (2)].negate)) ? -(yyvsp[(2) - (2)].real) : (yyvsp[(2) - (2)].real);  	;}      break; -  case 223: +  case 225:  /* Line 1455 of yacc.c  */ -#line 1626 "program_parse.y" +#line 1633 "program_parse.y"      {  	   (yyval.real) = (float)(((yyvsp[(1) - (2)].negate)) ? -(yyvsp[(2) - (2)].integer) : (yyvsp[(2) - (2)].integer));  	;}      break; -  case 224: +  case 226:  /* Line 1455 of yacc.c  */ -#line 1631 "program_parse.y" +#line 1638 "program_parse.y"      { (yyval.negate) = FALSE; ;}      break; -  case 225: +  case 227:  /* Line 1455 of yacc.c  */ -#line 1632 "program_parse.y" +#line 1639 "program_parse.y"      { (yyval.negate) = TRUE;  ;}      break; -  case 226: +  case 228:  /* Line 1455 of yacc.c  */ -#line 1633 "program_parse.y" +#line 1640 "program_parse.y"      { (yyval.negate) = FALSE; ;}      break; -  case 227: +  case 229:  /* Line 1455 of yacc.c  */ -#line 1636 "program_parse.y" +#line 1643 "program_parse.y"      { (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}      break; -  case 229: +  case 231:  /* Line 1455 of yacc.c  */ -#line 1639 "program_parse.y" +#line 1646 "program_parse.y"      { (yyval.integer) = (yyvsp[(1) - (1)].integer); ;}      break; -  case 231: +  case 233:  /* Line 1455 of yacc.c  */ -#line 1643 "program_parse.y" +#line 1650 "program_parse.y"      {  	   if (!declare_variable(state, (yyvsp[(3) - (3)].string), (yyvsp[(0) - (3)].integer), & (yylsp[(3) - (3)]))) {  	      YYERROR; @@ -4140,10 +4161,10 @@ yyreduce:  	;}      break; -  case 232: +  case 234:  /* Line 1455 of yacc.c  */ -#line 1649 "program_parse.y" +#line 1656 "program_parse.y"      {  	   if (!declare_variable(state, (yyvsp[(1) - (1)].string), (yyvsp[(0) - (1)].integer), & (yylsp[(1) - (1)]))) {  	      YYERROR; @@ -4151,10 +4172,10 @@ yyreduce:  	;}      break; -  case 233: +  case 235:  /* Line 1455 of yacc.c  */ -#line 1657 "program_parse.y" +#line 1664 "program_parse.y"      {  	   struct asm_symbol *const s =  	      declare_variable(state, (yyvsp[(2) - (4)].string), at_output, & (yylsp[(2) - (4)])); @@ -4167,10 +4188,10 @@ yyreduce:  	;}      break; -  case 234: +  case 236:  /* Line 1455 of yacc.c  */ -#line 1670 "program_parse.y" +#line 1677 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.result) = VERT_RESULT_HPOS; @@ -4181,10 +4202,10 @@ yyreduce:  	;}      break; -  case 235: +  case 237:  /* Line 1455 of yacc.c  */ -#line 1679 "program_parse.y" +#line 1686 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.result) = VERT_RESULT_FOGC; @@ -4195,19 +4216,19 @@ yyreduce:  	;}      break; -  case 236: +  case 238:  /* Line 1455 of yacc.c  */ -#line 1688 "program_parse.y" +#line 1695 "program_parse.y"      {  	   (yyval.result) = (yyvsp[(2) - (2)].result);  	;}      break; -  case 237: +  case 239:  /* Line 1455 of yacc.c  */ -#line 1692 "program_parse.y" +#line 1699 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.result) = VERT_RESULT_PSIZ; @@ -4218,10 +4239,10 @@ yyreduce:  	;}      break; -  case 238: +  case 240:  /* Line 1455 of yacc.c  */ -#line 1701 "program_parse.y" +#line 1708 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.result) = VERT_RESULT_TEX0 + (yyvsp[(3) - (3)].integer); @@ -4232,10 +4253,10 @@ yyreduce:  	;}      break; -  case 239: +  case 241:  /* Line 1455 of yacc.c  */ -#line 1710 "program_parse.y" +#line 1717 "program_parse.y"      {  	   if (state->mode == ARB_fragment) {  	      (yyval.result) = FRAG_RESULT_DEPTH; @@ -4246,19 +4267,19 @@ yyreduce:  	;}      break; -  case 240: +  case 242:  /* Line 1455 of yacc.c  */ -#line 1721 "program_parse.y" +#line 1728 "program_parse.y"      {  	   (yyval.result) = (yyvsp[(2) - (3)].integer) + (yyvsp[(3) - (3)].integer);  	;}      break; -  case 241: +  case 243:  /* Line 1455 of yacc.c  */ -#line 1727 "program_parse.y" +#line 1734 "program_parse.y"      {  	   (yyval.integer) = (state->mode == ARB_vertex)  	      ? VERT_RESULT_COL0 @@ -4266,10 +4287,10 @@ yyreduce:  	;}      break; -  case 242: +  case 244:  /* Line 1455 of yacc.c  */ -#line 1733 "program_parse.y" +#line 1740 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.integer) = VERT_RESULT_COL0; @@ -4280,10 +4301,10 @@ yyreduce:  	;}      break; -  case 243: +  case 245:  /* Line 1455 of yacc.c  */ -#line 1742 "program_parse.y" +#line 1749 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.integer) = VERT_RESULT_BFC0; @@ -4294,19 +4315,19 @@ yyreduce:  	;}      break; -  case 244: +  case 246:  /* Line 1455 of yacc.c  */ -#line 1753 "program_parse.y" +#line 1760 "program_parse.y"      {  	   (yyval.integer) = 0;   	;}      break; -  case 245: +  case 247:  /* Line 1455 of yacc.c  */ -#line 1757 "program_parse.y" +#line 1764 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.integer) = 0; @@ -4317,10 +4338,10 @@ yyreduce:  	;}      break; -  case 246: +  case 248:  /* Line 1455 of yacc.c  */ -#line 1766 "program_parse.y" +#line 1773 "program_parse.y"      {  	   if (state->mode == ARB_vertex) {  	      (yyval.integer) = 1; @@ -4331,94 +4352,94 @@ yyreduce:  	;}      break; -  case 247: +  case 249:  /* Line 1455 of yacc.c  */ -#line 1776 "program_parse.y" +#line 1783 "program_parse.y"      { (yyval.integer) = 0; ;}      break; -  case 248: +  case 250:  /* Line 1455 of yacc.c  */ -#line 1777 "program_parse.y" +#line 1784 "program_parse.y"      { (yyval.integer) = 0; ;}      break; -  case 249: +  case 251:  /* Line 1455 of yacc.c  */ -#line 1778 "program_parse.y" +#line 1785 "program_parse.y"      { (yyval.integer) = 1; ;}      break; -  case 250: +  case 252:  /* Line 1455 of yacc.c  */ -#line 1781 "program_parse.y" +#line 1788 "program_parse.y"      { (yyval.integer) = 0; ;}      break; -  case 251: +  case 253:  /* Line 1455 of yacc.c  */ -#line 1782 "program_parse.y" +#line 1789 "program_parse.y"      { (yyval.integer) = 0; ;}      break; -  case 252: +  case 254:  /* Line 1455 of yacc.c  */ -#line 1783 "program_parse.y" +#line 1790 "program_parse.y"      { (yyval.integer) = 1; ;}      break; -  case 253: +  case 255:  /* Line 1455 of yacc.c  */ -#line 1786 "program_parse.y" +#line 1793 "program_parse.y"      { (yyval.integer) = 0; ;}      break; -  case 254: +  case 256:  /* Line 1455 of yacc.c  */ -#line 1787 "program_parse.y" +#line 1794 "program_parse.y"      { (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}      break; -  case 255: +  case 257:  /* Line 1455 of yacc.c  */ -#line 1790 "program_parse.y" +#line 1797 "program_parse.y"      { (yyval.integer) = 0; ;}      break; -  case 256: +  case 258:  /* Line 1455 of yacc.c  */ -#line 1791 "program_parse.y" +#line 1798 "program_parse.y"      { (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}      break; -  case 257: +  case 259:  /* Line 1455 of yacc.c  */ -#line 1794 "program_parse.y" +#line 1801 "program_parse.y"      { (yyval.integer) = 0; ;}      break; -  case 258: +  case 260:  /* Line 1455 of yacc.c  */ -#line 1795 "program_parse.y" +#line 1802 "program_parse.y"      { (yyval.integer) = (yyvsp[(2) - (3)].integer); ;}      break; -  case 259: +  case 261:  /* Line 1455 of yacc.c  */ -#line 1799 "program_parse.y" +#line 1806 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxTextureCoordUnits) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid texture coordinate unit selector"); @@ -4429,10 +4450,10 @@ yyreduce:  	;}      break; -  case 260: +  case 262:  /* Line 1455 of yacc.c  */ -#line 1810 "program_parse.y" +#line 1817 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxTextureImageUnits) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid texture image unit selector"); @@ -4443,10 +4464,10 @@ yyreduce:  	;}      break; -  case 261: +  case 263:  /* Line 1455 of yacc.c  */ -#line 1821 "program_parse.y" +#line 1828 "program_parse.y"      {  	   if ((unsigned) (yyvsp[(1) - (1)].integer) >= state->MaxTextureUnits) {  	      yyerror(& (yylsp[(1) - (1)]), state, "invalid texture unit selector"); @@ -4457,10 +4478,10 @@ yyreduce:  	;}      break; -  case 262: +  case 264:  /* Line 1455 of yacc.c  */ -#line 1832 "program_parse.y" +#line 1839 "program_parse.y"      {  	   struct asm_symbol *exist = (struct asm_symbol *)  	      _mesa_symbol_table_find_symbol(state->st, 0, (yyvsp[(2) - (4)].string)); @@ -4484,7 +4505,7 @@ yyreduce:  /* Line 1455 of yacc.c  */ -#line 4488 "program_parse.tab.c" +#line 4509 "program_parse.tab.c"        default: break;      }    YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -4703,7 +4724,7 @@ yyreturn:  /* Line 1675 of yacc.c  */ -#line 1852 "program_parse.y" +#line 1859 "program_parse.y"  struct asm_instruction * diff --git a/src/mesa/shader/program_parse.y b/src/mesa/shader/program_parse.y index 251cf7d309..91a4036cbb 100644 --- a/src/mesa/shader/program_parse.y +++ b/src/mesa/shader/program_parse.y @@ -205,7 +205,7 @@ static struct asm_instruction *asm_instruction_ctor(gl_inst_opcode op,  %type <state> stateLightItem stateLightModelItem stateLightProdItem  %type <state> stateTexGenItem stateFogItem stateClipPlaneItem statePointItem  %type <state> stateMatrixItem stateMatrixRow stateMatrixRows -%type <state> stateTexEnvItem +%type <state> stateTexEnvItem stateDepthItem  %type <state> stateLModProperty  %type <state> stateMatrixName optMatrixRows @@ -1083,6 +1083,7 @@ stateSingleItem: STATE stateMaterialItem  { memcpy($$, $2, sizeof($$)); }  	| STATE stateClipPlaneItem        { memcpy($$, $2, sizeof($$)); }  	| STATE statePointItem            { memcpy($$, $2, sizeof($$)); }  	| STATE stateMatrixRow            { memcpy($$, $2, sizeof($$)); } +	| STATE stateDepthItem            { memcpy($$, $2, sizeof($$)); }  	;  stateMaterialItem: MATERIAL optFaceType stateMatProperty @@ -1469,6 +1470,12 @@ stateProgramMatNum: INTEGER  	}  	; +stateDepthItem: DEPTH RANGE +	{ +	   memset($$, 0, sizeof($$)); +	   $$[0] = STATE_DEPTH_RANGE; +	} +	;  programSingleItem: progEnvParam | progLocalParam;  | 
