Ignore:
Timestamp:
Jun 4, 2015, 11:35:13 AM (9 years ago)
Author:
Peter A. Buhr <pabuhr@…>
Branches:
ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, gc_noraii, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, string, with_gc
Children:
9a8930f
Parents:
30651b0
Message:

enable AM_MAINTAINER_MODE, add operator ?{}, formatting

File:
1 edited

Legend:

Unmodified
Added
Removed
  • src/Parser/parser.cc

    r30651b0 ra61fea9a  
    10081008     705,   710,   711,   715,   720,   721,   725,   727,   733,   734,
    10091009     738,   740,   742,   744,   750,   751,   755,   756,   760,   762,
    1010      764,   769,   771,   777,   779,   783,   787,   791,   795,   799,
    1011      801,   803,   808,   810,   812,   821,   824,   826,   831,   833,
    1012      838,   851,   852,   857,   859,   864,   868,   870,   872,   874,
    1013      878,   880,   884,   885,   889,   893,   894,   900,   902,   906,
    1014      907,   912,   914,   918,   919,   923,   925,   929,   930,   934,
    1015      935,   939,   940,   956,   957,   958,   959,   960,   964,   969,
    1016      976,   986,   991,   996,  1004,  1009,  1014,  1019,  1024,  1032,
    1017     1037,  1050,  1056,  1063,  1065,  1072,  1077,  1082,  1094,  1099,
    1018     1104,  1109,  1114,  1122,  1127,  1135,  1136,  1137,  1138,  1144,
    1019     1149,  1157,  1158,  1159,  1160,  1164,  1165,  1166,  1167,  1172,
    1020     1173,  1183,  1184,  1189,  1190,  1195,  1197,  1199,  1201,  1203,
    1021     1206,  1205,  1217,  1218,  1220,  1230,  1231,  1236,  1240,  1242,
    1022     1244,  1246,  1248,  1251,  1256,  1258,  1260,  1262,  1264,  1266,
    1023     1268,  1270,  1272,  1274,  1276,  1278,  1284,  1285,  1287,  1289,
    1024     1291,  1296,  1297,  1303,  1304,  1306,  1308,  1313,  1315,  1317,
    1025     1319,  1324,  1325,  1327,  1329,  1334,  1335,  1337,  1342,  1343,
    1026     1345,  1347,  1352,  1354,  1356,  1361,  1362,  1366,  1368,  1370,
    1027     1372,  1374,  1376,  1378,  1380,  1383,  1388,  1390,  1395,  1397,
    1028     1402,  1403,  1405,  1406,  1411,  1412,  1414,  1416,  1421,  1423,
    1029     1429,  1430,  1432,  1435,  1438,  1443,  1444,  1449,  1454,  1458,
    1030     1460,  1462,  1467,  1469,  1475,  1476,  1484,  1485,  1489,  1490,
    1031     1491,  1493,  1495,  1503,  1504,  1506,  1508,  1513,  1514,  1520,
    1032     1521,  1525,  1526,  1531,  1532,  1533,  1535,  1544,  1545,  1547,
    1033     1550,  1552,  1556,  1557,  1558,  1560,  1562,  1566,  1571,  1579,
    1034     1580,  1589,  1591,  1596,  1597,  1598,  1602,  1603,  1604,  1608,
    1035     1609,  1610,  1614,  1615,  1616,  1621,  1622,  1623,  1624,  1630,
    1036     1631,  1635,  1636,  1640,  1641,  1642,  1643,  1658,  1659,  1664,
    1037     1665,  1669,  1671,  1675,  1677,  1679,  1703,  1704,  1706,  1708,
    1038     1713,  1715,  1717,  1722,  1723,  1729,  1728,  1732,  1736,  1738,
    1039     1740,  1746,  1747,  1752,  1757,  1759,  1764,  1766,  1767,  1769,
    1040     1774,  1776,  1778,  1783,  1785,  1790,  1795,  1803,  1809,  1808,
    1041     1822,  1823,  1828,  1829,  1833,  1838,  1843,  1851,  1856,  1867,
    1042     1868,  1879,  1880,  1886,  1887,  1891,  1892,  1893,  1896,  1895,
    1043     1906,  1911,  1918,  1924,  1933,  1939,  1945,  1951,  1957,  1965,
    1044     1971,  1979,  1985,  1994,  1995,  1996,  2000,  2004,  2006,  2009,
    1045     2011,  2015,  2016,  2020,  2024,  2025,  2028,  2030,  2031,  2035,
    1046     2036,  2037,  2038,  2073,  2074,  2075,  2076,  2080,  2085,  2090,
    1047     2092,  2094,  2099,  2101,  2103,  2105,  2110,  2112,  2122,  2123,
    1048     2124,  2128,  2130,  2132,  2137,  2139,  2141,  2146,  2148,  2150,
    1049     2159,  2160,  2161,  2165,  2167,  2169,  2174,  2176,  2178,  2183,
    1050     2185,  2187,  2202,  2203,  2204,  2205,  2209,  2214,  2219,  2221,
    1051     2223,  2228,  2230,  2232,  2234,  2239,  2241,  2243,  2253,  2254,
    1052     2255,  2256,  2260,  2262,  2264,  2269,  2271,  2273,  2275,  2280,
    1053     2282,  2284,  2315,  2316,  2317,  2318,  2322,  2330,  2332,  2334,
    1054     2339,  2341,  2346,  2348,  2362,  2363,  2364,  2368,  2370,  2372,
    1055     2374,  2376,  2381,  2382,  2384,  2386,  2391,  2393,  2395,  2401,
    1056     2403,  2405,  2409,  2411,  2413,  2415,  2429,  2430,  2431,  2435,
    1057     2437,  2439,  2441,  2443,  2448,  2449,  2451,  2453,  2458,  2460,
    1058     2462,  2468,  2469,  2471,  2481,  2484,  2486,  2489,  2491,  2493,
    1059     2506,  2507,  2508,  2512,  2514,  2516,  2518,  2520,  2525,  2526,
    1060     2528,  2530,  2535,  2537,  2545,  2546,  2547,  2552,  2553,  2557,
    1061     2559,  2561,  2563,  2565,  2567,  2574,  2576,  2578,  2580,  2582,
    1062     2584,  2586,  2588,  2590,  2592,  2597,  2599,  2601,  2606,  2632,
    1063     2633,  2635,  2639,  2640,  2644,  2646,  2648,  2650,  2652,  2654,
    1064     2661,  2663,  2665,  2667,  2669,  2671,  2676,  2681,  2683,  2685,
    1065     2705,  2707,  2712,  2713
     1010     764,   769,   771,   776,   778,   782,   786,   790,   794,   798,
     1011     800,   802,   807,   809,   811,   820,   823,   825,   830,   832,
     1012     837,   850,   851,   856,   858,   863,   867,   869,   871,   873,
     1013     877,   879,   883,   884,   888,   892,   893,   899,   901,   905,
     1014     906,   911,   913,   917,   918,   922,   924,   928,   929,   933,
     1015     934,   938,   939,   955,   956,   957,   958,   959,   963,   968,
     1016     975,   985,   990,   995,  1003,  1008,  1013,  1018,  1023,  1031,
     1017    1036,  1049,  1055,  1062,  1064,  1071,  1076,  1081,  1093,  1098,
     1018    1103,  1108,  1113,  1121,  1126,  1134,  1135,  1136,  1137,  1143,
     1019    1148,  1156,  1157,  1158,  1159,  1163,  1164,  1165,  1166,  1171,
     1020    1172,  1182,  1183,  1188,  1189,  1194,  1196,  1198,  1200,  1202,
     1021    1205,  1204,  1216,  1217,  1219,  1229,  1230,  1235,  1239,  1241,
     1022    1243,  1245,  1247,  1250,  1255,  1257,  1259,  1261,  1263,  1265,
     1023    1267,  1269,  1271,  1273,  1275,  1277,  1283,  1284,  1286,  1288,
     1024    1290,  1295,  1296,  1302,  1303,  1305,  1307,  1312,  1314,  1316,
     1025    1318,  1323,  1324,  1326,  1328,  1333,  1334,  1336,  1341,  1342,
     1026    1344,  1346,  1351,  1353,  1355,  1360,  1361,  1365,  1367,  1369,
     1027    1371,  1373,  1375,  1377,  1379,  1382,  1387,  1389,  1394,  1396,
     1028    1401,  1402,  1404,  1405,  1410,  1411,  1413,  1415,  1420,  1422,
     1029    1428,  1429,  1431,  1434,  1437,  1442,  1443,  1448,  1453,  1457,
     1030    1459,  1461,  1466,  1468,  1474,  1475,  1483,  1484,  1488,  1489,
     1031    1490,  1492,  1494,  1502,  1503,  1505,  1507,  1512,  1513,  1519,
     1032    1520,  1524,  1525,  1530,  1531,  1532,  1534,  1543,  1544,  1546,
     1033    1549,  1551,  1555,  1556,  1557,  1559,  1561,  1565,  1570,  1578,
     1034    1579,  1588,  1590,  1595,  1596,  1597,  1601,  1602,  1603,  1607,
     1035    1608,  1609,  1613,  1614,  1615,  1620,  1621,  1622,  1623,  1629,
     1036    1630,  1634,  1635,  1639,  1640,  1641,  1642,  1657,  1658,  1663,
     1037    1664,  1668,  1670,  1674,  1676,  1678,  1702,  1703,  1705,  1707,
     1038    1712,  1714,  1716,  1721,  1722,  1728,  1727,  1731,  1735,  1737,
     1039    1739,  1745,  1746,  1751,  1756,  1758,  1763,  1765,  1766,  1768,
     1040    1773,  1775,  1777,  1782,  1784,  1789,  1794,  1802,  1808,  1807,
     1041    1821,  1822,  1827,  1828,  1832,  1837,  1842,  1850,  1855,  1866,
     1042    1867,  1878,  1879,  1885,  1886,  1890,  1891,  1892,  1895,  1894,
     1043    1905,  1910,  1917,  1923,  1932,  1938,  1944,  1950,  1956,  1964,
     1044    1970,  1978,  1984,  1993,  1994,  1995,  1999,  2003,  2005,  2008,
     1045    2010,  2014,  2015,  2019,  2023,  2024,  2027,  2029,  2030,  2034,
     1046    2035,  2036,  2037,  2072,  2073,  2074,  2075,  2079,  2084,  2089,
     1047    2091,  2093,  2098,  2100,  2102,  2104,  2109,  2111,  2121,  2122,
     1048    2123,  2127,  2129,  2131,  2136,  2138,  2140,  2145,  2147,  2149,
     1049    2158,  2159,  2160,  2164,  2166,  2168,  2173,  2175,  2177,  2182,
     1050    2184,  2186,  2201,  2202,  2203,  2204,  2208,  2213,  2218,  2220,
     1051    2222,  2227,  2229,  2231,  2233,  2238,  2240,  2242,  2252,  2253,
     1052    2254,  2255,  2259,  2261,  2263,  2268,  2270,  2272,  2274,  2279,
     1053    2281,  2283,  2314,  2315,  2316,  2317,  2321,  2329,  2331,  2333,
     1054    2338,  2340,  2345,  2347,  2361,  2362,  2363,  2367,  2369,  2371,
     1055    2373,  2375,  2380,  2381,  2383,  2385,  2390,  2392,  2394,  2400,
     1056    2402,  2404,  2408,  2410,  2412,  2414,  2428,  2429,  2430,  2434,
     1057    2436,  2438,  2440,  2442,  2447,  2448,  2450,  2452,  2457,  2459,
     1058    2461,  2467,  2468,  2470,  2480,  2483,  2485,  2488,  2490,  2492,
     1059    2505,  2506,  2507,  2511,  2513,  2515,  2517,  2519,  2524,  2525,
     1060    2527,  2529,  2534,  2536,  2544,  2545,  2546,  2551,  2552,  2556,
     1061    2558,  2560,  2562,  2564,  2566,  2573,  2575,  2577,  2579,  2581,
     1062    2583,  2585,  2587,  2589,  2591,  2596,  2598,  2600,  2605,  2631,
     1063    2632,  2634,  2638,  2639,  2643,  2645,  2647,  2649,  2651,  2653,
     1064    2660,  2662,  2664,  2666,  2668,  2670,  2675,  2680,  2682,  2684,
     1065    2704,  2706,  2711,  2712
    10661066};
    10671067#endif
     
    60926092
    60936093/* Line 1806 of yacc.c  */
    6094 #line 773 "parser.yy"
     6094#line 772 "parser.yy"
    60956095    { (yyval.en) = new ForCtlExprNode((yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en)); }
    60966096    break;
     
    60996099
    61006100/* Line 1806 of yacc.c  */
    6101 #line 778 "parser.yy"
     6101#line 777 "parser.yy"
    61026102    { (yyval.sn) = new StatementNode(StatementNode::Goto, (yyvsp[(2) - (3)].tok)); }
    61036103    break;
     
    61066106
    61076107/* Line 1806 of yacc.c  */
    6108 #line 782 "parser.yy"
     6108#line 781 "parser.yy"
    61096109    { (yyval.sn) = new StatementNode(StatementNode::Goto, (yyvsp[(3) - (4)].en)); }
    61106110    break;
     
    61136113
    61146114/* Line 1806 of yacc.c  */
    6115 #line 786 "parser.yy"
     6115#line 785 "parser.yy"
    61166116    { (yyval.sn) = new StatementNode(StatementNode::Continue, 0, 0); }
    61176117    break;
     
    61206120
    61216121/* Line 1806 of yacc.c  */
    6122 #line 790 "parser.yy"
     6122#line 789 "parser.yy"
    61236123    { (yyval.sn) = new StatementNode(StatementNode::Continue, (yyvsp[(2) - (3)].tok)); }
    61246124    break;
     
    61276127
    61286128/* Line 1806 of yacc.c  */
    6129 #line 794 "parser.yy"
     6129#line 793 "parser.yy"
    61306130    { (yyval.sn) = new StatementNode(StatementNode::Break, 0, 0); }
    61316131    break;
     
    61346134
    61356135/* Line 1806 of yacc.c  */
    6136 #line 798 "parser.yy"
     6136#line 797 "parser.yy"
    61376137    { (yyval.sn) = new StatementNode(StatementNode::Break, (yyvsp[(2) - (3)].tok) ); }
    61386138    break;
     
    61416141
    61426142/* Line 1806 of yacc.c  */
    6143 #line 800 "parser.yy"
     6143#line 799 "parser.yy"
    61446144    { (yyval.sn) = new StatementNode(StatementNode::Return, (yyvsp[(2) - (3)].en), 0); }
    61456145    break;
     
    61486148
    61496149/* Line 1806 of yacc.c  */
    6150 #line 802 "parser.yy"
     6150#line 801 "parser.yy"
    61516151    { (yyval.sn) = new StatementNode(StatementNode::Throw, (yyvsp[(2) - (3)].en), 0); }
    61526152    break;
     
    61556155
    61566156/* Line 1806 of yacc.c  */
    6157 #line 804 "parser.yy"
     6157#line 803 "parser.yy"
    61586158    { (yyval.sn) = new StatementNode(StatementNode::Throw, 0, 0); }
    61596159    break;
     
    61626162
    61636163/* Line 1806 of yacc.c  */
    6164 #line 809 "parser.yy"
     6164#line 808 "parser.yy"
    61656165    { (yyval.sn) = new StatementNode(StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn))))); }
    61666166    break;
     
    61696169
    61706170/* Line 1806 of yacc.c  */
    6171 #line 811 "parser.yy"
     6171#line 810 "parser.yy"
    61726172    { (yyval.sn) = new StatementNode(StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn))))); }
    61736173    break;
     
    61766176
    61776177/* Line 1806 of yacc.c  */
    6178 #line 813 "parser.yy"
     6178#line 812 "parser.yy"
    61796179    {
    61806180                        (yyvsp[(3) - (4)].pn)->set_link((yyvsp[(4) - (4)].pn));
     
    61866186
    61876187/* Line 1806 of yacc.c  */
    6188 #line 825 "parser.yy"
     6188#line 824 "parser.yy"
    61896189    { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }
    61906190    break;
     
    61936193
    61946194/* Line 1806 of yacc.c  */
    6195 #line 827 "parser.yy"
     6195#line 826 "parser.yy"
    61966196    { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }
    61976197    break;
     
    62006200
    62016201/* Line 1806 of yacc.c  */
    6202 #line 832 "parser.yy"
     6202#line 831 "parser.yy"
    62036203    { (yyval.pn) = StatementNode::newCatchStmt((yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn)); }
    62046204    break;
     
    62076207
    62086208/* Line 1806 of yacc.c  */
    6209 #line 834 "parser.yy"
     6209#line 833 "parser.yy"
    62106210    { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt((yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn)) ); }
    62116211    break;
     
    62146214
    62156215/* Line 1806 of yacc.c  */
    6216 #line 839 "parser.yy"
     6216#line 838 "parser.yy"
    62176217    {
    62186218                        (yyval.pn) = new StatementNode(StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn));
     
    62246224
    62256225/* Line 1806 of yacc.c  */
    6226 #line 853 "parser.yy"
     6226#line 852 "parser.yy"
    62276227    {
    62286228                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62346234
    62356235/* Line 1806 of yacc.c  */
    6236 #line 858 "parser.yy"
     6236#line 857 "parser.yy"
    62376237    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    62386238    break;
     
    62416241
    62426242/* Line 1806 of yacc.c  */
    6243 #line 860 "parser.yy"
     6243#line 859 "parser.yy"
    62446244    {
    62456245                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    62516251
    62526252/* Line 1806 of yacc.c  */
    6253 #line 869 "parser.yy"
     6253#line 868 "parser.yy"
    62546254    { (yyval.sn) = new StatementNode(StatementNode::Asm, 0, 0); }
    62556255    break;
     
    62586258
    62596259/* Line 1806 of yacc.c  */
    6260 #line 871 "parser.yy"
     6260#line 870 "parser.yy"
    62616261    { (yyval.sn) = new StatementNode(StatementNode::Asm, 0, 0); }
    62626262    break;
     
    62656265
    62666266/* Line 1806 of yacc.c  */
    6267 #line 873 "parser.yy"
     6267#line 872 "parser.yy"
    62686268    { (yyval.sn) = new StatementNode(StatementNode::Asm, 0, 0); }
    62696269    break;
     
    62726272
    62736273/* Line 1806 of yacc.c  */
    6274 #line 875 "parser.yy"
     6274#line 874 "parser.yy"
    62756275    { (yyval.sn) = new StatementNode(StatementNode::Asm, 0, 0); }
    62766276    break;
     
    62796279
    62806280/* Line 1806 of yacc.c  */
    6281 #line 889 "parser.yy"
     6281#line 888 "parser.yy"
    62826282    {}
    62836283    break;
     
    62866286
    62876287/* Line 1806 of yacc.c  */
    6288 #line 893 "parser.yy"
     6288#line 892 "parser.yy"
    62896289    {}
    62906290    break;
     
    62936293
    62946294/* Line 1806 of yacc.c  */
    6295 #line 901 "parser.yy"
     6295#line 900 "parser.yy"
    62966296    { (yyval.decl) = 0; }
    62976297    break;
     
    63006300
    63016301/* Line 1806 of yacc.c  */
    6302 #line 908 "parser.yy"
     6302#line 907 "parser.yy"
    63036303    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63046304    break;
     
    63076307
    63086308/* Line 1806 of yacc.c  */
    6309 #line 913 "parser.yy"
     6309#line 912 "parser.yy"
    63106310    { (yyval.decl) = 0; }
    63116311    break;
     
    63146314
    63156315/* Line 1806 of yacc.c  */
    6316 #line 920 "parser.yy"
     6316#line 919 "parser.yy"
    63176317    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    63186318    break;
    63196319
    63206320  case 229:
     6321
     6322/* Line 1806 of yacc.c  */
     6323#line 933 "parser.yy"
     6324    {}
     6325    break;
     6326
     6327  case 230:
    63216328
    63226329/* Line 1806 of yacc.c  */
     
    63256332    break;
    63266333
    6327   case 230:
    6328 
    6329 /* Line 1806 of yacc.c  */
    6330 #line 935 "parser.yy"
    6331     {}
    6332     break;
    6333 
    63346334  case 238:
    63356335
    63366336/* Line 1806 of yacc.c  */
    6337 #line 965 "parser.yy"
     6337#line 964 "parser.yy"
    63386338    {
    63396339                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63456345
    63466346/* Line 1806 of yacc.c  */
    6347 #line 972 "parser.yy"
     6347#line 971 "parser.yy"
    63486348    {
    63496349                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    63556355
    63566356/* Line 1806 of yacc.c  */
    6357 #line 977 "parser.yy"
     6357#line 976 "parser.yy"
    63586358    {
    63596359                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID );
     
    63656365
    63666366/* Line 1806 of yacc.c  */
    6367 #line 987 "parser.yy"
     6367#line 986 "parser.yy"
    63686368    {
    63696369                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63756375
    63766376/* Line 1806 of yacc.c  */
    6377 #line 992 "parser.yy"
     6377#line 991 "parser.yy"
    63786378    {
    63796379                        typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) );
     
    63856385
    63866386/* Line 1806 of yacc.c  */
    6387 #line 997 "parser.yy"
     6387#line 996 "parser.yy"
    63886388    {
    63896389                        typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) );
     
    63956395
    63966396/* Line 1806 of yacc.c  */
    6397 #line 1005 "parser.yy"
     6397#line 1004 "parser.yy"
    63986398    {
    63996399                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64056405
    64066406/* Line 1806 of yacc.c  */
    6407 #line 1010 "parser.yy"
     6407#line 1009 "parser.yy"
    64086408    {
    64096409                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64156415
    64166416/* Line 1806 of yacc.c  */
    6417 #line 1015 "parser.yy"
     6417#line 1014 "parser.yy"
    64186418    {
    64196419                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64256425
    64266426/* Line 1806 of yacc.c  */
    6427 #line 1020 "parser.yy"
     6427#line 1019 "parser.yy"
    64286428    {
    64296429                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    64356435
    64366436/* Line 1806 of yacc.c  */
    6437 #line 1025 "parser.yy"
     6437#line 1024 "parser.yy"
    64386438    {
    64396439                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID );
     
    64456445
    64466446/* Line 1806 of yacc.c  */
    6447 #line 1033 "parser.yy"
     6447#line 1032 "parser.yy"
    64486448    {
    64496449                        typedefTable.setNextIdentifier( *((yyvsp[(5) - (10)].tok)) );
     
    64556455
    64566456/* Line 1806 of yacc.c  */
    6457 #line 1038 "parser.yy"
     6457#line 1037 "parser.yy"
    64586458    {
    64596459                        typedefTable.setNextIdentifier( *((yyvsp[(5) - (10)].tok)) );
     
    64656465
    64666466/* Line 1806 of yacc.c  */
    6467 #line 1053 "parser.yy"
     6467#line 1052 "parser.yy"
    64686468    {
    64696469                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64746474
    64756475/* Line 1806 of yacc.c  */
    6476 #line 1057 "parser.yy"
     6476#line 1056 "parser.yy"
    64776477    {
    64786478                        (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );
     
    64836483
    64846484/* Line 1806 of yacc.c  */
    6485 #line 1064 "parser.yy"
     6485#line 1063 "parser.yy"
    64866486    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    64876487    break;
     
    64906490
    64916491/* Line 1806 of yacc.c  */
    6492 #line 1068 "parser.yy"
     6492#line 1067 "parser.yy"
    64936493    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); }
    64946494    break;
     
    64976497
    64986498/* Line 1806 of yacc.c  */
    6499 #line 1073 "parser.yy"
     6499#line 1072 "parser.yy"
    65006500    {
    65016501                        typedefTable.addToEnclosingScope( TypedefTable::TD);
     
    65076507
    65086508/* Line 1806 of yacc.c  */
    6509 #line 1078 "parser.yy"
     6509#line 1077 "parser.yy"
    65106510    {
    65116511                        typedefTable.addToEnclosingScope( TypedefTable::TD);
     
    65176517
    65186518/* Line 1806 of yacc.c  */
    6519 #line 1083 "parser.yy"
     6519#line 1082 "parser.yy"
    65206520    {
    65216521                        typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD);
     
    65276527
    65286528/* Line 1806 of yacc.c  */
    6529 #line 1095 "parser.yy"
     6529#line 1094 "parser.yy"
    65306530    {
    65316531                        typedefTable.addToEnclosingScope( TypedefTable::TD);
     
    65376537
    65386538/* Line 1806 of yacc.c  */
    6539 #line 1100 "parser.yy"
     6539#line 1099 "parser.yy"
    65406540    {
    65416541                        typedefTable.addToEnclosingScope( TypedefTable::TD);
     
    65476547
    65486548/* Line 1806 of yacc.c  */
    6549 #line 1105 "parser.yy"
     6549#line 1104 "parser.yy"
    65506550    {
    65516551                        typedefTable.addToEnclosingScope( TypedefTable::TD);
     
    65576557
    65586558/* Line 1806 of yacc.c  */
    6559 #line 1110 "parser.yy"
     6559#line 1109 "parser.yy"
    65606560    {
    65616561                        typedefTable.addToEnclosingScope( TypedefTable::TD);
     
    65676567
    65686568/* Line 1806 of yacc.c  */
    6569 #line 1115 "parser.yy"
     6569#line 1114 "parser.yy"
    65706570    {
    65716571                        typedefTable.addToEnclosingScope( TypedefTable::TD);
     
    65776577
    65786578/* Line 1806 of yacc.c  */
    6579 #line 1123 "parser.yy"
     6579#line 1122 "parser.yy"
    65806580    {
    65816581                        typedefTable.addToEnclosingScope(*((yyvsp[(2) - (4)].tok)), TypedefTable::TD);
     
    65876587
    65886588/* Line 1806 of yacc.c  */
    6589 #line 1128 "parser.yy"
     6589#line 1127 "parser.yy"
    65906590    {
    65916591                        typedefTable.addToEnclosingScope(*((yyvsp[(5) - (7)].tok)), TypedefTable::TD);
     
    65976597
    65986598/* Line 1806 of yacc.c  */
    6599 #line 1145 "parser.yy"
     6599#line 1144 "parser.yy"
    66006600    {
    66016601                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66076607
    66086608/* Line 1806 of yacc.c  */
    6609 #line 1150 "parser.yy"
     6609#line 1149 "parser.yy"
    66106610    {
    66116611                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    66176617
    66186618/* Line 1806 of yacc.c  */
    6619 #line 1172 "parser.yy"
     6619#line 1171 "parser.yy"
    66206620    { (yyval.decl) = 0; }
    66216621    break;
     
    66246624
    66256625/* Line 1806 of yacc.c  */
    6626 #line 1185 "parser.yy"
     6626#line 1184 "parser.yy"
    66276627    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66286628    break;
     
    66316631
    66326632/* Line 1806 of yacc.c  */
    6633 #line 1191 "parser.yy"
     6633#line 1190 "parser.yy"
    66346634    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Attribute ); }
    66356635    break;
     
    66386638
    66396639/* Line 1806 of yacc.c  */
    6640 #line 1196 "parser.yy"
     6640#line 1195 "parser.yy"
    66416641    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); }
    66426642    break;
     
    66456645
    66466646/* Line 1806 of yacc.c  */
    6647 #line 1198 "parser.yy"
     6647#line 1197 "parser.yy"
    66486648    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); }
    66496649    break;
     
    66526652
    66536653/* Line 1806 of yacc.c  */
    6654 #line 1200 "parser.yy"
     6654#line 1199 "parser.yy"
    66556655    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }
    66566656    break;
     
    66596659
    66606660/* Line 1806 of yacc.c  */
    6661 #line 1202 "parser.yy"
     6661#line 1201 "parser.yy"
    66626662    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }
    66636663    break;
     
    66666666
    66676667/* Line 1806 of yacc.c  */
    6668 #line 1204 "parser.yy"
     6668#line 1203 "parser.yy"
    66696669    { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }
    66706670    break;
     
    66736673
    66746674/* Line 1806 of yacc.c  */
    6675 #line 1206 "parser.yy"
     6675#line 1205 "parser.yy"
    66766676    {
    66776677                        typedefTable.enterScope();
     
    66826682
    66836683/* Line 1806 of yacc.c  */
    6684 #line 1210 "parser.yy"
     6684#line 1209 "parser.yy"
    66856685    {
    66866686                        typedefTable.leaveScope();
     
    66926692
    66936693/* Line 1806 of yacc.c  */
    6694 #line 1219 "parser.yy"
     6694#line 1218 "parser.yy"
    66956695    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    66966696    break;
     
    66996699
    67006700/* Line 1806 of yacc.c  */
    6701 #line 1221 "parser.yy"
     6701#line 1220 "parser.yy"
    67026702    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    67036703    break;
     
    67066706
    67076707/* Line 1806 of yacc.c  */
    6708 #line 1232 "parser.yy"
     6708#line 1231 "parser.yy"
    67096709    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    67106710    break;
     
    67136713
    67146714/* Line 1806 of yacc.c  */
    6715 #line 1241 "parser.yy"
     6715#line 1240 "parser.yy"
    67166716    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); }
    67176717    break;
     
    67206720
    67216721/* Line 1806 of yacc.c  */
    6722 #line 1243 "parser.yy"
     6722#line 1242 "parser.yy"
    67236723    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); }
    67246724    break;
     
    67276727
    67286728/* Line 1806 of yacc.c  */
    6729 #line 1245 "parser.yy"
     6729#line 1244 "parser.yy"
    67306730    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); }
    67316731    break;
     
    67346734
    67356735/* Line 1806 of yacc.c  */
    6736 #line 1247 "parser.yy"
     6736#line 1246 "parser.yy"
    67376737    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); }
    67386738    break;
     
    67416741
    67426742/* Line 1806 of yacc.c  */
    6743 #line 1250 "parser.yy"
     6743#line 1249 "parser.yy"
    67446744    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }
    67456745    break;
     
    67486748
    67496749/* Line 1806 of yacc.c  */
    6750 #line 1252 "parser.yy"
     6750#line 1251 "parser.yy"
    67516751    { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }
    67526752    break;
     
    67556755
    67566756/* Line 1806 of yacc.c  */
    6757 #line 1257 "parser.yy"
     6757#line 1256 "parser.yy"
    67586758    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); }
    67596759    break;
     
    67626762
    67636763/* Line 1806 of yacc.c  */
    6764 #line 1259 "parser.yy"
     6764#line 1258 "parser.yy"
    67656765    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); }
    67666766    break;
     
    67696769
    67706770/* Line 1806 of yacc.c  */
    6771 #line 1261 "parser.yy"
     6771#line 1260 "parser.yy"
    67726772    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); }
    67736773    break;
     
    67766776
    67776777/* Line 1806 of yacc.c  */
    6778 #line 1263 "parser.yy"
     6778#line 1262 "parser.yy"
    67796779    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); }
    67806780    break;
     
    67836783
    67846784/* Line 1806 of yacc.c  */
    6785 #line 1265 "parser.yy"
     6785#line 1264 "parser.yy"
    67866786    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); }
    67876787    break;
     
    67906790
    67916791/* Line 1806 of yacc.c  */
    6792 #line 1267 "parser.yy"
     6792#line 1266 "parser.yy"
    67936793    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); }
    67946794    break;
     
    67976797
    67986798/* Line 1806 of yacc.c  */
    6799 #line 1269 "parser.yy"
     6799#line 1268 "parser.yy"
    68006800    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); }
    68016801    break;
     
    68046804
    68056805/* Line 1806 of yacc.c  */
    6806 #line 1271 "parser.yy"
     6806#line 1270 "parser.yy"
    68076807    { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); }
    68086808    break;
     
    68116811
    68126812/* Line 1806 of yacc.c  */
    6813 #line 1273 "parser.yy"
     6813#line 1272 "parser.yy"
    68146814    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); }
    68156815    break;
     
    68186818
    68196819/* Line 1806 of yacc.c  */
    6820 #line 1275 "parser.yy"
     6820#line 1274 "parser.yy"
    68216821    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }
    68226822    break;
     
    68256825
    68266826/* Line 1806 of yacc.c  */
    6827 #line 1277 "parser.yy"
     6827#line 1276 "parser.yy"
    68286828    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }
    68296829    break;
     
    68326832
    68336833/* Line 1806 of yacc.c  */
    6834 #line 1279 "parser.yy"
     6834#line 1278 "parser.yy"
    68356835    { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }
    68366836    break;
     
    68396839
    68406840/* Line 1806 of yacc.c  */
    6841 #line 1286 "parser.yy"
     6841#line 1285 "parser.yy"
    68426842    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68436843    break;
     
    68466846
    68476847/* Line 1806 of yacc.c  */
    6848 #line 1288 "parser.yy"
     6848#line 1287 "parser.yy"
    68496849    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68506850    break;
     
    68536853
    68546854/* Line 1806 of yacc.c  */
    6855 #line 1290 "parser.yy"
     6855#line 1289 "parser.yy"
    68566856    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68576857    break;
     
    68606860
    68616861/* Line 1806 of yacc.c  */
    6862 #line 1292 "parser.yy"
     6862#line 1291 "parser.yy"
    68636863    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); }
    68646864    break;
     
    68676867
    68686868/* Line 1806 of yacc.c  */
    6869 #line 1298 "parser.yy"
     6869#line 1297 "parser.yy"
    68706870    { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    68716871    break;
     
    68746874
    68756875/* Line 1806 of yacc.c  */
    6876 #line 1305 "parser.yy"
     6876#line 1304 "parser.yy"
    68776877    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    68786878    break;
     
    68816881
    68826882/* Line 1806 of yacc.c  */
    6883 #line 1307 "parser.yy"
     6883#line 1306 "parser.yy"
    68846884    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    68856885    break;
     
    68886888
    68896889/* Line 1806 of yacc.c  */
    6890 #line 1309 "parser.yy"
     6890#line 1308 "parser.yy"
    68916891    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); }
    68926892    break;
     
    68956895
    68966896/* Line 1806 of yacc.c  */
    6897 #line 1314 "parser.yy"
     6897#line 1313 "parser.yy"
    68986898    { (yyval.decl) = (yyvsp[(3) - (4)].decl); }
    68996899    break;
     
    69026902
    69036903/* Line 1806 of yacc.c  */
    6904 #line 1316 "parser.yy"
     6904#line 1315 "parser.yy"
    69056905    { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); }
    69066906    break;
     
    69096909
    69106910/* Line 1806 of yacc.c  */
    6911 #line 1318 "parser.yy"
     6911#line 1317 "parser.yy"
    69126912    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); }
    69136913    break;
     
    69166916
    69176917/* Line 1806 of yacc.c  */
    6918 #line 1320 "parser.yy"
     6918#line 1319 "parser.yy"
    69196919    { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    69206920    break;
     
    69236923
    69246924/* Line 1806 of yacc.c  */
    6925 #line 1326 "parser.yy"
     6925#line 1325 "parser.yy"
    69266926    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69276927    break;
     
    69306930
    69316931/* Line 1806 of yacc.c  */
    6932 #line 1328 "parser.yy"
     6932#line 1327 "parser.yy"
    69336933    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69346934    break;
     
    69376937
    69386938/* Line 1806 of yacc.c  */
    6939 #line 1330 "parser.yy"
     6939#line 1329 "parser.yy"
    69406940    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69416941    break;
     
    69446944
    69456945/* Line 1806 of yacc.c  */
    6946 #line 1336 "parser.yy"
     6946#line 1335 "parser.yy"
    69476947    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69486948    break;
     
    69516951
    69526952/* Line 1806 of yacc.c  */
    6953 #line 1338 "parser.yy"
     6953#line 1337 "parser.yy"
    69546954    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69556955    break;
     
    69586958
    69596959/* Line 1806 of yacc.c  */
    6960 #line 1344 "parser.yy"
     6960#line 1343 "parser.yy"
    69616961    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69626962    break;
     
    69656965
    69666966/* Line 1806 of yacc.c  */
    6967 #line 1346 "parser.yy"
     6967#line 1345 "parser.yy"
    69686968    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69696969    break;
     
    69726972
    69736973/* Line 1806 of yacc.c  */
    6974 #line 1348 "parser.yy"
     6974#line 1347 "parser.yy"
    69756975    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    69766976    break;
     
    69796979
    69806980/* Line 1806 of yacc.c  */
    6981 #line 1353 "parser.yy"
     6981#line 1352 "parser.yy"
    69826982    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }
    69836983    break;
     
    69866986
    69876987/* Line 1806 of yacc.c  */
    6988 #line 1355 "parser.yy"
     6988#line 1354 "parser.yy"
    69896989    { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    69906990    break;
     
    69936993
    69946994/* Line 1806 of yacc.c  */
    6995 #line 1357 "parser.yy"
     6995#line 1356 "parser.yy"
    69966996    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    69976997    break;
     
    70007000
    70017001/* Line 1806 of yacc.c  */
    7002 #line 1367 "parser.yy"
     7002#line 1366 "parser.yy"
    70037003    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, 0, (yyvsp[(3) - (4)].decl) ); }
    70047004    break;
     
    70077007
    70087008/* Line 1806 of yacc.c  */
    7009 #line 1369 "parser.yy"
     7009#line 1368 "parser.yy"
    70107010    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0, 0 ); }
    70117011    break;
     
    70147014
    70157015/* Line 1806 of yacc.c  */
    7016 #line 1371 "parser.yy"
     7016#line 1370 "parser.yy"
    70177017    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, 0, (yyvsp[(4) - (5)].decl) ); }
    70187018    break;
     
    70217021
    70227022/* Line 1806 of yacc.c  */
    7023 #line 1373 "parser.yy"
     7023#line 1372 "parser.yy"
    70247024    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (9)].aggKey), 0, (yyvsp[(4) - (9)].decl), 0, (yyvsp[(8) - (9)].decl) ); }
    70257025    break;
     
    70287028
    70297029/* Line 1806 of yacc.c  */
    7030 #line 1375 "parser.yy"
     7030#line 1374 "parser.yy"
    70317031    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), (yyvsp[(4) - (7)].decl), 0, 0 ); }
    70327032    break;
     
    70357035
    70367036/* Line 1806 of yacc.c  */
    7037 #line 1377 "parser.yy"
     7037#line 1376 "parser.yy"
    70387038    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (10)].aggKey), (yyvsp[(7) - (10)].tok), (yyvsp[(4) - (10)].decl), 0, (yyvsp[(9) - (10)].decl) ); }
    70397039    break;
     
    70427042
    70437043/* Line 1806 of yacc.c  */
    7044 #line 1379 "parser.yy"
     7044#line 1378 "parser.yy"
    70457045    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (12)].aggKey), 0, (yyvsp[(4) - (12)].decl), (yyvsp[(8) - (12)].en), (yyvsp[(11) - (12)].decl) ); }
    70467046    break;
     
    70497049
    70507050/* Line 1806 of yacc.c  */
    7051 #line 1382 "parser.yy"
     7051#line 1381 "parser.yy"
    70527052    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), (yyvsp[(7) - (7)].tok), 0, (yyvsp[(4) - (7)].en), 0 ); }
    70537053    break;
     
    70567056
    70577057/* Line 1806 of yacc.c  */
    7058 #line 1384 "parser.yy"
     7058#line 1383 "parser.yy"
    70597059    { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (13)].aggKey), (yyvsp[(10) - (13)].tok), (yyvsp[(4) - (13)].decl), (yyvsp[(8) - (13)].en), (yyvsp[(12) - (13)].decl) ); }
    70607060    break;
     
    70637063
    70647064/* Line 1806 of yacc.c  */
    7065 #line 1389 "parser.yy"
     7065#line 1388 "parser.yy"
    70667066    { (yyval.aggKey) = DeclarationNode::Struct; }
    70677067    break;
     
    70707070
    70717071/* Line 1806 of yacc.c  */
    7072 #line 1391 "parser.yy"
     7072#line 1390 "parser.yy"
    70737073    { (yyval.aggKey) = DeclarationNode::Union; }
    70747074    break;
     
    70777077
    70787078/* Line 1806 of yacc.c  */
    7079 #line 1396 "parser.yy"
     7079#line 1395 "parser.yy"
    70807080    { (yyval.decl) = (yyvsp[(1) - (1)].decl); }
    70817081    break;
     
    70847084
    70857085/* Line 1806 of yacc.c  */
    7086 #line 1398 "parser.yy"
     7086#line 1397 "parser.yy"
    70877087    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    70887088    break;
     
    70917091
    70927092/* Line 1806 of yacc.c  */
    7093 #line 1404 "parser.yy"
     7093#line 1403 "parser.yy"
    70947094    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    70957095    break;
     
    70987098
    70997099/* Line 1806 of yacc.c  */
    7100 #line 1407 "parser.yy"
     7100#line 1406 "parser.yy"
    71017101    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    71027102    break;
     
    71057105
    71067106/* Line 1806 of yacc.c  */
    7107 #line 1413 "parser.yy"
     7107#line 1412 "parser.yy"
    71087108    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); }
    71097109    break;
     
    71127112
    71137113/* Line 1806 of yacc.c  */
    7114 #line 1415 "parser.yy"
     7114#line 1414 "parser.yy"
    71157115    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); }
    71167116    break;
     
    71197119
    71207120/* Line 1806 of yacc.c  */
    7121 #line 1417 "parser.yy"
     7121#line 1416 "parser.yy"
    71227122    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); }
    71237123    break;
     
    71267126
    71277127/* Line 1806 of yacc.c  */
    7128 #line 1422 "parser.yy"
     7128#line 1421 "parser.yy"
    71297129    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    71307130    break;
     
    71337133
    71347134/* Line 1806 of yacc.c  */
    7135 #line 1424 "parser.yy"
     7135#line 1423 "parser.yy"
    71367136    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); }
    71377137    break;
     
    71407140
    71417141/* Line 1806 of yacc.c  */
    7142 #line 1429 "parser.yy"
     7142#line 1428 "parser.yy"
    71437143    { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }
    71447144    break;
     
    71477147
    71487148/* Line 1806 of yacc.c  */
    7149 #line 1431 "parser.yy"
     7149#line 1430 "parser.yy"
    71507150    { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }
    71517151    break;
     
    71547154
    71557155/* Line 1806 of yacc.c  */
    7156 #line 1434 "parser.yy"
     7156#line 1433 "parser.yy"
    71577157    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71587158    break;
     
    71617161
    71627162/* Line 1806 of yacc.c  */
    7163 #line 1437 "parser.yy"
     7163#line 1436 "parser.yy"
    71647164    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }
    71657165    break;
     
    71687168
    71697169/* Line 1806 of yacc.c  */
    7170 #line 1443 "parser.yy"
     7170#line 1442 "parser.yy"
    71717171    { (yyval.en) = 0; }
    71727172    break;
     
    71757175
    71767176/* Line 1806 of yacc.c  */
    7177 #line 1445 "parser.yy"
     7177#line 1444 "parser.yy"
    71787178    { (yyval.en) = (yyvsp[(1) - (1)].en); }
    71797179    break;
     
    71827182
    71837183/* Line 1806 of yacc.c  */
    7184 #line 1450 "parser.yy"
     7184#line 1449 "parser.yy"
    71857185    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    71867186    break;
     
    71897189
    71907190/* Line 1806 of yacc.c  */
    7191 #line 1459 "parser.yy"
     7191#line 1458 "parser.yy"
    71927192    { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); }
    71937193    break;
     
    71967196
    71977197/* Line 1806 of yacc.c  */
    7198 #line 1461 "parser.yy"
     7198#line 1460 "parser.yy"
    71997199    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); }
    72007200    break;
     
    72037203
    72047204/* Line 1806 of yacc.c  */
    7205 #line 1463 "parser.yy"
     7205#line 1462 "parser.yy"
    72067206    { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); }
    72077207    break;
     
    72107210
    72117211/* Line 1806 of yacc.c  */
    7212 #line 1468 "parser.yy"
     7212#line 1467 "parser.yy"
    72137213    { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); }
    72147214    break;
     
    72177217
    72187218/* Line 1806 of yacc.c  */
    7219 #line 1470 "parser.yy"
     7219#line 1469 "parser.yy"
    72207220    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); }
    72217221    break;
     
    72247224
    72257225/* Line 1806 of yacc.c  */
    7226 #line 1475 "parser.yy"
     7226#line 1474 "parser.yy"
    72277227    { (yyval.en) = 0; }
    72287228    break;
     
    72317231
    72327232/* Line 1806 of yacc.c  */
    7233 #line 1477 "parser.yy"
     7233#line 1476 "parser.yy"
    72347234    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    72357235    break;
     
    72387238
    72397239/* Line 1806 of yacc.c  */
    7240 #line 1484 "parser.yy"
     7240#line 1483 "parser.yy"
    72417241    { (yyval.decl) = 0; }
    72427242    break;
     
    72457245
    72467246/* Line 1806 of yacc.c  */
    7247 #line 1492 "parser.yy"
     7247#line 1491 "parser.yy"
    72487248    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72497249    break;
     
    72527252
    72537253/* Line 1806 of yacc.c  */
    7254 #line 1494 "parser.yy"
     7254#line 1493 "parser.yy"
    72557255    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72567256    break;
     
    72597259
    72607260/* Line 1806 of yacc.c  */
    7261 #line 1496 "parser.yy"
     7261#line 1495 "parser.yy"
    72627262    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    72637263    break;
     
    72667266
    72677267/* Line 1806 of yacc.c  */
    7268 #line 1505 "parser.yy"
     7268#line 1504 "parser.yy"
    72697269    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72707270    break;
     
    72737273
    72747274/* Line 1806 of yacc.c  */
    7275 #line 1507 "parser.yy"
     7275#line 1506 "parser.yy"
    72767276    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72777277    break;
     
    72807280
    72817281/* Line 1806 of yacc.c  */
    7282 #line 1509 "parser.yy"
     7282#line 1508 "parser.yy"
    72837283    { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }
    72847284    break;
     
    72877287
    72887288/* Line 1806 of yacc.c  */
    7289 #line 1515 "parser.yy"
     7289#line 1514 "parser.yy"
    72907290    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    72917291    break;
     
    72947294
    72957295/* Line 1806 of yacc.c  */
    7296 #line 1520 "parser.yy"
     7296#line 1519 "parser.yy"
    72977297    { (yyval.decl) = 0; }
    72987298    break;
     
    73017301
    73027302/* Line 1806 of yacc.c  */
    7303 #line 1527 "parser.yy"
     7303#line 1526 "parser.yy"
    73047304    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }
    73057305    break;
     
    73087308
    73097309/* Line 1806 of yacc.c  */
    7310 #line 1534 "parser.yy"
     7310#line 1533 "parser.yy"
    73117311    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73127312    break;
     
    73157315
    73167316/* Line 1806 of yacc.c  */
    7317 #line 1536 "parser.yy"
     7317#line 1535 "parser.yy"
    73187318    { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }
    73197319    break;
     
    73227322
    73237323/* Line 1806 of yacc.c  */
    7324 #line 1546 "parser.yy"
     7324#line 1545 "parser.yy"
    73257325    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    73267326    break;
     
    73297329
    73307330/* Line 1806 of yacc.c  */
    7331 #line 1549 "parser.yy"
     7331#line 1548 "parser.yy"
    73327332    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }
    73337333    break;
     
    73367336
    73377337/* Line 1806 of yacc.c  */
    7338 #line 1551 "parser.yy"
     7338#line 1550 "parser.yy"
    73397339    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); }
    73407340    break;
     
    73437343
    73447344/* Line 1806 of yacc.c  */
    7345 #line 1561 "parser.yy"
     7345#line 1560 "parser.yy"
    73467346    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    73477347    break;
     
    73507350
    73517351/* Line 1806 of yacc.c  */
    7352 #line 1567 "parser.yy"
     7352#line 1566 "parser.yy"
    73537353    {
    73547354                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73607360
    73617361/* Line 1806 of yacc.c  */
    7362 #line 1572 "parser.yy"
     7362#line 1571 "parser.yy"
    73637363    {
    73647364                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    73707370
    73717371/* Line 1806 of yacc.c  */
    7372 #line 1581 "parser.yy"
     7372#line 1580 "parser.yy"
    73737373    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73747374    break;
     
    73777377
    73787378/* Line 1806 of yacc.c  */
    7379 #line 1590 "parser.yy"
     7379#line 1589 "parser.yy"
    73807380    { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); }
    73817381    break;
     
    73847384
    73857385/* Line 1806 of yacc.c  */
    7386 #line 1592 "parser.yy"
     7386#line 1591 "parser.yy"
    73877387    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); }
    73887388    break;
     
    73917391
    73927392/* Line 1806 of yacc.c  */
    7393 #line 1617 "parser.yy"
     7393#line 1616 "parser.yy"
    73947394    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    73957395    break;
     
    73987398
    73997399/* Line 1806 of yacc.c  */
    7400 #line 1625 "parser.yy"
     7400#line 1624 "parser.yy"
    74017401    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }
    74027402    break;
     
    74057405
    74067406/* Line 1806 of yacc.c  */
     7407#line 1629 "parser.yy"
     7408    { (yyval.in) = 0; }
     7409    break;
     7410
     7411  case 440:
     7412
     7413/* Line 1806 of yacc.c  */
    74077414#line 1630 "parser.yy"
    7408     { (yyval.in) = 0; }
    7409     break;
    7410 
    7411   case 440:
    7412 
    7413 /* Line 1806 of yacc.c  */
    7414 #line 1631 "parser.yy"
    74157415    { (yyval.in) = (yyvsp[(2) - (2)].in); }
    74167416    break;
     
    74197419
    74207420/* Line 1806 of yacc.c  */
     7421#line 1634 "parser.yy"
     7422    { (yyval.in) = new InitializerNode((yyvsp[(1) - (1)].en)); }
     7423    break;
     7424
     7425  case 442:
     7426
     7427/* Line 1806 of yacc.c  */
    74217428#line 1635 "parser.yy"
    7422     { (yyval.in) = new InitializerNode((yyvsp[(1) - (1)].en)); }
    7423     break;
    7424 
    7425   case 442:
    7426 
    7427 /* Line 1806 of yacc.c  */
    7428 #line 1636 "parser.yy"
    74297429    { (yyval.in) = new InitializerNode((yyvsp[(2) - (4)].in), true); }
    74307430    break;
     
    74337433
    74347434/* Line 1806 of yacc.c  */
     7435#line 1640 "parser.yy"
     7436    { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
     7437    break;
     7438
     7439  case 445:
     7440
     7441/* Line 1806 of yacc.c  */
    74357442#line 1641 "parser.yy"
    7436     { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }
    7437     break;
    7438 
    7439   case 445:
    7440 
    7441 /* Line 1806 of yacc.c  */
    7442 #line 1642 "parser.yy"
    74437443    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link((yyvsp[(3) - (3)].in)) ); }
    74447444    break;
     
    74477447
    74487448/* Line 1806 of yacc.c  */
    7449 #line 1644 "parser.yy"
     7449#line 1643 "parser.yy"
    74507450    { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators((yyvsp[(3) - (4)].en)) ) ); }
    74517451    break;
     
    74547454
    74557455/* Line 1806 of yacc.c  */
    7456 #line 1660 "parser.yy"
     7456#line 1659 "parser.yy"
    74577457    { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); }
    74587458    break;
     
    74617461
    74627462/* Line 1806 of yacc.c  */
    7463 #line 1665 "parser.yy"
     7463#line 1664 "parser.yy"
    74647464    { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }
    74657465    break;
     
    74687468
    74697469/* Line 1806 of yacc.c  */
    7470 #line 1670 "parser.yy"
     7470#line 1669 "parser.yy"
    74717471    { (yyval.en) = new VarRefNode( (yyvsp[(2) - (2)].tok) ); }
    74727472    break;
     
    74757475
    74767476/* Line 1806 of yacc.c  */
    7477 #line 1674 "parser.yy"
     7477#line 1673 "parser.yy"
    74787478    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    74797479    break;
     
    74827482
    74837483/* Line 1806 of yacc.c  */
    7484 #line 1676 "parser.yy"
     7484#line 1675 "parser.yy"
    74857485    { (yyval.en) = (yyvsp[(3) - (5)].en); }
    74867486    break;
     
    74897489
    74907490/* Line 1806 of yacc.c  */
    7491 #line 1678 "parser.yy"
     7491#line 1677 "parser.yy"
    74927492    { (yyval.en) = new CompositeExprNode(new OperatorNode(OperatorNode::Range), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en)); }
    74937493    break;
     
    74967496
    74977497/* Line 1806 of yacc.c  */
    7498 #line 1680 "parser.yy"
     7498#line 1679 "parser.yy"
    74997499    { (yyval.en) = (yyvsp[(4) - (6)].en); }
    75007500    break;
     
    75037503
    75047504/* Line 1806 of yacc.c  */
    7505 #line 1705 "parser.yy"
     7505#line 1704 "parser.yy"
    75067506    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    75077507    break;
     
    75107510
    75117511/* Line 1806 of yacc.c  */
    7512 #line 1707 "parser.yy"
     7512#line 1706 "parser.yy"
    75137513    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75147514    break;
     
    75177517
    75187518/* Line 1806 of yacc.c  */
    7519 #line 1709 "parser.yy"
     7519#line 1708 "parser.yy"
    75207520    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }
    75217521    break;
     
    75247524
    75257525/* Line 1806 of yacc.c  */
    7526 #line 1714 "parser.yy"
     7526#line 1713 "parser.yy"
    75277527    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }
    75287528    break;
     
    75317531
    75327532/* Line 1806 of yacc.c  */
    7533 #line 1716 "parser.yy"
     7533#line 1715 "parser.yy"
    75347534    { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(2) - (5)].tok), (yyvsp[(4) - (5)].en) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); }
    75357535    break;
     
    75387538
    75397539/* Line 1806 of yacc.c  */
    7540 #line 1718 "parser.yy"
     7540#line 1717 "parser.yy"
    75417541    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }
    75427542    break;
     
    75457545
    75467546/* Line 1806 of yacc.c  */
    7547 #line 1724 "parser.yy"
     7547#line 1723 "parser.yy"
    75487548    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); }
    75497549    break;
     
    75527552
    75537553/* Line 1806 of yacc.c  */
    7554 #line 1729 "parser.yy"
     7554#line 1728 "parser.yy"
    75557555    { typedefTable.addToEnclosingScope(*((yyvsp[(2) - (2)].tok)), TypedefTable::TD); }
    75567556    break;
     
    75597559
    75607560/* Line 1806 of yacc.c  */
    7561 #line 1731 "parser.yy"
     7561#line 1730 "parser.yy"
    75627562    { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }
    75637563    break;
     
    75667566
    75677567/* Line 1806 of yacc.c  */
    7568 #line 1737 "parser.yy"
     7568#line 1736 "parser.yy"
    75697569    { (yyval.tclass) = DeclarationNode::Type; }
    75707570    break;
     
    75737573
    75747574/* Line 1806 of yacc.c  */
    7575 #line 1739 "parser.yy"
     7575#line 1738 "parser.yy"
    75767576    { (yyval.tclass) = DeclarationNode::Ftype; }
    75777577    break;
     
    75807580
    75817581/* Line 1806 of yacc.c  */
    7582 #line 1741 "parser.yy"
     7582#line 1740 "parser.yy"
    75837583    { (yyval.tclass) = DeclarationNode::Dtype; }
    75847584    break;
     
    75877587
    75887588/* Line 1806 of yacc.c  */
    7589 #line 1746 "parser.yy"
     7589#line 1745 "parser.yy"
    75907590    { (yyval.decl) = 0; }
    75917591    break;
     
    75947594
    75957595/* Line 1806 of yacc.c  */
    7596 #line 1748 "parser.yy"
     7596#line 1747 "parser.yy"
    75977597    { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); }
    75987598    break;
     
    76017601
    76027602/* Line 1806 of yacc.c  */
    7603 #line 1753 "parser.yy"
     7603#line 1752 "parser.yy"
    76047604    {
    76057605                        typedefTable.openContext( *((yyvsp[(2) - (5)].tok)) );
     
    76117611
    76127612/* Line 1806 of yacc.c  */
    7613 #line 1758 "parser.yy"
     7613#line 1757 "parser.yy"
    76147614    { (yyval.decl) = (yyvsp[(4) - (5)].decl); }
    76157615    break;
     
    76187618
    76197619/* Line 1806 of yacc.c  */
    7620 #line 1760 "parser.yy"
     7620#line 1759 "parser.yy"
    76217621    { (yyval.decl) = 0; }
    76227622    break;
     
    76257625
    76267626/* Line 1806 of yacc.c  */
    7627 #line 1765 "parser.yy"
     7627#line 1764 "parser.yy"
    76287628    { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }
    76297629    break;
     
    76327632
    76337633/* Line 1806 of yacc.c  */
    7634 #line 1768 "parser.yy"
     7634#line 1767 "parser.yy"
    76357635    { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link(new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); }
    76367636    break;
     
    76397639
    76407640/* Line 1806 of yacc.c  */
    7641 #line 1770 "parser.yy"
     7641#line 1769 "parser.yy"
    76427642    { (yyval.en) = (ExpressionNode *)((yyvsp[(1) - (3)].en)->set_link((yyvsp[(3) - (3)].en))); }
    76437643    break;
     
    76467646
    76477647/* Line 1806 of yacc.c  */
    7648 #line 1775 "parser.yy"
     7648#line 1774 "parser.yy"
    76497649    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    76507650    break;
     
    76537653
    76547654/* Line 1806 of yacc.c  */
    7655 #line 1777 "parser.yy"
     7655#line 1776 "parser.yy"
    76567656    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); }
    76577657    break;
     
    76607660
    76617661/* Line 1806 of yacc.c  */
    7662 #line 1779 "parser.yy"
     7662#line 1778 "parser.yy"
    76637663    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); }
    76647664    break;
     
    76677667
    76687668/* Line 1806 of yacc.c  */
    7669 #line 1784 "parser.yy"
     7669#line 1783 "parser.yy"
    76707670    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); }
    76717671    break;
     
    76747674
    76757675/* Line 1806 of yacc.c  */
    7676 #line 1786 "parser.yy"
     7676#line 1785 "parser.yy"
    76777677    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); }
    76787678    break;
     
    76817681
    76827682/* Line 1806 of yacc.c  */
    7683 #line 1791 "parser.yy"
     7683#line 1790 "parser.yy"
    76847684    {
    76857685                        typedefTable.addToEnclosingScope(*((yyvsp[(1) - (1)].tok)), TypedefTable::TD);
     
    76917691
    76927692/* Line 1806 of yacc.c  */
    7693 #line 1796 "parser.yy"
     7693#line 1795 "parser.yy"
    76947694    {
    76957695                        typedefTable.addToEnclosingScope(*((yyvsp[(1) - (6)].tok)), TypedefTable::TG);
     
    77017701
    77027702/* Line 1806 of yacc.c  */
    7703 #line 1804 "parser.yy"
     7703#line 1803 "parser.yy"
    77047704    {
    77057705                        typedefTable.addToEnclosingScope(*((yyvsp[(2) - (9)].tok)), TypedefTable::ID );
     
    77117711
    77127712/* Line 1806 of yacc.c  */
    7713 #line 1809 "parser.yy"
     7713#line 1808 "parser.yy"
    77147714    {
    77157715                        typedefTable.enterContext( *((yyvsp[(2) - (8)].tok)) );
     
    77217721
    77227722/* Line 1806 of yacc.c  */
    7723 #line 1814 "parser.yy"
     7723#line 1813 "parser.yy"
    77247724    {
    77257725                        typedefTable.leaveContext();
     
    77327732
    77337733/* Line 1806 of yacc.c  */
    7734 #line 1824 "parser.yy"
     7734#line 1823 "parser.yy"
    77357735    { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); }
    77367736    break;
     
    77397739
    77407740/* Line 1806 of yacc.c  */
    7741 #line 1834 "parser.yy"
     7741#line 1833 "parser.yy"
    77427742    {
    77437743                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77497749
    77507750/* Line 1806 of yacc.c  */
    7751 #line 1839 "parser.yy"
     7751#line 1838 "parser.yy"
    77527752    {
    77537753                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77597759
    77607760/* Line 1806 of yacc.c  */
    7761 #line 1844 "parser.yy"
     7761#line 1843 "parser.yy"
    77627762    {
    77637763                        typedefTable.addToEnclosingScope2( *((yyvsp[(5) - (5)].tok)), TypedefTable::ID );
     
    77697769
    77707770/* Line 1806 of yacc.c  */
    7771 #line 1852 "parser.yy"
     7771#line 1851 "parser.yy"
    77727772    {
    77737773                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77797779
    77807780/* Line 1806 of yacc.c  */
    7781 #line 1857 "parser.yy"
     7781#line 1856 "parser.yy"
    77827782    {
    77837783                        typedefTable.addToEnclosingScope2( TypedefTable::ID );
     
    77897789
    77907790/* Line 1806 of yacc.c  */
    7791 #line 1867 "parser.yy"
     7791#line 1866 "parser.yy"
    77927792    {}
    77937793    break;
     
    77967796
    77977797/* Line 1806 of yacc.c  */
    7798 #line 1869 "parser.yy"
     7798#line 1868 "parser.yy"
    77997799    {
    78007800                        if ( theTree ) {
     
    78097809
    78107810/* Line 1806 of yacc.c  */
    7811 #line 1881 "parser.yy"
     7811#line 1880 "parser.yy"
    78127812    { (yyval.decl) = ((yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); }
    78137813    break;
     
    78167816
    78177817/* Line 1806 of yacc.c  */
    7818 #line 1886 "parser.yy"
     7818#line 1885 "parser.yy"
    78197819    { (yyval.decl) = 0; }
    78207820    break;
     
    78237823
    78247824/* Line 1806 of yacc.c  */
    7825 #line 1894 "parser.yy"
     7825#line 1893 "parser.yy"
    78267826    {}
    78277827    break;
     
    78307830
    78317831/* Line 1806 of yacc.c  */
    7832 #line 1896 "parser.yy"
     7832#line 1895 "parser.yy"
    78337833    {
    78347834                        linkageStack.push( linkage );
     
    78407840
    78417841/* Line 1806 of yacc.c  */
    7842 #line 1901 "parser.yy"
     7842#line 1900 "parser.yy"
    78437843    {
    78447844                        linkage = linkageStack.top();
     
    78517851
    78527852/* Line 1806 of yacc.c  */
    7853 #line 1907 "parser.yy"
     7853#line 1906 "parser.yy"
    78547854    { (yyval.decl) = (yyvsp[(2) - (2)].decl); }
    78557855    break;
     
    78587858
    78597859/* Line 1806 of yacc.c  */
    7860 #line 1919 "parser.yy"
     7860#line 1918 "parser.yy"
    78617861    {
    78627862                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78697869
    78707870/* Line 1806 of yacc.c  */
    7871 #line 1925 "parser.yy"
     7871#line 1924 "parser.yy"
    78727872    {
    78737873                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78807880
    78817881/* Line 1806 of yacc.c  */
    7882 #line 1934 "parser.yy"
     7882#line 1933 "parser.yy"
    78837883    {
    78847884                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    78917891
    78927892/* Line 1806 of yacc.c  */
    7893 #line 1940 "parser.yy"
     7893#line 1939 "parser.yy"
    78947894    {
    78957895                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79027902
    79037903/* Line 1806 of yacc.c  */
    7904 #line 1946 "parser.yy"
     7904#line 1945 "parser.yy"
    79057905    {
    79067906                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79137913
    79147914/* Line 1806 of yacc.c  */
    7915 #line 1952 "parser.yy"
     7915#line 1951 "parser.yy"
    79167916    {
    79177917                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79247924
    79257925/* Line 1806 of yacc.c  */
    7926 #line 1958 "parser.yy"
     7926#line 1957 "parser.yy"
    79277927    {
    79287928                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79357935
    79367936/* Line 1806 of yacc.c  */
    7937 #line 1966 "parser.yy"
     7937#line 1965 "parser.yy"
    79387938    {
    79397939                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79467946
    79477947/* Line 1806 of yacc.c  */
    7948 #line 1972 "parser.yy"
     7948#line 1971 "parser.yy"
    79497949    {
    79507950                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79577957
    79587958/* Line 1806 of yacc.c  */
    7959 #line 1980 "parser.yy"
     7959#line 1979 "parser.yy"
    79607960    {
    79617961                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79687968
    79697969/* Line 1806 of yacc.c  */
    7970 #line 1986 "parser.yy"
     7970#line 1985 "parser.yy"
    79717971    {
    79727972                        typedefTable.addToEnclosingScope( TypedefTable::ID );
     
    79797979
    79807980/* Line 1806 of yacc.c  */
    7981 #line 2001 "parser.yy"
     7981#line 2000 "parser.yy"
    79827982    { (yyval.en) = new CompositeExprNode(new OperatorNode(OperatorNode::Range), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en)); }
    79837983    break;
    79847984
    79857985  case 539:
     7986
     7987/* Line 1806 of yacc.c  */
     7988#line 2034 "parser.yy"
     7989    {}
     7990    break;
     7991
     7992  case 540:
    79867993
    79877994/* Line 1806 of yacc.c  */
     
    79907997    break;
    79917998
    7992   case 540:
     7999  case 541:
    79938000
    79948001/* Line 1806 of yacc.c  */
     
    79978004    break;
    79988005
    7999   case 541:
     8006  case 542:
    80008007
    80018008/* Line 1806 of yacc.c  */
     
    80048011    break;
    80058012
    8006   case 542:
    8007 
    8008 /* Line 1806 of yacc.c  */
    8009 #line 2038 "parser.yy"
    8010     {}
    8011     break;
    8012 
    80138013  case 547:
    80148014
    80158015/* Line 1806 of yacc.c  */
    8016 #line 2081 "parser.yy"
     8016#line 2080 "parser.yy"
    80178017    {
    80188018                        typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) );
     
    80248024
    80258025/* Line 1806 of yacc.c  */
    8026 #line 2086 "parser.yy"
     8026#line 2085 "parser.yy"
    80278027    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80288028    break;
     
    80318031
    80328032/* Line 1806 of yacc.c  */
    8033 #line 2091 "parser.yy"
     8033#line 2090 "parser.yy"
    80348034    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    80358035    break;
     
    80388038
    80398039/* Line 1806 of yacc.c  */
    8040 #line 2093 "parser.yy"
     8040#line 2092 "parser.yy"
    80418041    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    80428042    break;
     
    80458045
    80468046/* Line 1806 of yacc.c  */
    8047 #line 2095 "parser.yy"
     8047#line 2094 "parser.yy"
    80488048    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80498049    break;
     
    80528052
    80538053/* Line 1806 of yacc.c  */
    8054 #line 2100 "parser.yy"
     8054#line 2099 "parser.yy"
    80558055    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    80568056    break;
     
    80598059
    80608060/* Line 1806 of yacc.c  */
    8061 #line 2102 "parser.yy"
     8061#line 2101 "parser.yy"
    80628062    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80638063    break;
     
    80668066
    80678067/* Line 1806 of yacc.c  */
    8068 #line 2104 "parser.yy"
     8068#line 2103 "parser.yy"
    80698069    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    80708070    break;
     
    80738073
    80748074/* Line 1806 of yacc.c  */
    8075 #line 2106 "parser.yy"
     8075#line 2105 "parser.yy"
    80768076    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80778077    break;
     
    80808080
    80818081/* Line 1806 of yacc.c  */
    8082 #line 2111 "parser.yy"
     8082#line 2110 "parser.yy"
    80838083    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    80848084    break;
     
    80878087
    80888088/* Line 1806 of yacc.c  */
    8089 #line 2113 "parser.yy"
     8089#line 2112 "parser.yy"
    80908090    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    80918091    break;
     
    80948094
    80958095/* Line 1806 of yacc.c  */
    8096 #line 2129 "parser.yy"
     8096#line 2128 "parser.yy"
    80978097    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    80988098    break;
     
    81018101
    81028102/* Line 1806 of yacc.c  */
    8103 #line 2131 "parser.yy"
     8103#line 2130 "parser.yy"
    81048104    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    81058105    break;
     
    81088108
    81098109/* Line 1806 of yacc.c  */
    8110 #line 2133 "parser.yy"
     8110#line 2132 "parser.yy"
    81118111    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81128112    break;
     
    81158115
    81168116/* Line 1806 of yacc.c  */
    8117 #line 2138 "parser.yy"
     8117#line 2137 "parser.yy"
    81188118    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81198119    break;
     
    81228122
    81238123/* Line 1806 of yacc.c  */
    8124 #line 2140 "parser.yy"
     8124#line 2139 "parser.yy"
    81258125    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81268126    break;
     
    81298129
    81308130/* Line 1806 of yacc.c  */
    8131 #line 2142 "parser.yy"
     8131#line 2141 "parser.yy"
    81328132    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81338133    break;
     
    81368136
    81378137/* Line 1806 of yacc.c  */
    8138 #line 2147 "parser.yy"
     8138#line 2146 "parser.yy"
    81398139    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81408140    break;
     
    81438143
    81448144/* Line 1806 of yacc.c  */
    8145 #line 2149 "parser.yy"
     8145#line 2148 "parser.yy"
    81468146    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    81478147    break;
     
    81508150
    81518151/* Line 1806 of yacc.c  */
    8152 #line 2151 "parser.yy"
     8152#line 2150 "parser.yy"
    81538153    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81548154    break;
     
    81578157
    81588158/* Line 1806 of yacc.c  */
    8159 #line 2166 "parser.yy"
     8159#line 2165 "parser.yy"
    81608160    { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }
    81618161    break;
     
    81648164
    81658165/* Line 1806 of yacc.c  */
    8166 #line 2168 "parser.yy"
     8166#line 2167 "parser.yy"
    81678167    { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }
    81688168    break;
     
    81718171
    81728172/* Line 1806 of yacc.c  */
    8173 #line 2170 "parser.yy"
     8173#line 2169 "parser.yy"
    81748174    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81758175    break;
     
    81788178
    81798179/* Line 1806 of yacc.c  */
    8180 #line 2175 "parser.yy"
     8180#line 2174 "parser.yy"
    81818181    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    81828182    break;
     
    81858185
    81868186/* Line 1806 of yacc.c  */
    8187 #line 2177 "parser.yy"
     8187#line 2176 "parser.yy"
    81888188    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    81898189    break;
     
    81928192
    81938193/* Line 1806 of yacc.c  */
    8194 #line 2179 "parser.yy"
     8194#line 2178 "parser.yy"
    81958195    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    81968196    break;
     
    81998199
    82008200/* Line 1806 of yacc.c  */
    8201 #line 2184 "parser.yy"
     8201#line 2183 "parser.yy"
    82028202    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82038203    break;
     
    82068206
    82078207/* Line 1806 of yacc.c  */
    8208 #line 2186 "parser.yy"
     8208#line 2185 "parser.yy"
    82098209    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82108210    break;
     
    82138213
    82148214/* Line 1806 of yacc.c  */
    8215 #line 2188 "parser.yy"
     8215#line 2187 "parser.yy"
    82168216    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82178217    break;
     
    82208220
    82218221/* Line 1806 of yacc.c  */
    8222 #line 2210 "parser.yy"
     8222#line 2209 "parser.yy"
    82238223    {
    82248224                        typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) );
     
    82308230
    82318231/* Line 1806 of yacc.c  */
    8232 #line 2215 "parser.yy"
     8232#line 2214 "parser.yy"
    82338233    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82348234    break;
     
    82378237
    82388238/* Line 1806 of yacc.c  */
    8239 #line 2220 "parser.yy"
     8239#line 2219 "parser.yy"
    82408240    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    82418241    break;
     
    82448244
    82458245/* Line 1806 of yacc.c  */
    8246 #line 2222 "parser.yy"
     8246#line 2221 "parser.yy"
    82478247    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    82488248    break;
     
    82518251
    82528252/* Line 1806 of yacc.c  */
    8253 #line 2224 "parser.yy"
     8253#line 2223 "parser.yy"
    82548254    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82558255    break;
     
    82588258
    82598259/* Line 1806 of yacc.c  */
    8260 #line 2229 "parser.yy"
     8260#line 2228 "parser.yy"
    82618261    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    82628262    break;
     
    82658265
    82668266/* Line 1806 of yacc.c  */
    8267 #line 2231 "parser.yy"
     8267#line 2230 "parser.yy"
    82688268    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82698269    break;
     
    82728272
    82738273/* Line 1806 of yacc.c  */
    8274 #line 2233 "parser.yy"
     8274#line 2232 "parser.yy"
    82758275    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    82768276    break;
     
    82798279
    82808280/* Line 1806 of yacc.c  */
    8281 #line 2235 "parser.yy"
     8281#line 2234 "parser.yy"
    82828282    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    82838283    break;
     
    82868286
    82878287/* Line 1806 of yacc.c  */
    8288 #line 2240 "parser.yy"
     8288#line 2239 "parser.yy"
    82898289    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    82908290    break;
     
    82938293
    82948294/* Line 1806 of yacc.c  */
    8295 #line 2242 "parser.yy"
     8295#line 2241 "parser.yy"
    82968296    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    82978297    break;
     
    83008300
    83018301/* Line 1806 of yacc.c  */
    8302 #line 2244 "parser.yy"
     8302#line 2243 "parser.yy"
    83038303    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83048304    break;
     
    83078307
    83088308/* Line 1806 of yacc.c  */
    8309 #line 2261 "parser.yy"
     8309#line 2260 "parser.yy"
    83108310    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83118311    break;
     
    83148314
    83158315/* Line 1806 of yacc.c  */
    8316 #line 2263 "parser.yy"
     8316#line 2262 "parser.yy"
    83178317    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83188318    break;
     
    83218321
    83228322/* Line 1806 of yacc.c  */
    8323 #line 2265 "parser.yy"
     8323#line 2264 "parser.yy"
    83248324    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83258325    break;
     
    83288328
    83298329/* Line 1806 of yacc.c  */
    8330 #line 2270 "parser.yy"
     8330#line 2269 "parser.yy"
    83318331    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    83328332    break;
     
    83358335
    83368336/* Line 1806 of yacc.c  */
    8337 #line 2272 "parser.yy"
     8337#line 2271 "parser.yy"
    83388338    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83398339    break;
     
    83428342
    83438343/* Line 1806 of yacc.c  */
    8344 #line 2274 "parser.yy"
     8344#line 2273 "parser.yy"
    83458345    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    83468346    break;
     
    83498349
    83508350/* Line 1806 of yacc.c  */
    8351 #line 2276 "parser.yy"
     8351#line 2275 "parser.yy"
    83528352    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83538353    break;
     
    83568356
    83578357/* Line 1806 of yacc.c  */
    8358 #line 2281 "parser.yy"
     8358#line 2280 "parser.yy"
    83598359    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    83608360    break;
     
    83638363
    83648364/* Line 1806 of yacc.c  */
    8365 #line 2283 "parser.yy"
     8365#line 2282 "parser.yy"
    83668366    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    83678367    break;
     
    83708370
    83718371/* Line 1806 of yacc.c  */
    8372 #line 2285 "parser.yy"
     8372#line 2284 "parser.yy"
    83738373    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    83748374    break;
     
    83778377
    83788378/* Line 1806 of yacc.c  */
    8379 #line 2323 "parser.yy"
     8379#line 2322 "parser.yy"
    83808380    {
    83818381                        typedefTable.setNextIdentifier( *((yyvsp[(1) - (1)].tok)) );
     
    83878387
    83888388/* Line 1806 of yacc.c  */
    8389 #line 2331 "parser.yy"
     8389#line 2330 "parser.yy"
    83908390    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    83918391    break;
     
    83948394
    83958395/* Line 1806 of yacc.c  */
    8396 #line 2333 "parser.yy"
     8396#line 2332 "parser.yy"
    83978397    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    83988398    break;
     
    84018401
    84028402/* Line 1806 of yacc.c  */
    8403 #line 2335 "parser.yy"
     8403#line 2334 "parser.yy"
    84048404    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84058405    break;
     
    84088408
    84098409/* Line 1806 of yacc.c  */
    8410 #line 2340 "parser.yy"
     8410#line 2339 "parser.yy"
    84118411    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    84128412    break;
     
    84158415
    84168416/* Line 1806 of yacc.c  */
    8417 #line 2342 "parser.yy"
     8417#line 2341 "parser.yy"
    84188418    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84198419    break;
     
    84228422
    84238423/* Line 1806 of yacc.c  */
    8424 #line 2347 "parser.yy"
     8424#line 2346 "parser.yy"
    84258425    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }
    84268426    break;
     
    84298429
    84308430/* Line 1806 of yacc.c  */
    8431 #line 2349 "parser.yy"
     8431#line 2348 "parser.yy"
    84328432    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    84338433    break;
     
    84368436
    84378437/* Line 1806 of yacc.c  */
    8438 #line 2369 "parser.yy"
     8438#line 2368 "parser.yy"
    84398439    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    84408440    break;
     
    84438443
    84448444/* Line 1806 of yacc.c  */
    8445 #line 2371 "parser.yy"
     8445#line 2370 "parser.yy"
    84468446    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    84478447    break;
     
    84508450
    84518451/* Line 1806 of yacc.c  */
    8452 #line 2373 "parser.yy"
     8452#line 2372 "parser.yy"
    84538453    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    84548454    break;
     
    84578457
    84588458/* Line 1806 of yacc.c  */
    8459 #line 2375 "parser.yy"
     8459#line 2374 "parser.yy"
    84608460    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    84618461    break;
     
    84648464
    84658465/* Line 1806 of yacc.c  */
    8466 #line 2377 "parser.yy"
     8466#line 2376 "parser.yy"
    84678467    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84688468    break;
     
    84718471
    84728472/* Line 1806 of yacc.c  */
    8473 #line 2383 "parser.yy"
     8473#line 2382 "parser.yy"
    84748474    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84758475    break;
     
    84788478
    84798479/* Line 1806 of yacc.c  */
    8480 #line 2385 "parser.yy"
     8480#line 2384 "parser.yy"
    84818481    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    84828482    break;
     
    84858485
    84868486/* Line 1806 of yacc.c  */
    8487 #line 2387 "parser.yy"
     8487#line 2386 "parser.yy"
    84888488    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    84898489    break;
     
    84928492
    84938493/* Line 1806 of yacc.c  */
    8494 #line 2392 "parser.yy"
     8494#line 2391 "parser.yy"
    84958495    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    84968496    break;
     
    84998499
    85008500/* Line 1806 of yacc.c  */
    8501 #line 2394 "parser.yy"
     8501#line 2393 "parser.yy"
    85028502    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    85038503    break;
     
    85068506
    85078507/* Line 1806 of yacc.c  */
    8508 #line 2396 "parser.yy"
     8508#line 2395 "parser.yy"
    85098509    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85108510    break;
     
    85138513
    85148514/* Line 1806 of yacc.c  */
    8515 #line 2402 "parser.yy"
     8515#line 2401 "parser.yy"
    85168516    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    85178517    break;
     
    85208520
    85218521/* Line 1806 of yacc.c  */
    8522 #line 2404 "parser.yy"
     8522#line 2403 "parser.yy"
    85238523    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(5) - (5)].decl) ); }
    85248524    break;
     
    85278527
    85288528/* Line 1806 of yacc.c  */
    8529 #line 2410 "parser.yy"
     8529#line 2409 "parser.yy"
    85308530    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }
    85318531    break;
     
    85348534
    85358535/* Line 1806 of yacc.c  */
    8536 #line 2412 "parser.yy"
     8536#line 2411 "parser.yy"
    85378537    { (yyval.decl) = DeclarationNode::newVarArray( 0 ); }
    85388538    break;
     
    85418541
    85428542/* Line 1806 of yacc.c  */
    8543 #line 2414 "parser.yy"
     8543#line 2413 "parser.yy"
    85448544    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); }
    85458545    break;
     
    85488548
    85498549/* Line 1806 of yacc.c  */
    8550 #line 2416 "parser.yy"
     8550#line 2415 "parser.yy"
    85518551    { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); }
    85528552    break;
     
    85558555
    85568556/* Line 1806 of yacc.c  */
    8557 #line 2436 "parser.yy"
     8557#line 2435 "parser.yy"
    85588558    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    85598559    break;
     
    85628562
    85638563/* Line 1806 of yacc.c  */
    8564 #line 2438 "parser.yy"
     8564#line 2437 "parser.yy"
    85658565    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    85668566    break;
     
    85698569
    85708570/* Line 1806 of yacc.c  */
    8571 #line 2440 "parser.yy"
     8571#line 2439 "parser.yy"
    85728572    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    85738573    break;
     
    85768576
    85778577/* Line 1806 of yacc.c  */
    8578 #line 2442 "parser.yy"
     8578#line 2441 "parser.yy"
    85798579    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    85808580    break;
     
    85838583
    85848584/* Line 1806 of yacc.c  */
    8585 #line 2444 "parser.yy"
     8585#line 2443 "parser.yy"
    85868586    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    85878587    break;
     
    85908590
    85918591/* Line 1806 of yacc.c  */
    8592 #line 2450 "parser.yy"
     8592#line 2449 "parser.yy"
    85938593    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    85948594    break;
     
    85978597
    85988598/* Line 1806 of yacc.c  */
    8599 #line 2452 "parser.yy"
     8599#line 2451 "parser.yy"
    86008600    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    86018601    break;
     
    86048604
    86058605/* Line 1806 of yacc.c  */
    8606 #line 2454 "parser.yy"
     8606#line 2453 "parser.yy"
    86078607    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86088608    break;
     
    86118611
    86128612/* Line 1806 of yacc.c  */
    8613 #line 2459 "parser.yy"
     8613#line 2458 "parser.yy"
    86148614    { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); }
    86158615    break;
     
    86188618
    86198619/* Line 1806 of yacc.c  */
    8620 #line 2461 "parser.yy"
     8620#line 2460 "parser.yy"
    86218621    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    86228622    break;
     
    86258625
    86268626/* Line 1806 of yacc.c  */
    8627 #line 2463 "parser.yy"
     8627#line 2462 "parser.yy"
    86288628    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    86298629    break;
     
    86328632
    86338633/* Line 1806 of yacc.c  */
    8634 #line 2470 "parser.yy"
     8634#line 2469 "parser.yy"
    86358635    { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }
    86368636    break;
     
    86398639
    86408640/* Line 1806 of yacc.c  */
    8641 #line 2482 "parser.yy"
     8641#line 2481 "parser.yy"
    86428642    { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }
    86438643    break;
     
    86468646
    86478647/* Line 1806 of yacc.c  */
    8648 #line 2485 "parser.yy"
     8648#line 2484 "parser.yy"
    86498649    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    86508650    break;
     
    86538653
    86548654/* Line 1806 of yacc.c  */
    8655 #line 2487 "parser.yy"
     8655#line 2486 "parser.yy"
    86568656    { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }
    86578657    break;
     
    86608660
    86618661/* Line 1806 of yacc.c  */
    8662 #line 2490 "parser.yy"
     8662#line 2489 "parser.yy"
    86638663    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    86648664    break;
     
    86678667
    86688668/* Line 1806 of yacc.c  */
    8669 #line 2492 "parser.yy"
     8669#line 2491 "parser.yy"
    86708670    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }
    86718671    break;
     
    86748674
    86758675/* Line 1806 of yacc.c  */
    8676 #line 2494 "parser.yy"
     8676#line 2493 "parser.yy"
    86778677    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }
    86788678    break;
     
    86818681
    86828682/* Line 1806 of yacc.c  */
    8683 #line 2513 "parser.yy"
     8683#line 2512 "parser.yy"
    86848684    { (yyval.decl) = DeclarationNode::newPointer( 0 ); }
    86858685    break;
     
    86888688
    86898689/* Line 1806 of yacc.c  */
    8690 #line 2515 "parser.yy"
     8690#line 2514 "parser.yy"
    86918691    { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }
    86928692    break;
     
    86958695
    86968696/* Line 1806 of yacc.c  */
    8697 #line 2517 "parser.yy"
     8697#line 2516 "parser.yy"
    86988698    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }
    86998699    break;
     
    87028702
    87038703/* Line 1806 of yacc.c  */
    8704 #line 2519 "parser.yy"
     8704#line 2518 "parser.yy"
    87058705    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }
    87068706    break;
     
    87098709
    87108710/* Line 1806 of yacc.c  */
    8711 #line 2521 "parser.yy"
     8711#line 2520 "parser.yy"
    87128712    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87138713    break;
     
    87168716
    87178717/* Line 1806 of yacc.c  */
    8718 #line 2527 "parser.yy"
     8718#line 2526 "parser.yy"
    87198719    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87208720    break;
     
    87238723
    87248724/* Line 1806 of yacc.c  */
    8725 #line 2529 "parser.yy"
     8725#line 2528 "parser.yy"
    87268726    { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }
    87278727    break;
     
    87308730
    87318731/* Line 1806 of yacc.c  */
    8732 #line 2531 "parser.yy"
     8732#line 2530 "parser.yy"
    87338733    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87348734    break;
     
    87378737
    87388738/* Line 1806 of yacc.c  */
    8739 #line 2536 "parser.yy"
     8739#line 2535 "parser.yy"
    87408740    { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }
    87418741    break;
     
    87448744
    87458745/* Line 1806 of yacc.c  */
    8746 #line 2538 "parser.yy"
     8746#line 2537 "parser.yy"
    87478747    { (yyval.decl) = (yyvsp[(2) - (3)].decl); }
    87488748    break;
     
    87518751
    87528752/* Line 1806 of yacc.c  */
    8753 #line 2548 "parser.yy"
     8753#line 2547 "parser.yy"
    87548754    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    87558755    break;
     
    87588758
    87598759/* Line 1806 of yacc.c  */
    8760 #line 2558 "parser.yy"
     8760#line 2557 "parser.yy"
    87618761    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    87628762    break;
     
    87658765
    87668766/* Line 1806 of yacc.c  */
    8767 #line 2560 "parser.yy"
     8767#line 2559 "parser.yy"
    87688768    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    87698769    break;
     
    87728772
    87738773/* Line 1806 of yacc.c  */
    8774 #line 2562 "parser.yy"
     8774#line 2561 "parser.yy"
    87758775    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    87768776    break;
     
    87798779
    87808780/* Line 1806 of yacc.c  */
    8781 #line 2564 "parser.yy"
     8781#line 2563 "parser.yy"
    87828782    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    87838783    break;
     
    87868786
    87878787/* Line 1806 of yacc.c  */
    8788 #line 2566 "parser.yy"
     8788#line 2565 "parser.yy"
    87898789    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    87908790    break;
     
    87938793
    87948794/* Line 1806 of yacc.c  */
    8795 #line 2568 "parser.yy"
     8795#line 2567 "parser.yy"
    87968796    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    87978797    break;
     
    88008800
    88018801/* Line 1806 of yacc.c  */
    8802 #line 2575 "parser.yy"
     8802#line 2574 "parser.yy"
    88038803    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88048804    break;
     
    88078807
    88088808/* Line 1806 of yacc.c  */
    8809 #line 2577 "parser.yy"
     8809#line 2576 "parser.yy"
    88108810    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88118811    break;
     
    88148814
    88158815/* Line 1806 of yacc.c  */
    8816 #line 2579 "parser.yy"
     8816#line 2578 "parser.yy"
    88178817    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88188818    break;
     
    88218821
    88228822/* Line 1806 of yacc.c  */
    8823 #line 2581 "parser.yy"
     8823#line 2580 "parser.yy"
    88248824    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    88258825    break;
     
    88288828
    88298829/* Line 1806 of yacc.c  */
    8830 #line 2583 "parser.yy"
     8830#line 2582 "parser.yy"
    88318831    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88328832    break;
     
    88358835
    88368836/* Line 1806 of yacc.c  */
    8837 #line 2585 "parser.yy"
     8837#line 2584 "parser.yy"
    88388838    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88398839    break;
     
    88428842
    88438843/* Line 1806 of yacc.c  */
    8844 #line 2587 "parser.yy"
     8844#line 2586 "parser.yy"
    88458845    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88468846    break;
     
    88498849
    88508850/* Line 1806 of yacc.c  */
    8851 #line 2589 "parser.yy"
     8851#line 2588 "parser.yy"
    88528852    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    88538853    break;
     
    88568856
    88578857/* Line 1806 of yacc.c  */
    8858 #line 2591 "parser.yy"
     8858#line 2590 "parser.yy"
    88598859    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }
    88608860    break;
     
    88638863
    88648864/* Line 1806 of yacc.c  */
    8865 #line 2593 "parser.yy"
     8865#line 2592 "parser.yy"
    88668866    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    88678867    break;
     
    88708870
    88718871/* Line 1806 of yacc.c  */
    8872 #line 2598 "parser.yy"
     8872#line 2597 "parser.yy"
    88738873    { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }
    88748874    break;
     
    88778877
    88788878/* Line 1806 of yacc.c  */
    8879 #line 2600 "parser.yy"
     8879#line 2599 "parser.yy"
    88808880    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }
    88818881    break;
     
    88848884
    88858885/* Line 1806 of yacc.c  */
    8886 #line 2605 "parser.yy"
     8886#line 2604 "parser.yy"
    88878887    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); }
    88888888    break;
     
    88918891
    88928892/* Line 1806 of yacc.c  */
    8893 #line 2607 "parser.yy"
     8893#line 2606 "parser.yy"
    88948894    { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); }
    88958895    break;
     
    88988898
    88998899/* Line 1806 of yacc.c  */
    8900 #line 2634 "parser.yy"
     8900#line 2633 "parser.yy"
    89018901    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }
    89028902    break;
     
    89058905
    89068906/* Line 1806 of yacc.c  */
    8907 #line 2645 "parser.yy"
     8907#line 2644 "parser.yy"
    89088908    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89098909    break;
     
    89128912
    89138913/* Line 1806 of yacc.c  */
    8914 #line 2647 "parser.yy"
     8914#line 2646 "parser.yy"
    89158915    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89168916    break;
     
    89198919
    89208920/* Line 1806 of yacc.c  */
    8921 #line 2649 "parser.yy"
     8921#line 2648 "parser.yy"
    89228922    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89238923    break;
     
    89268926
    89278927/* Line 1806 of yacc.c  */
    8928 #line 2651 "parser.yy"
     8928#line 2650 "parser.yy"
    89298929    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89308930    break;
     
    89338933
    89348934/* Line 1806 of yacc.c  */
    8935 #line 2653 "parser.yy"
     8935#line 2652 "parser.yy"
    89368936    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }
    89378937    break;
     
    89408940
    89418941/* Line 1806 of yacc.c  */
    8942 #line 2655 "parser.yy"
     8942#line 2654 "parser.yy"
    89438943    { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }
    89448944    break;
     
    89478947
    89488948/* Line 1806 of yacc.c  */
    8949 #line 2662 "parser.yy"
     8949#line 2661 "parser.yy"
    89508950    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89518951    break;
     
    89548954
    89558955/* Line 1806 of yacc.c  */
    8956 #line 2664 "parser.yy"
     8956#line 2663 "parser.yy"
    89578957    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89588958    break;
     
    89618961
    89628962/* Line 1806 of yacc.c  */
    8963 #line 2666 "parser.yy"
     8963#line 2665 "parser.yy"
    89648964    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89658965    break;
     
    89688968
    89698969/* Line 1806 of yacc.c  */
    8970 #line 2668 "parser.yy"
     8970#line 2667 "parser.yy"
    89718971    { (yyval.decl) = (yyvsp[(5) - (5)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89728972    break;
     
    89758975
    89768976/* Line 1806 of yacc.c  */
    8977 #line 2670 "parser.yy"
     8977#line 2669 "parser.yy"
    89788978    { (yyval.decl) = (yyvsp[(6) - (6)].decl)->addNewArray( (yyvsp[(5) - (6)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }
    89798979    break;
     
    89828982
    89838983/* Line 1806 of yacc.c  */
    8984 #line 2672 "parser.yy"
     8984#line 2671 "parser.yy"
    89858985    { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }
    89868986    break;
     
    89898989
    89908990/* Line 1806 of yacc.c  */
    8991 #line 2677 "parser.yy"
     8991#line 2676 "parser.yy"
    89928992    { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }
    89938993    break;
     
    89968996
    89978997/* Line 1806 of yacc.c  */
    8998 #line 2682 "parser.yy"
     8998#line 2681 "parser.yy"
    89998999    { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (7)].decl), 0 ); }
    90009000    break;
     
    90039003
    90049004/* Line 1806 of yacc.c  */
    9005 #line 2684 "parser.yy"
     9005#line 2683 "parser.yy"
    90069006    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    90079007    break;
     
    90109010
    90119011/* Line 1806 of yacc.c  */
    9012 #line 2686 "parser.yy"
     9012#line 2685 "parser.yy"
    90139013    { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); }
    90149014    break;
     
    90179017
    90189018/* Line 1806 of yacc.c  */
    9019 #line 2712 "parser.yy"
     9019#line 2711 "parser.yy"
    90209020    { (yyval.en) = 0; }
    90219021    break;
     
    90249024
    90259025/* Line 1806 of yacc.c  */
    9026 #line 2714 "parser.yy"
     9026#line 2713 "parser.yy"
    90279027    { (yyval.en) = (yyvsp[(2) - (2)].en); }
    90289028    break;
     
    92629262
    92639263/* Line 2067 of yacc.c  */
    9264 #line 2717 "parser.yy"
     9264#line 2716 "parser.yy"
    92659265
    92669266// ----end of grammar----
Note: See TracChangeset for help on using the changeset viewer.