Changeset 1d4580a for src/Parser/parser.cc
- Timestamp:
- Aug 14, 2016, 8:36:29 AM (8 years ago)
- Branches:
- ADT, aaron-thesis, arm-eh, ast-experimental, cleanup-dtors, ctor, deferred_resn, demangler, enum, forall-pointer-decay, jacob/cs343-translation, jenkins-sandbox, master, memory, new-ast, new-ast-unique-expr, new-env, no_list, persistent-indexer, pthread-emulation, qualifiedEnum, resolv-new, with_gc
- Children:
- 777bfcf
- Parents:
- 46b4259
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r46b4259 r1d4580a 1035 1035 657, 658, 659, 660, 661, 662, 663, 673, 680, 682, 1036 1036 692, 693, 698, 700, 706, 708, 712, 713, 718, 723, 1037 726, 728, 730, 740, 742, 753, 754, 756, 76 1, 763,1038 76 7, 768, 773, 774, 778, 783, 784, 788, 790, 796,1039 79 7, 801, 803, 805, 807, 813, 814, 818, 820, 825,1040 82 7, 829, 834, 836, 841, 843, 847, 850, 854, 857,1041 86 1, 863, 865, 867, 872, 874, 876, 885, 887, 889,1042 8 91, 893, 898, 900, 902, 904, 909, 922, 923, 928,1043 9 30, 935, 939, 941, 943, 945, 947, 953, 954, 960,1044 9 61, 965, 966, 971, 973, 979, 980, 982, 987, 989,1045 99 6, 998, 1002, 1003, 1008, 1010, 1014, 1015, 1019, 1021,1046 10 25, 1026, 1030, 1031, 1035, 1036, 1051, 1052, 1053, 1054,1047 10 55, 1059, 1064, 1071, 1081, 1086, 1091, 1099, 1104, 1109,1048 11 14, 1119, 1127, 1149, 1154, 1161, 1163, 1170, 1175, 1180,1049 11 91, 1196, 1201, 1206, 1211, 1220, 1225, 1233, 1234, 1235,1050 123 6, 1242, 1247, 1255, 1256, 1257, 1258, 1262, 1263, 1264,1051 12 65, 1270, 1271, 1280, 1281, 1286, 1287, 1292, 1294, 1296,1052 129 8, 1300, 1303, 1302, 1314, 1315, 1317, 1327, 1328, 1333,1053 133 7, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1356, 1358,1054 13 60, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1376, 1378,1055 13 80, 1386, 1387, 1389, 1391, 1393, 1398, 1399, 1405, 1406,1056 140 8, 1410, 1415, 1417, 1419, 1421, 1426, 1427, 1429, 1431,1057 143 6, 1437, 1439, 1444, 1445, 1447, 1449, 1454, 1456, 1458,1058 14 63, 1464, 1468, 1470, 1476, 1475, 1479, 1481, 1486, 1488,1059 14 94, 1495, 1500, 1501, 1503, 1504, 1513, 1514, 1516, 1518,1060 15 23, 1525, 1531, 1532, 1534, 1537, 1540, 1545, 1546, 1551,1061 155 6, 1560, 1562, 1568, 1567, 1574, 1576, 1582, 1583, 1591,1062 15 92, 1596, 1597, 1598, 1600, 1602, 1609, 1610, 1612, 1614,1063 161 9, 1620, 1626, 1627, 1631, 1632, 1637, 1638, 1639, 1641,1064 164 9, 1650, 1652, 1655, 1657, 1661, 1662, 1663, 1665, 1667,1065 16 71, 1676, 1684, 1685, 1694, 1696, 1701, 1702, 1703, 1707,1066 170 8, 1709, 1713, 1714, 1715, 1719, 1720, 1721, 1726, 1727,1067 172 8, 1729, 1735, 1736, 1738, 1743, 1744, 1749, 1750, 1751,1068 17 52, 1753, 1768, 1769, 1774, 1775, 1781, 1783, 1786, 1788,1069 17 90, 1813, 1814, 1816, 1818, 1823, 1824, 1826, 1831, 1836,1070 183 7, 1843, 1842, 1846, 1850, 1852, 1854, 1860, 1861, 1866,1071 18 71, 1873, 1878, 1880, 1881, 1883, 1888, 1890, 1892, 1897,1072 189 9, 1904, 1909, 1917, 1923, 1922, 1936, 1937, 1942, 1943,1073 194 7, 1952, 1957, 1965, 1970, 1981, 1982, 1993, 1994, 2000,1074 2001, 2005, 2006, 2007, 2010, 2009, 2020, 2029, 2035, 2041,1075 20 50, 2056, 2062, 2068, 2074, 2082, 2088, 2096, 2102, 2111,1076 21 12, 2113, 2117, 2121, 2123, 2128, 2129, 2133, 2134, 2139,1077 21 45, 2146, 2149, 2151, 2152, 2156, 2157, 2158, 2159, 2193,1078 21 95, 2196, 2198, 2203, 2208, 2213, 2215, 2217, 2222, 2224,1079 222 6, 2228, 2233, 2235, 2244, 2246, 2247, 2252, 2254, 2256,1080 22 61, 2263, 2265, 2270, 2272, 2274, 2283, 2284, 2285, 2289,1081 22 91, 2293, 2298, 2300, 2302, 2307, 2309, 2311, 2326, 2328,1082 232 9, 2331, 2336, 2337, 2342, 2344, 2346, 2351, 2353, 2355,1083 235 7, 2362, 2364, 2366, 2376, 2378, 2379, 2381, 2386, 2388,1084 23 90, 2395, 2397, 2399, 2401, 2406, 2408, 2410, 2441, 2443,1085 24 44, 2446, 2451, 2456, 2464, 2466, 2468, 2473, 2475, 2480,1086 24 82, 2496, 2497, 2499, 2504, 2506, 2508, 2510, 2512, 2517,1087 251 8, 2520, 2522, 2527, 2529, 2531, 2537, 2539, 2541, 2545,1088 254 7, 2549, 2551, 2565, 2566, 2568, 2573, 2575, 2577, 2579,1089 25 81, 2586, 2587, 2589, 2591, 2596, 2598, 2600, 2606, 2607,1090 260 9, 2618, 2621, 2623, 2626, 2628, 2630, 2643, 2644, 2646,1091 26 51, 2653, 2655, 2657, 2659, 2664, 2665, 2667, 2669, 2674,1092 267 6, 2684, 2685, 2686, 2691, 2692, 2696, 2698, 2700, 2702,1093 2 704, 2706, 2713, 2715, 2717, 2719, 2721, 2723, 2725, 2727,1094 272 9, 2731, 2736, 2738, 2740, 2745, 2771, 2772, 2774, 2778,1095 277 9, 2783, 2785, 2787, 2789, 2791, 2793, 2800, 2802, 2804,1096 280 6, 2808, 2810, 2815, 2820, 2822, 2824, 2842, 2844, 2849,1097 28 501037 726, 728, 730, 740, 742, 753, 754, 756, 760, 762, 1038 766, 767, 772, 773, 777, 782, 783, 787, 789, 795, 1039 796, 800, 802, 804, 806, 812, 813, 817, 819, 824, 1040 826, 828, 833, 835, 840, 842, 846, 849, 853, 856, 1041 860, 862, 864, 866, 871, 873, 875, 880, 882, 884, 1042 886, 888, 893, 895, 897, 899, 904, 916, 917, 922, 1043 924, 929, 933, 935, 937, 939, 941, 947, 948, 954, 1044 955, 959, 960, 965, 967, 973, 974, 976, 981, 983, 1045 990, 992, 996, 997, 1002, 1004, 1008, 1009, 1013, 1015, 1046 1019, 1020, 1024, 1025, 1029, 1030, 1045, 1046, 1047, 1048, 1047 1049, 1053, 1058, 1065, 1075, 1080, 1085, 1093, 1098, 1103, 1048 1108, 1113, 1121, 1143, 1148, 1155, 1157, 1164, 1169, 1174, 1049 1185, 1190, 1195, 1200, 1205, 1214, 1219, 1227, 1228, 1229, 1050 1230, 1236, 1241, 1249, 1250, 1251, 1252, 1256, 1257, 1258, 1051 1259, 1264, 1265, 1274, 1275, 1280, 1281, 1286, 1288, 1290, 1052 1292, 1294, 1297, 1296, 1308, 1309, 1311, 1321, 1322, 1327, 1053 1331, 1333, 1335, 1337, 1339, 1341, 1343, 1345, 1350, 1352, 1054 1354, 1356, 1358, 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1055 1374, 1380, 1381, 1383, 1385, 1387, 1392, 1393, 1399, 1400, 1056 1402, 1404, 1409, 1411, 1413, 1415, 1420, 1421, 1423, 1425, 1057 1430, 1431, 1433, 1438, 1439, 1441, 1443, 1448, 1450, 1452, 1058 1457, 1458, 1462, 1464, 1470, 1469, 1473, 1475, 1480, 1482, 1059 1488, 1489, 1494, 1495, 1497, 1498, 1507, 1508, 1510, 1512, 1060 1517, 1519, 1525, 1526, 1528, 1531, 1534, 1539, 1540, 1545, 1061 1550, 1554, 1556, 1562, 1561, 1568, 1570, 1576, 1577, 1585, 1062 1586, 1590, 1591, 1592, 1594, 1596, 1603, 1604, 1606, 1608, 1063 1613, 1614, 1620, 1621, 1625, 1626, 1631, 1632, 1633, 1635, 1064 1643, 1644, 1646, 1649, 1651, 1655, 1656, 1657, 1659, 1661, 1065 1665, 1670, 1678, 1679, 1688, 1690, 1695, 1696, 1697, 1701, 1066 1702, 1703, 1707, 1708, 1709, 1713, 1714, 1715, 1720, 1721, 1067 1722, 1723, 1729, 1730, 1732, 1737, 1738, 1743, 1744, 1745, 1068 1746, 1747, 1762, 1763, 1768, 1769, 1775, 1777, 1780, 1782, 1069 1784, 1807, 1808, 1810, 1812, 1817, 1818, 1820, 1825, 1830, 1070 1831, 1837, 1836, 1840, 1844, 1846, 1848, 1854, 1855, 1860, 1071 1865, 1867, 1872, 1874, 1875, 1877, 1882, 1884, 1886, 1891, 1072 1893, 1898, 1903, 1911, 1917, 1916, 1930, 1931, 1936, 1937, 1073 1941, 1946, 1951, 1959, 1964, 1975, 1976, 1987, 1988, 1994, 1074 1995, 1999, 2000, 2001, 2004, 2003, 2014, 2023, 2029, 2035, 1075 2044, 2050, 2056, 2062, 2068, 2076, 2082, 2090, 2096, 2105, 1076 2106, 2107, 2111, 2115, 2117, 2122, 2123, 2127, 2128, 2133, 1077 2139, 2140, 2143, 2145, 2146, 2150, 2151, 2152, 2153, 2187, 1078 2189, 2190, 2192, 2197, 2202, 2207, 2209, 2211, 2216, 2218, 1079 2220, 2222, 2227, 2229, 2238, 2240, 2241, 2246, 2248, 2250, 1080 2255, 2257, 2259, 2264, 2266, 2268, 2277, 2278, 2279, 2283, 1081 2285, 2287, 2292, 2294, 2296, 2301, 2303, 2305, 2320, 2322, 1082 2323, 2325, 2330, 2331, 2336, 2338, 2340, 2345, 2347, 2349, 1083 2351, 2356, 2358, 2360, 2370, 2372, 2373, 2375, 2380, 2382, 1084 2384, 2389, 2391, 2393, 2395, 2400, 2402, 2404, 2435, 2437, 1085 2438, 2440, 2445, 2450, 2458, 2460, 2462, 2467, 2469, 2474, 1086 2476, 2490, 2491, 2493, 2498, 2500, 2502, 2504, 2506, 2511, 1087 2512, 2514, 2516, 2521, 2523, 2525, 2531, 2533, 2535, 2539, 1088 2541, 2543, 2545, 2559, 2560, 2562, 2567, 2569, 2571, 2573, 1089 2575, 2580, 2581, 2583, 2585, 2590, 2592, 2594, 2600, 2601, 1090 2603, 2612, 2615, 2617, 2620, 2622, 2624, 2637, 2638, 2640, 1091 2645, 2647, 2649, 2651, 2653, 2658, 2659, 2661, 2663, 2668, 1092 2670, 2678, 2679, 2680, 2685, 2686, 2690, 2692, 2694, 2696, 1093 2698, 2700, 2707, 2709, 2711, 2713, 2715, 2717, 2719, 2721, 1094 2723, 2725, 2730, 2732, 2734, 2739, 2765, 2766, 2768, 2772, 1095 2773, 2777, 2779, 2781, 2783, 2785, 2787, 2794, 2796, 2798, 1096 2800, 2802, 2804, 2809, 2814, 2816, 2818, 2836, 2838, 2843, 1097 2844 1098 1098 }; 1099 1099 #endif … … 5098 5098 Token fn; 5099 5099 fn.str = new std::string( "?{}" ); // location undefined 5100 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_l ink( (yyvsp[(3) - (4)].en) ) ) );5100 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_last( (yyvsp[(3) - (4)].en) ) ) ); 5101 5101 } 5102 5102 break; … … 5106 5106 /* Line 1806 of yacc.c */ 5107 5107 #line 398 "parser.yy" 5108 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_l ink( (yyvsp[(3) - (3)].en) )); }5108 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 5109 5109 break; 5110 5110 … … 5120 5120 /* Line 1806 of yacc.c */ 5121 5121 #line 409 "parser.yy" 5122 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ink( (yyvsp[(3) - (3)].en) ); }5122 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5123 5123 break; 5124 5124 … … 5593 5593 /* Line 1806 of yacc.c */ 5594 5594 #line 629 "parser.yy" 5595 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_l ink( (yyvsp[(4) - (6)].en) ) ) ); }5595 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5596 5596 break; 5597 5597 … … 5600 5600 /* Line 1806 of yacc.c */ 5601 5601 #line 631 "parser.yy" 5602 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_l ink( (yyvsp[(5) - (7)].en) ) ) ); }5602 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5603 5603 break; 5604 5604 … … 5607 5607 /* Line 1806 of yacc.c */ 5608 5608 #line 637 "parser.yy" 5609 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ink( (yyvsp[(3) - (3)].en) ); }5609 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5610 5610 break; 5611 5611 … … 5638 5638 Token fn; 5639 5639 fn.str = new std::string( "^?{}" ); // location undefined 5640 (yyval.sn) = new StatementNode2( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_l ink( (yyvsp[(4) - (6)].en) ) ) ) ) );5640 (yyval.sn) = new StatementNode2( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_last( (yyvsp[(4) - (6)].en) ) ) ) ) ); 5641 5641 } 5642 5642 break; … … 5669 5669 /* Line 1806 of yacc.c */ 5670 5670 #line 694 "parser.yy" 5671 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_l ink( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }5671 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5672 5672 break; 5673 5673 … … 5676 5676 /* Line 1806 of yacc.c */ 5677 5677 #line 699 "parser.yy" 5678 { (yyval.sn) = new StatementNode ( (yyvsp[(1) - (1)].decl) ); }5678 { (yyval.sn) = new StatementNode2( (yyvsp[(1) - (1)].decl) ); } 5679 5679 break; 5680 5680 … … 5684 5684 #line 701 "parser.yy" 5685 5685 { // mark all fields in list 5686 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_ link() )5686 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_next() ) 5687 5687 iter->set_extension( true ); 5688 (yyval.sn) = new StatementNode ( (yyvsp[(2) - (2)].decl) );5688 (yyval.sn) = new StatementNode2( (yyvsp[(2) - (2)].decl) ); 5689 5689 } 5690 5690 break; … … 5694 5694 /* Line 1806 of yacc.c */ 5695 5695 #line 707 "parser.yy" 5696 { (yyval.sn) = new StatementNode ( (yyvsp[(1) - (1)].decl) ); }5696 { (yyval.sn) = new StatementNode2( (yyvsp[(1) - (1)].decl) ); } 5697 5697 break; 5698 5698 … … 5701 5701 /* Line 1806 of yacc.c */ 5702 5702 #line 714 "parser.yy" 5703 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_l ink( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }5703 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5704 5704 break; 5705 5705 … … 5743 5743 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5744 5744 // statement. 5745 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode ( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw;5745 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode2( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) : sw; 5746 5746 } 5747 5747 break; … … 5760 5760 { 5761 5761 StatementNode *sw = new StatementNode2( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5762 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode ( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw;5762 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode2( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) : sw; 5763 5763 } 5764 5764 break; … … 5781 5781 5782 5782 /* Line 1806 of yacc.c */ 5783 #line 76 1"parser.yy"5783 #line 760 "parser.yy" 5784 5784 { (yyval.sn) = new StatementNode2( build_case( (yyvsp[(1) - (1)].en) ) ); } 5785 5785 break; … … 5788 5788 5789 5789 /* Line 1806 of yacc.c */ 5790 #line 76 3"parser.yy"5791 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_l ink( new StatementNode2( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); }5790 #line 762 "parser.yy" 5791 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode2( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5792 5792 break; 5793 5793 … … 5795 5795 5796 5796 /* Line 1806 of yacc.c */ 5797 #line 766 "parser.yy" 5798 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5799 break; 5800 5801 case 161: 5802 5803 /* Line 1806 of yacc.c */ 5797 5804 #line 767 "parser.yy" 5798 { (yyval.sn) = (yyvsp[(2) - (3)].sn); }5799 break;5800 5801 case 161:5802 5803 /* Line 1806 of yacc.c */5804 #line 768 "parser.yy"5805 5805 { (yyval.sn) = new StatementNode2( build_default() ); } 5806 5806 break; … … 5809 5809 5810 5810 /* Line 1806 of yacc.c */ 5811 #line 77 4"parser.yy"5812 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_l ink( (yyvsp[(2) - (2)].sn) )); }5811 #line 773 "parser.yy" 5812 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5813 5813 break; 5814 5814 … … 5816 5816 5817 5817 /* Line 1806 of yacc.c */ 5818 #line 77 8"parser.yy"5818 #line 777 "parser.yy" 5819 5819 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); } 5820 5820 break; … … 5823 5823 5824 5824 /* Line 1806 of yacc.c */ 5825 #line 78 3"parser.yy"5825 #line 782 "parser.yy" 5826 5826 { (yyval.sn) = 0; } 5827 5827 break; … … 5830 5830 5831 5831 /* Line 1806 of yacc.c */ 5832 #line 78 9"parser.yy"5832 #line 788 "parser.yy" 5833 5833 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); } 5834 5834 break; … … 5837 5837 5838 5838 /* Line 1806 of yacc.c */ 5839 #line 79 1"parser.yy"5840 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_l ink( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); }5839 #line 790 "parser.yy" 5840 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5841 5841 break; 5842 5842 … … 5844 5844 5845 5845 /* Line 1806 of yacc.c */ 5846 #line 79 6"parser.yy"5846 #line 795 "parser.yy" 5847 5847 { (yyval.sn) = 0; } 5848 5848 break; … … 5851 5851 5852 5852 /* Line 1806 of yacc.c */ 5853 #line 80 2"parser.yy"5853 #line 801 "parser.yy" 5854 5854 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5855 5855 break; … … 5858 5858 5859 5859 /* Line 1806 of yacc.c */ 5860 #line 80 4"parser.yy"5860 #line 803 "parser.yy" 5861 5861 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(2) - (3)].sn), *(yyvsp[(3) - (3)].sn) ) ) ) ); } 5862 5862 break; … … 5865 5865 5866 5866 /* Line 1806 of yacc.c */ 5867 #line 80 6"parser.yy"5868 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_l ink( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }5867 #line 805 "parser.yy" 5868 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5869 5869 break; 5870 5870 … … 5872 5872 5873 5873 /* Line 1806 of yacc.c */ 5874 #line 80 8"parser.yy"5875 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_l ink( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }5874 #line 807 "parser.yy" 5875 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5876 5876 break; 5877 5877 … … 5879 5879 5880 5880 /* Line 1806 of yacc.c */ 5881 #line 81 3"parser.yy"5881 #line 812 "parser.yy" 5882 5882 { (yyval.sn) = new StatementNode2( build_branch( "", BranchStmt::Break ) ); } 5883 5883 break; … … 5886 5886 5887 5887 /* Line 1806 of yacc.c */ 5888 #line 81 9"parser.yy"5888 #line 818 "parser.yy" 5889 5889 { (yyval.sn) = 0; } 5890 5890 break; … … 5893 5893 5894 5894 /* Line 1806 of yacc.c */ 5895 #line 82 1"parser.yy"5895 #line 820 "parser.yy" 5896 5896 { (yyval.sn) = 0; } 5897 5897 break; … … 5900 5900 5901 5901 /* Line 1806 of yacc.c */ 5902 #line 82 6"parser.yy"5902 #line 825 "parser.yy" 5903 5903 { (yyval.sn) = new StatementNode2( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5904 5904 break; … … 5907 5907 5908 5908 /* Line 1806 of yacc.c */ 5909 #line 82 8"parser.yy"5909 #line 827 "parser.yy" 5910 5910 { (yyval.sn) = new StatementNode2( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ) ); } 5911 5911 break; … … 5914 5914 5915 5915 /* Line 1806 of yacc.c */ 5916 #line 8 30"parser.yy"5916 #line 829 "parser.yy" 5917 5917 { (yyval.sn) = new StatementNode2( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5918 5918 break; … … 5921 5921 5922 5922 /* Line 1806 of yacc.c */ 5923 #line 83 5"parser.yy"5923 #line 834 "parser.yy" 5924 5924 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5925 5925 break; … … 5928 5928 5929 5929 /* Line 1806 of yacc.c */ 5930 #line 83 7"parser.yy"5930 #line 836 "parser.yy" 5931 5931 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5932 5932 break; … … 5935 5935 5936 5936 /* Line 1806 of yacc.c */ 5937 #line 84 2"parser.yy"5937 #line 841 "parser.yy" 5938 5938 { (yyval.sn) = new StatementNode2( build_branch( *(yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5939 5939 break; … … 5942 5942 5943 5943 /* Line 1806 of yacc.c */ 5944 #line 84 6"parser.yy"5944 #line 845 "parser.yy" 5945 5945 { (yyval.sn) = new StatementNode2( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5946 5946 break; … … 5949 5949 5950 5950 /* Line 1806 of yacc.c */ 5951 #line 84 9"parser.yy"5951 #line 848 "parser.yy" 5952 5952 { (yyval.sn) = new StatementNode2( build_branch( "", BranchStmt::Continue ) ); } 5953 5953 break; … … 5956 5956 5957 5957 /* Line 1806 of yacc.c */ 5958 #line 85 3"parser.yy"5958 #line 852 "parser.yy" 5959 5959 { (yyval.sn) = new StatementNode2( build_branch( *(yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); delete (yyvsp[(2) - (3)].tok); } 5960 5960 break; … … 5963 5963 5964 5964 /* Line 1806 of yacc.c */ 5965 #line 85 6"parser.yy"5965 #line 855 "parser.yy" 5966 5966 { (yyval.sn) = new StatementNode2( build_branch( "", BranchStmt::Break ) ); } 5967 5967 break; … … 5970 5970 5971 5971 /* Line 1806 of yacc.c */ 5972 #line 8 60"parser.yy"5972 #line 859 "parser.yy" 5973 5973 { (yyval.sn) = new StatementNode2( build_branch( *(yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); delete (yyvsp[(2) - (3)].tok); } 5974 5974 break; … … 5977 5977 5978 5978 /* Line 1806 of yacc.c */ 5979 #line 86 2"parser.yy"5979 #line 861 "parser.yy" 5980 5980 { (yyval.sn) = new StatementNode2( build_return( (yyvsp[(2) - (3)].en) ) ); } 5981 5981 break; … … 5984 5984 5985 5985 /* Line 1806 of yacc.c */ 5986 #line 86 4"parser.yy"5986 #line 863 "parser.yy" 5987 5987 { (yyval.sn) = new StatementNode2( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5988 5988 break; … … 5991 5991 5992 5992 /* Line 1806 of yacc.c */ 5993 #line 86 6"parser.yy"5993 #line 865 "parser.yy" 5994 5994 { (yyval.sn) = new StatementNode2( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5995 5995 break; … … 5998 5998 5999 5999 /* Line 1806 of yacc.c */ 6000 #line 86 8"parser.yy"6000 #line 867 "parser.yy" 6001 6001 { (yyval.sn) = new StatementNode2( build_throw( (yyvsp[(2) - (5)].en) ) ); } 6002 6002 break; … … 6005 6005 6006 6006 /* Line 1806 of yacc.c */ 6007 #line 87 3"parser.yy"6008 { (yyval.sn) = new StatementNode ( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }6007 #line 872 "parser.yy" 6008 { (yyval.sn) = new StatementNode2( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 6009 6009 break; 6010 6010 … … 6012 6012 6013 6013 /* Line 1806 of yacc.c */ 6014 #line 87 5"parser.yy"6015 { (yyval.sn) = new StatementNode ( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }6014 #line 874 "parser.yy" 6015 { (yyval.sn) = new StatementNode2( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6016 6016 break; 6017 6017 … … 6019 6019 6020 6020 /* Line 1806 of yacc.c */ 6021 #line 877 "parser.yy" 6021 #line 876 "parser.yy" 6022 { (yyval.sn) = new StatementNode2( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 6023 break; 6024 6025 case 198: 6026 6027 /* Line 1806 of yacc.c */ 6028 #line 883 "parser.yy" 6029 { (yyval.sn) = new StatementNode2( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6030 break; 6031 6032 case 199: 6033 6034 /* Line 1806 of yacc.c */ 6035 #line 885 "parser.yy" 6036 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode2( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6037 break; 6038 6039 case 200: 6040 6041 /* Line 1806 of yacc.c */ 6042 #line 887 "parser.yy" 6043 { (yyval.sn) = new StatementNode2( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6044 break; 6045 6046 case 201: 6047 6048 /* Line 1806 of yacc.c */ 6049 #line 889 "parser.yy" 6050 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode2( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6051 break; 6052 6053 case 202: 6054 6055 /* Line 1806 of yacc.c */ 6056 #line 894 "parser.yy" 6057 { (yyval.sn) = new StatementNode2( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6058 break; 6059 6060 case 203: 6061 6062 /* Line 1806 of yacc.c */ 6063 #line 896 "parser.yy" 6064 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode2( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6065 break; 6066 6067 case 204: 6068 6069 /* Line 1806 of yacc.c */ 6070 #line 898 "parser.yy" 6071 { (yyval.sn) = new StatementNode2( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6072 break; 6073 6074 case 205: 6075 6076 /* Line 1806 of yacc.c */ 6077 #line 900 "parser.yy" 6078 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode2( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6079 break; 6080 6081 case 206: 6082 6083 /* Line 1806 of yacc.c */ 6084 #line 905 "parser.yy" 6022 6085 { 6023 (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) ); 6024 (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (4)].sn),*(yyvsp[(3) - (4)].pn) )))); 6086 (yyval.sn) = new StatementNode2( build_finally( (yyvsp[(2) - (2)].sn) ) ); 6025 6087 } 6026 6088 break; 6027 6089 6028 case 198:6029 6030 /* Line 1806 of yacc.c */6031 #line 888 "parser.yy"6032 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }6033 break;6034 6035 case 199:6036 6037 /* Line 1806 of yacc.c */6038 #line 890 "parser.yy"6039 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }6040 break;6041 6042 case 200:6043 6044 /* Line 1806 of yacc.c */6045 #line 892 "parser.yy"6046 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }6047 break;6048 6049 case 201:6050 6051 /* Line 1806 of yacc.c */6052 #line 894 "parser.yy"6053 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }6054 break;6055 6056 case 202:6057 6058 /* Line 1806 of yacc.c */6059 #line 899 "parser.yy"6060 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }6061 break;6062 6063 case 203:6064 6065 /* Line 1806 of yacc.c */6066 #line 901 "parser.yy"6067 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }6068 break;6069 6070 case 204:6071 6072 /* Line 1806 of yacc.c */6073 #line 903 "parser.yy"6074 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }6075 break;6076 6077 case 205:6078 6079 /* Line 1806 of yacc.c */6080 #line 905 "parser.yy"6081 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }6082 break;6083 6084 case 206:6085 6086 /* Line 1806 of yacc.c */6087 #line 910 "parser.yy"6088 {6089 (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) );6090 std::cout << "Just created a finally node" << std::endl;6091 }6092 break;6093 6094 6090 case 208: 6095 6091 6096 6092 /* Line 1806 of yacc.c */ 6097 #line 9 24"parser.yy"6093 #line 918 "parser.yy" 6098 6094 { 6099 6095 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6105 6101 6106 6102 /* Line 1806 of yacc.c */ 6107 #line 92 9"parser.yy"6103 #line 923 "parser.yy" 6108 6104 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6109 6105 break; … … 6112 6108 6113 6109 /* Line 1806 of yacc.c */ 6114 #line 9 31"parser.yy"6110 #line 925 "parser.yy" 6115 6111 { 6116 6112 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6122 6118 6123 6119 /* Line 1806 of yacc.c */ 6120 #line 934 "parser.yy" 6121 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); } 6122 break; 6123 6124 case 213: 6125 6126 /* Line 1806 of yacc.c */ 6127 #line 936 "parser.yy" 6128 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); } 6129 break; 6130 6131 case 214: 6132 6133 /* Line 1806 of yacc.c */ 6134 #line 938 "parser.yy" 6135 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); } 6136 break; 6137 6138 case 215: 6139 6140 /* Line 1806 of yacc.c */ 6124 6141 #line 940 "parser.yy" 6125 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - ( 6)].flag), (yyvsp[(4) - (6)].constant), 0); }6126 break; 6127 6128 case 21 3:6142 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ); } 6143 break; 6144 6145 case 216: 6129 6146 6130 6147 /* Line 1806 of yacc.c */ 6131 6148 #line 942 "parser.yy" 6132 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }6133 break;6134 6135 case 214:6136 6137 /* Line 1806 of yacc.c */6138 #line 944 "parser.yy"6139 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }6140 break;6141 6142 case 215:6143 6144 /* Line 1806 of yacc.c */6145 #line 946 "parser.yy"6146 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ); }6147 break;6148 6149 case 216:6150 6151 /* Line 1806 of yacc.c */6152 #line 948 "parser.yy"6153 6149 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ); } 6154 6150 break; … … 6157 6153 6158 6154 /* Line 1806 of yacc.c */ 6159 #line 9 53"parser.yy"6155 #line 947 "parser.yy" 6160 6156 { (yyval.flag) = false; } 6161 6157 break; … … 6164 6160 6165 6161 /* Line 1806 of yacc.c */ 6166 #line 9 55"parser.yy"6162 #line 949 "parser.yy" 6167 6163 { (yyval.flag) = true; } 6168 6164 break; … … 6171 6167 6172 6168 /* Line 1806 of yacc.c */ 6173 #line 9 60"parser.yy"6169 #line 954 "parser.yy" 6174 6170 { (yyval.en) = 0; } 6175 6171 break; … … 6178 6174 6179 6175 /* Line 1806 of yacc.c */ 6180 #line 96 7"parser.yy"6181 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ink( (yyvsp[(3) - (3)].en) ); }6176 #line 961 "parser.yy" 6177 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6182 6178 break; 6183 6179 … … 6185 6181 6186 6182 /* Line 1806 of yacc.c */ 6187 #line 9 72"parser.yy"6183 #line 966 "parser.yy" 6188 6184 { (yyval.en) = new ExpressionNode( build_asm( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6189 6185 break; … … 6192 6188 6193 6189 /* Line 1806 of yacc.c */ 6194 #line 9 74"parser.yy"6190 #line 968 "parser.yy" 6195 6191 { (yyval.en) = new ExpressionNode( build_asm( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6196 6192 break; … … 6199 6195 6200 6196 /* Line 1806 of yacc.c */ 6201 #line 97 9"parser.yy"6197 #line 973 "parser.yy" 6202 6198 { (yyval.en) = 0; } 6203 6199 break; … … 6206 6202 6207 6203 /* Line 1806 of yacc.c */ 6208 #line 9 81"parser.yy"6204 #line 975 "parser.yy" 6209 6205 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6210 6206 break; … … 6213 6209 6214 6210 /* Line 1806 of yacc.c */ 6215 #line 9 83"parser.yy"6216 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ink( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }6211 #line 977 "parser.yy" 6212 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6217 6213 break; 6218 6214 … … 6220 6216 6221 6217 /* Line 1806 of yacc.c */ 6222 #line 98 8"parser.yy"6218 #line 982 "parser.yy" 6223 6219 { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); } 6224 6220 break; … … 6227 6223 6228 6224 /* Line 1806 of yacc.c */ 6229 #line 9 90"parser.yy"6225 #line 984 "parser.yy" 6230 6226 { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); } 6231 6227 break; … … 6234 6230 6235 6231 /* Line 1806 of yacc.c */ 6236 #line 99 7"parser.yy"6232 #line 991 "parser.yy" 6237 6233 { (yyval.decl) = 0; } 6238 6234 break; … … 6241 6237 6242 6238 /* Line 1806 of yacc.c */ 6243 #line 1004"parser.yy"6239 #line 998 "parser.yy" 6244 6240 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6245 6241 break; … … 6248 6244 6249 6245 /* Line 1806 of yacc.c */ 6250 #line 100 9"parser.yy"6246 #line 1003 "parser.yy" 6251 6247 { (yyval.decl) = 0; } 6252 6248 break; … … 6255 6251 6256 6252 /* Line 1806 of yacc.c */ 6257 #line 101 6"parser.yy"6253 #line 1010 "parser.yy" 6258 6254 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6259 6255 break; … … 6262 6258 6263 6259 /* Line 1806 of yacc.c */ 6264 #line 10 30"parser.yy"6260 #line 1024 "parser.yy" 6265 6261 {} 6266 6262 break; … … 6269 6265 6270 6266 /* Line 1806 of yacc.c */ 6271 #line 10 31"parser.yy"6267 #line 1025 "parser.yy" 6272 6268 {} 6273 6269 break; … … 6276 6272 6277 6273 /* Line 1806 of yacc.c */ 6278 #line 10 60"parser.yy"6274 #line 1054 "parser.yy" 6279 6275 { 6280 6276 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6286 6282 6287 6283 /* Line 1806 of yacc.c */ 6288 #line 106 7"parser.yy"6284 #line 1061 "parser.yy" 6289 6285 { 6290 6286 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6296 6292 6297 6293 /* Line 1806 of yacc.c */ 6298 #line 10 72"parser.yy"6294 #line 1066 "parser.yy" 6299 6295 { 6300 6296 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6306 6302 6307 6303 /* Line 1806 of yacc.c */ 6308 #line 10 82"parser.yy"6304 #line 1076 "parser.yy" 6309 6305 { 6310 6306 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6316 6312 6317 6313 /* Line 1806 of yacc.c */ 6318 #line 108 7"parser.yy"6314 #line 1081 "parser.yy" 6319 6315 { 6320 6316 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6326 6322 6327 6323 /* Line 1806 of yacc.c */ 6328 #line 10 92"parser.yy"6324 #line 1086 "parser.yy" 6329 6325 { 6330 6326 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6336 6332 6337 6333 /* Line 1806 of yacc.c */ 6338 #line 1 100"parser.yy"6334 #line 1094 "parser.yy" 6339 6335 { 6340 6336 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6346 6342 6347 6343 /* Line 1806 of yacc.c */ 6348 #line 1 105"parser.yy"6344 #line 1099 "parser.yy" 6349 6345 { 6350 6346 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6356 6352 6357 6353 /* Line 1806 of yacc.c */ 6358 #line 11 10"parser.yy"6354 #line 1104 "parser.yy" 6359 6355 { 6360 6356 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6366 6362 6367 6363 /* Line 1806 of yacc.c */ 6368 #line 11 15"parser.yy"6364 #line 1109 "parser.yy" 6369 6365 { 6370 6366 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6376 6372 6377 6373 /* Line 1806 of yacc.c */ 6378 #line 11 20"parser.yy"6374 #line 1114 "parser.yy" 6379 6375 { 6380 6376 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6386 6382 6387 6383 /* Line 1806 of yacc.c */ 6388 #line 112 8"parser.yy"6384 #line 1122 "parser.yy" 6389 6385 { 6390 6386 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6395 6391 6396 6392 /* Line 1806 of yacc.c */ 6397 #line 11 51"parser.yy"6393 #line 1145 "parser.yy" 6398 6394 { 6399 6395 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6404 6400 6405 6401 /* Line 1806 of yacc.c */ 6406 #line 11 55"parser.yy"6402 #line 1149 "parser.yy" 6407 6403 { 6408 6404 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6413 6409 6414 6410 /* Line 1806 of yacc.c */ 6415 #line 11 62"parser.yy"6411 #line 1156 "parser.yy" 6416 6412 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6417 6413 break; … … 6420 6416 6421 6417 /* Line 1806 of yacc.c */ 6422 #line 116 6"parser.yy"6418 #line 1160 "parser.yy" 6423 6419 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6424 6420 break; … … 6427 6423 6428 6424 /* Line 1806 of yacc.c */ 6429 #line 11 71"parser.yy"6425 #line 1165 "parser.yy" 6430 6426 { 6431 6427 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6437 6433 6438 6434 /* Line 1806 of yacc.c */ 6439 #line 117 6"parser.yy"6435 #line 1170 "parser.yy" 6440 6436 { 6441 6437 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6447 6443 6448 6444 /* Line 1806 of yacc.c */ 6449 #line 11 81"parser.yy"6445 #line 1175 "parser.yy" 6450 6446 { 6451 6447 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6457 6453 6458 6454 /* Line 1806 of yacc.c */ 6459 #line 11 92"parser.yy"6455 #line 1186 "parser.yy" 6460 6456 { 6461 6457 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6467 6463 6468 6464 /* Line 1806 of yacc.c */ 6469 #line 119 7"parser.yy"6465 #line 1191 "parser.yy" 6470 6466 { 6471 6467 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6477 6473 6478 6474 /* Line 1806 of yacc.c */ 6479 #line 1 202"parser.yy"6475 #line 1196 "parser.yy" 6480 6476 { 6481 6477 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6487 6483 6488 6484 /* Line 1806 of yacc.c */ 6489 #line 120 7"parser.yy"6485 #line 1201 "parser.yy" 6490 6486 { 6491 6487 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6497 6493 6498 6494 /* Line 1806 of yacc.c */ 6499 #line 12 12"parser.yy"6495 #line 1206 "parser.yy" 6500 6496 { 6501 6497 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6507 6503 6508 6504 /* Line 1806 of yacc.c */ 6509 #line 12 21"parser.yy"6505 #line 1215 "parser.yy" 6510 6506 { 6511 6507 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6517 6513 6518 6514 /* Line 1806 of yacc.c */ 6519 #line 122 6"parser.yy"6515 #line 1220 "parser.yy" 6520 6516 { 6521 6517 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6527 6523 6528 6524 /* Line 1806 of yacc.c */ 6529 #line 12 43"parser.yy"6525 #line 1237 "parser.yy" 6530 6526 { 6531 6527 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6537 6533 6538 6534 /* Line 1806 of yacc.c */ 6539 #line 124 8"parser.yy"6535 #line 1242 "parser.yy" 6540 6536 { 6541 6537 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6547 6543 6548 6544 /* Line 1806 of yacc.c */ 6549 #line 12 70"parser.yy"6545 #line 1264 "parser.yy" 6550 6546 { (yyval.decl) = 0; } 6551 6547 break; … … 6554 6550 6555 6551 /* Line 1806 of yacc.c */ 6556 #line 12 82"parser.yy"6552 #line 1276 "parser.yy" 6557 6553 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6558 6554 break; … … 6561 6557 6562 6558 /* Line 1806 of yacc.c */ 6559 #line 1287 "parser.yy" 6560 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6561 break; 6562 6563 case 298: 6564 6565 /* Line 1806 of yacc.c */ 6566 #line 1289 "parser.yy" 6567 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6568 break; 6569 6570 case 299: 6571 6572 /* Line 1806 of yacc.c */ 6573 #line 1291 "parser.yy" 6574 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6575 break; 6576 6577 case 300: 6578 6579 /* Line 1806 of yacc.c */ 6563 6580 #line 1293 "parser.yy" 6564 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Const); }6565 break; 6566 6567 case 298:6581 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6582 break; 6583 6584 case 301: 6568 6585 6569 6586 /* Line 1806 of yacc.c */ 6570 6587 #line 1295 "parser.yy" 6571 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Restrict); }6572 break; 6573 6574 case 299:6588 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6589 break; 6590 6591 case 302: 6575 6592 6576 6593 /* Line 1806 of yacc.c */ 6577 6594 #line 1297 "parser.yy" 6578 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); }6579 break;6580 6581 case 300:6582 6583 /* Line 1806 of yacc.c */6584 #line 1299 "parser.yy"6585 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }6586 break;6587 6588 case 301:6589 6590 /* Line 1806 of yacc.c */6591 #line 1301 "parser.yy"6592 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }6593 break;6594 6595 case 302:6596 6597 /* Line 1806 of yacc.c */6598 #line 1303 "parser.yy"6599 6595 { 6600 6596 typedefTable.enterScope(); … … 6605 6601 6606 6602 /* Line 1806 of yacc.c */ 6607 #line 130 7"parser.yy"6603 #line 1301 "parser.yy" 6608 6604 { 6609 6605 typedefTable.leaveScope(); … … 6615 6611 6616 6612 /* Line 1806 of yacc.c */ 6617 #line 131 6"parser.yy"6613 #line 1310 "parser.yy" 6618 6614 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6619 6615 break; … … 6622 6618 6623 6619 /* Line 1806 of yacc.c */ 6624 #line 131 8"parser.yy"6620 #line 1312 "parser.yy" 6625 6621 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6626 6622 break; … … 6629 6625 6630 6626 /* Line 1806 of yacc.c */ 6631 #line 132 9"parser.yy"6627 #line 1323 "parser.yy" 6632 6628 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6633 6629 break; … … 6636 6632 6637 6633 /* Line 1806 of yacc.c */ 6634 #line 1332 "parser.yy" 6635 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6636 break; 6637 6638 case 311: 6639 6640 /* Line 1806 of yacc.c */ 6641 #line 1334 "parser.yy" 6642 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6643 break; 6644 6645 case 312: 6646 6647 /* Line 1806 of yacc.c */ 6648 #line 1336 "parser.yy" 6649 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6650 break; 6651 6652 case 313: 6653 6654 /* Line 1806 of yacc.c */ 6638 6655 #line 1338 "parser.yy" 6639 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Extern); }6640 break; 6641 6642 case 31 1:6656 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6657 break; 6658 6659 case 314: 6643 6660 6644 6661 /* Line 1806 of yacc.c */ 6645 6662 #line 1340 "parser.yy" 6646 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Static); }6647 break; 6648 6649 case 31 2:6663 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6664 break; 6665 6666 case 315: 6650 6667 6651 6668 /* Line 1806 of yacc.c */ 6652 6669 #line 1342 "parser.yy" 6653 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Auto); }6654 break; 6655 6656 case 31 3:6670 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6671 break; 6672 6673 case 316: 6657 6674 6658 6675 /* Line 1806 of yacc.c */ 6659 6676 #line 1344 "parser.yy" 6660 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Register); }6661 break; 6662 6663 case 31 4:6677 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6678 break; 6679 6680 case 317: 6664 6681 6665 6682 /* Line 1806 of yacc.c */ 6666 6683 #line 1346 "parser.yy" 6667 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); }6668 break;6669 6670 case 315:6671 6672 /* Line 1806 of yacc.c */6673 #line 1348 "parser.yy"6674 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }6675 break;6676 6677 case 316:6678 6679 /* Line 1806 of yacc.c */6680 #line 1350 "parser.yy"6681 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }6682 break;6683 6684 case 317:6685 6686 /* Line 1806 of yacc.c */6687 #line 1352 "parser.yy"6688 6684 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6689 6685 break; … … 6692 6688 6693 6689 /* Line 1806 of yacc.c */ 6690 #line 1351 "parser.yy" 6691 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6692 break; 6693 6694 case 319: 6695 6696 /* Line 1806 of yacc.c */ 6697 #line 1353 "parser.yy" 6698 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6699 break; 6700 6701 case 320: 6702 6703 /* Line 1806 of yacc.c */ 6704 #line 1355 "parser.yy" 6705 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6706 break; 6707 6708 case 321: 6709 6710 /* Line 1806 of yacc.c */ 6694 6711 #line 1357 "parser.yy" 6695 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Char); }6696 break; 6697 6698 case 3 19:6712 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6713 break; 6714 6715 case 322: 6699 6716 6700 6717 /* Line 1806 of yacc.c */ 6701 6718 #line 1359 "parser.yy" 6702 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Double); }6703 break; 6704 6705 case 32 0:6719 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6720 break; 6721 6722 case 323: 6706 6723 6707 6724 /* Line 1806 of yacc.c */ 6708 6725 #line 1361 "parser.yy" 6709 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Float ); }6710 break; 6711 6712 case 32 1:6726 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6727 break; 6728 6729 case 324: 6713 6730 6714 6731 /* Line 1806 of yacc.c */ 6715 6732 #line 1363 "parser.yy" 6716 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Int); }6717 break; 6718 6719 case 32 2:6733 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6734 break; 6735 6736 case 325: 6720 6737 6721 6738 /* Line 1806 of yacc.c */ 6722 6739 #line 1365 "parser.yy" 6723 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode:: Long); }6724 break; 6725 6726 case 32 3:6740 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6741 break; 6742 6743 case 326: 6727 6744 6728 6745 /* Line 1806 of yacc.c */ 6729 6746 #line 1367 "parser.yy" 6730 { (yyval.decl) = DeclarationNode::new Modifier( DeclarationNode::Short); }6731 break; 6732 6733 case 32 4:6747 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6748 break; 6749 6750 case 327: 6734 6751 6735 6752 /* Line 1806 of yacc.c */ 6736 6753 #line 1369 "parser.yy" 6737 { (yyval.decl) = DeclarationNode::new Modifier( DeclarationNode::Signed); }6738 break; 6739 6740 case 32 5:6754 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6755 break; 6756 6757 case 328: 6741 6758 6742 6759 /* Line 1806 of yacc.c */ 6743 6760 #line 1371 "parser.yy" 6744 { (yyval.decl) = DeclarationNode::new Modifier( DeclarationNode::Unsigned); }6745 break; 6746 6747 case 32 6:6761 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6762 break; 6763 6764 case 329: 6748 6765 6749 6766 /* Line 1806 of yacc.c */ 6750 6767 #line 1373 "parser.yy" 6751 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Void); }6752 break; 6753 6754 case 3 27:6768 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6769 break; 6770 6771 case 330: 6755 6772 6756 6773 /* Line 1806 of yacc.c */ 6757 6774 #line 1375 "parser.yy" 6758 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); }6759 break;6760 6761 case 328:6762 6763 /* Line 1806 of yacc.c */6764 #line 1377 "parser.yy"6765 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }6766 break;6767 6768 case 329:6769 6770 /* Line 1806 of yacc.c */6771 #line 1379 "parser.yy"6772 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }6773 break;6774 6775 case 330:6776 6777 /* Line 1806 of yacc.c */6778 #line 1381 "parser.yy"6779 6775 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6780 6776 break; … … 6783 6779 6784 6780 /* Line 1806 of yacc.c */ 6781 #line 1382 "parser.yy" 6782 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6783 break; 6784 6785 case 333: 6786 6787 /* Line 1806 of yacc.c */ 6788 #line 1384 "parser.yy" 6789 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6790 break; 6791 6792 case 334: 6793 6794 /* Line 1806 of yacc.c */ 6795 #line 1386 "parser.yy" 6796 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6797 break; 6798 6799 case 335: 6800 6801 /* Line 1806 of yacc.c */ 6785 6802 #line 1388 "parser.yy" 6803 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6804 break; 6805 6806 case 337: 6807 6808 /* Line 1806 of yacc.c */ 6809 #line 1394 "parser.yy" 6810 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6811 break; 6812 6813 case 339: 6814 6815 /* Line 1806 of yacc.c */ 6816 #line 1401 "parser.yy" 6786 6817 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6787 6818 break; 6788 6819 6789 case 3 33:6790 6791 /* Line 1806 of yacc.c */ 6792 #line 1 390"parser.yy"6820 case 340: 6821 6822 /* Line 1806 of yacc.c */ 6823 #line 1403 "parser.yy" 6793 6824 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6794 6825 break; 6795 6826 6796 case 334: 6797 6798 /* Line 1806 of yacc.c */ 6799 #line 1392 "parser.yy" 6827 case 341: 6828 6829 /* Line 1806 of yacc.c */ 6830 #line 1405 "parser.yy" 6831 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6832 break; 6833 6834 case 342: 6835 6836 /* Line 1806 of yacc.c */ 6837 #line 1410 "parser.yy" 6838 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6839 break; 6840 6841 case 343: 6842 6843 /* Line 1806 of yacc.c */ 6844 #line 1412 "parser.yy" 6845 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6846 break; 6847 6848 case 344: 6849 6850 /* Line 1806 of yacc.c */ 6851 #line 1414 "parser.yy" 6852 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6853 break; 6854 6855 case 345: 6856 6857 /* Line 1806 of yacc.c */ 6858 #line 1416 "parser.yy" 6859 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6860 break; 6861 6862 case 347: 6863 6864 /* Line 1806 of yacc.c */ 6865 #line 1422 "parser.yy" 6866 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6867 break; 6868 6869 case 348: 6870 6871 /* Line 1806 of yacc.c */ 6872 #line 1424 "parser.yy" 6873 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6874 break; 6875 6876 case 349: 6877 6878 /* Line 1806 of yacc.c */ 6879 #line 1426 "parser.yy" 6800 6880 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6801 6881 break; 6802 6882 6803 case 335: 6804 6805 /* Line 1806 of yacc.c */ 6806 #line 1394 "parser.yy" 6807 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6808 break; 6809 6810 case 337: 6811 6812 /* Line 1806 of yacc.c */ 6813 #line 1400 "parser.yy" 6814 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6815 break; 6816 6817 case 339: 6818 6819 /* Line 1806 of yacc.c */ 6820 #line 1407 "parser.yy" 6883 case 351: 6884 6885 /* Line 1806 of yacc.c */ 6886 #line 1432 "parser.yy" 6821 6887 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6822 6888 break; 6823 6889 6824 case 3 40:6825 6826 /* Line 1806 of yacc.c */ 6827 #line 14 09"parser.yy"6890 case 352: 6891 6892 /* Line 1806 of yacc.c */ 6893 #line 1434 "parser.yy" 6828 6894 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6829 6895 break; 6830 6896 6831 case 341: 6832 6833 /* Line 1806 of yacc.c */ 6834 #line 1411 "parser.yy" 6835 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6836 break; 6837 6838 case 342: 6839 6840 /* Line 1806 of yacc.c */ 6841 #line 1416 "parser.yy" 6842 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6843 break; 6844 6845 case 343: 6846 6847 /* Line 1806 of yacc.c */ 6848 #line 1418 "parser.yy" 6849 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6850 break; 6851 6852 case 344: 6853 6854 /* Line 1806 of yacc.c */ 6855 #line 1420 "parser.yy" 6856 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6857 break; 6858 6859 case 345: 6860 6861 /* Line 1806 of yacc.c */ 6862 #line 1422 "parser.yy" 6863 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6864 break; 6865 6866 case 347: 6867 6868 /* Line 1806 of yacc.c */ 6869 #line 1428 "parser.yy" 6897 case 354: 6898 6899 /* Line 1806 of yacc.c */ 6900 #line 1440 "parser.yy" 6870 6901 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6871 6902 break; 6872 6903 6873 case 3 48:6874 6875 /* Line 1806 of yacc.c */ 6876 #line 14 30"parser.yy"6904 case 355: 6905 6906 /* Line 1806 of yacc.c */ 6907 #line 1442 "parser.yy" 6877 6908 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6878 6909 break; 6879 6910 6880 case 3 49:6881 6882 /* Line 1806 of yacc.c */ 6883 #line 14 32"parser.yy"6911 case 356: 6912 6913 /* Line 1806 of yacc.c */ 6914 #line 1444 "parser.yy" 6884 6915 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6885 6916 break; 6886 6917 6887 case 351: 6888 6889 /* Line 1806 of yacc.c */ 6890 #line 1438 "parser.yy" 6891 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6892 break; 6893 6894 case 352: 6895 6896 /* Line 1806 of yacc.c */ 6897 #line 1440 "parser.yy" 6918 case 357: 6919 6920 /* Line 1806 of yacc.c */ 6921 #line 1449 "parser.yy" 6922 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6923 break; 6924 6925 case 358: 6926 6927 /* Line 1806 of yacc.c */ 6928 #line 1451 "parser.yy" 6929 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6930 break; 6931 6932 case 359: 6933 6934 /* Line 1806 of yacc.c */ 6935 #line 1453 "parser.yy" 6898 6936 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6899 6937 break; 6900 6938 6901 case 354:6902 6903 /* Line 1806 of yacc.c */6904 #line 1446 "parser.yy"6905 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }6906 break;6907 6908 case 355:6909 6910 /* Line 1806 of yacc.c */6911 #line 1448 "parser.yy"6912 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }6913 break;6914 6915 case 356:6916 6917 /* Line 1806 of yacc.c */6918 #line 1450 "parser.yy"6919 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }6920 break;6921 6922 case 357:6923 6924 /* Line 1806 of yacc.c */6925 #line 1455 "parser.yy"6926 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }6927 break;6928 6929 case 358:6930 6931 /* Line 1806 of yacc.c */6932 #line 1457 "parser.yy"6933 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }6934 break;6935 6936 case 359:6937 6938 /* Line 1806 of yacc.c */6939 #line 1459 "parser.yy"6940 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }6941 break;6942 6943 6939 case 362: 6944 6940 6945 6941 /* Line 1806 of yacc.c */ 6946 #line 146 9"parser.yy"6942 #line 1463 "parser.yy" 6947 6943 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); } 6948 6944 break; … … 6951 6947 6952 6948 /* Line 1806 of yacc.c */ 6953 #line 14 71"parser.yy"6949 #line 1465 "parser.yy" 6954 6950 { 6955 6951 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6961 6957 6962 6958 /* Line 1806 of yacc.c */ 6959 #line 1470 "parser.yy" 6960 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6961 break; 6962 6963 case 365: 6964 6965 /* Line 1806 of yacc.c */ 6966 #line 1472 "parser.yy" 6967 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); } 6968 break; 6969 6970 case 366: 6971 6972 /* Line 1806 of yacc.c */ 6973 #line 1474 "parser.yy" 6974 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 6975 break; 6976 6977 case 367: 6978 6979 /* Line 1806 of yacc.c */ 6963 6980 #line 1476 "parser.yy" 6964 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }6965 break;6966 6967 case 365:6968 6969 /* Line 1806 of yacc.c */6970 #line 1478 "parser.yy"6971 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); }6972 break;6973 6974 case 366:6975 6976 /* Line 1806 of yacc.c */6977 #line 1480 "parser.yy"6978 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); }6979 break;6980 6981 case 367:6982 6983 /* Line 1806 of yacc.c */6984 #line 1482 "parser.yy"6985 6981 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6986 6982 break; … … 6989 6985 6990 6986 /* Line 1806 of yacc.c */ 6991 #line 148 7"parser.yy"6987 #line 1481 "parser.yy" 6992 6988 { (yyval.aggKey) = DeclarationNode::Struct; } 6993 6989 break; … … 6996 6992 6997 6993 /* Line 1806 of yacc.c */ 6998 #line 148 9"parser.yy"6994 #line 1483 "parser.yy" 6999 6995 { (yyval.aggKey) = DeclarationNode::Union; } 7000 6996 break; … … 7003 6999 7004 7000 /* Line 1806 of yacc.c */ 7005 #line 14 94"parser.yy"7001 #line 1488 "parser.yy" 7006 7002 { (yyval.decl) = 0; } 7007 7003 break; … … 7010 7006 7011 7007 /* Line 1806 of yacc.c */ 7008 #line 1490 "parser.yy" 7009 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7010 break; 7011 7012 case 373: 7013 7014 /* Line 1806 of yacc.c */ 7012 7015 #line 1496 "parser.yy" 7013 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); }7014 break;7015 7016 case 373:7017 7018 /* Line 1806 of yacc.c */7019 #line 1502 "parser.yy"7020 7016 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7021 7017 break; … … 7024 7020 7025 7021 /* Line 1806 of yacc.c */ 7026 #line 1 505"parser.yy"7022 #line 1499 "parser.yy" 7027 7023 { // mark all fields in list 7028 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_ link() )7024 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_next() ) 7029 7025 iter->set_extension( true ); 7030 7026 (yyval.decl) = (yyvsp[(2) - (3)].decl); … … 7035 7031 7036 7032 /* Line 1806 of yacc.c */ 7037 #line 15 15"parser.yy"7033 #line 1509 "parser.yy" 7038 7034 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7039 7035 break; … … 7042 7038 7043 7039 /* Line 1806 of yacc.c */ 7044 #line 151 7"parser.yy"7040 #line 1511 "parser.yy" 7045 7041 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7046 7042 break; … … 7049 7045 7050 7046 /* Line 1806 of yacc.c */ 7051 #line 151 9"parser.yy"7047 #line 1513 "parser.yy" 7052 7048 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7053 7049 break; … … 7056 7052 7057 7053 /* Line 1806 of yacc.c */ 7058 #line 15 24"parser.yy"7054 #line 1518 "parser.yy" 7059 7055 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7060 7056 break; … … 7063 7059 7064 7060 /* Line 1806 of yacc.c */ 7065 #line 152 6"parser.yy"7061 #line 1520 "parser.yy" 7066 7062 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7067 7063 break; … … 7070 7066 7071 7067 /* Line 1806 of yacc.c */ 7072 #line 15 31"parser.yy"7068 #line 1525 "parser.yy" 7073 7069 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7074 7070 break; … … 7077 7073 7078 7074 /* Line 1806 of yacc.c */ 7075 #line 1527 "parser.yy" 7076 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7077 break; 7078 7079 case 384: 7080 7081 /* Line 1806 of yacc.c */ 7082 #line 1530 "parser.yy" 7083 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7084 break; 7085 7086 case 385: 7087 7088 /* Line 1806 of yacc.c */ 7079 7089 #line 1533 "parser.yy" 7080 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }7081 break;7082 7083 case 384:7084 7085 /* Line 1806 of yacc.c */7086 #line 1536 "parser.yy"7087 7090 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7088 7091 break; 7089 7092 7090 case 38 5:7093 case 387: 7091 7094 7092 7095 /* Line 1806 of yacc.c */ 7093 7096 #line 1539 "parser.yy" 7094 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }7095 break;7096 7097 case 387:7098 7099 /* Line 1806 of yacc.c */7100 #line 1545 "parser.yy"7101 7097 { (yyval.en) = 0; } 7102 7098 break; … … 7105 7101 7106 7102 /* Line 1806 of yacc.c */ 7107 #line 154 7"parser.yy"7103 #line 1541 "parser.yy" 7108 7104 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7109 7105 break; … … 7112 7108 7113 7109 /* Line 1806 of yacc.c */ 7114 #line 15 52"parser.yy"7110 #line 1546 "parser.yy" 7115 7111 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7116 7112 break; … … 7119 7115 7120 7116 /* Line 1806 of yacc.c */ 7121 #line 15 61"parser.yy"7117 #line 1555 "parser.yy" 7122 7118 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7123 7119 break; … … 7126 7122 7127 7123 /* Line 1806 of yacc.c */ 7128 #line 15 63"parser.yy"7124 #line 1557 "parser.yy" 7129 7125 { 7130 7126 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7136 7132 7137 7133 /* Line 1806 of yacc.c */ 7138 #line 156 8"parser.yy"7134 #line 1562 "parser.yy" 7139 7135 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7140 7136 break; … … 7143 7139 7144 7140 /* Line 1806 of yacc.c */ 7145 #line 15 70"parser.yy"7141 #line 1564 "parser.yy" 7146 7142 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7147 7143 break; … … 7150 7146 7151 7147 /* Line 1806 of yacc.c */ 7152 #line 15 75"parser.yy"7148 #line 1569 "parser.yy" 7153 7149 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7154 7150 break; … … 7157 7153 7158 7154 /* Line 1806 of yacc.c */ 7159 #line 157 7"parser.yy"7155 #line 1571 "parser.yy" 7160 7156 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7161 7157 break; … … 7164 7160 7165 7161 /* Line 1806 of yacc.c */ 7166 #line 15 82"parser.yy"7162 #line 1576 "parser.yy" 7167 7163 { (yyval.en) = 0; } 7168 7164 break; … … 7171 7167 7172 7168 /* Line 1806 of yacc.c */ 7173 #line 15 84"parser.yy"7169 #line 1578 "parser.yy" 7174 7170 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7175 7171 break; … … 7178 7174 7179 7175 /* Line 1806 of yacc.c */ 7180 #line 15 91"parser.yy"7176 #line 1585 "parser.yy" 7181 7177 { (yyval.decl) = 0; } 7182 7178 break; … … 7185 7181 7186 7182 /* Line 1806 of yacc.c */ 7187 #line 159 9"parser.yy"7183 #line 1593 "parser.yy" 7188 7184 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7189 7185 break; … … 7192 7188 7193 7189 /* Line 1806 of yacc.c */ 7194 #line 1 601"parser.yy"7190 #line 1595 "parser.yy" 7195 7191 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7196 7192 break; … … 7199 7195 7200 7196 /* Line 1806 of yacc.c */ 7201 #line 1 603"parser.yy"7197 #line 1597 "parser.yy" 7202 7198 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7203 7199 break; … … 7206 7202 7207 7203 /* Line 1806 of yacc.c */ 7208 #line 16 11"parser.yy"7204 #line 1605 "parser.yy" 7209 7205 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7210 7206 break; … … 7213 7209 7214 7210 /* Line 1806 of yacc.c */ 7215 #line 16 13"parser.yy"7211 #line 1607 "parser.yy" 7216 7212 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7217 7213 break; … … 7220 7216 7221 7217 /* Line 1806 of yacc.c */ 7218 #line 1609 "parser.yy" 7219 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7220 break; 7221 7222 case 411: 7223 7224 /* Line 1806 of yacc.c */ 7222 7225 #line 1615 "parser.yy" 7223 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); }7224 break;7225 7226 case 411:7227 7228 /* Line 1806 of yacc.c */7229 #line 1621 "parser.yy"7230 7226 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7231 7227 break; … … 7234 7230 7235 7231 /* Line 1806 of yacc.c */ 7236 #line 162 6"parser.yy"7232 #line 1620 "parser.yy" 7237 7233 { (yyval.decl) = 0; } 7238 7234 break; … … 7241 7237 7242 7238 /* Line 1806 of yacc.c */ 7243 #line 16 33"parser.yy"7239 #line 1627 "parser.yy" 7244 7240 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7245 7241 break; … … 7248 7244 7249 7245 /* Line 1806 of yacc.c */ 7250 #line 16 40"parser.yy"7246 #line 1634 "parser.yy" 7251 7247 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7252 7248 break; … … 7255 7251 7256 7252 /* Line 1806 of yacc.c */ 7257 #line 16 42"parser.yy"7253 #line 1636 "parser.yy" 7258 7254 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7259 7255 break; … … 7262 7258 7263 7259 /* Line 1806 of yacc.c */ 7264 #line 16 51"parser.yy"7260 #line 1645 "parser.yy" 7265 7261 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7266 7262 break; … … 7269 7265 7270 7266 /* Line 1806 of yacc.c */ 7271 #line 16 54"parser.yy"7267 #line 1648 "parser.yy" 7272 7268 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7273 7269 break; … … 7276 7272 7277 7273 /* Line 1806 of yacc.c */ 7278 #line 165 6"parser.yy"7274 #line 1650 "parser.yy" 7279 7275 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7280 7276 break; … … 7283 7279 7284 7280 /* Line 1806 of yacc.c */ 7281 #line 1660 "parser.yy" 7282 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7283 break; 7284 7285 case 430: 7286 7287 /* Line 1806 of yacc.c */ 7285 7288 #line 1666 "parser.yy" 7286 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }7287 break;7288 7289 case 430:7290 7291 /* Line 1806 of yacc.c */7292 #line 1672 "parser.yy"7293 7289 { 7294 7290 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7300 7296 7301 7297 /* Line 1806 of yacc.c */ 7302 #line 167 7"parser.yy"7298 #line 1671 "parser.yy" 7303 7299 { 7304 7300 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7310 7306 7311 7307 /* Line 1806 of yacc.c */ 7312 #line 168 6"parser.yy"7308 #line 1680 "parser.yy" 7313 7309 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7314 7310 break; … … 7317 7313 7318 7314 /* Line 1806 of yacc.c */ 7319 #line 16 95"parser.yy"7315 #line 1689 "parser.yy" 7320 7316 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7321 7317 break; … … 7324 7320 7325 7321 /* Line 1806 of yacc.c */ 7326 #line 169 7"parser.yy"7322 #line 1691 "parser.yy" 7327 7323 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7328 7324 break; … … 7331 7327 7332 7328 /* Line 1806 of yacc.c */ 7333 #line 17 22"parser.yy"7329 #line 1716 "parser.yy" 7334 7330 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7335 7331 break; … … 7338 7334 7339 7335 /* Line 1806 of yacc.c */ 7340 #line 17 30"parser.yy"7336 #line 1724 "parser.yy" 7341 7337 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7342 7338 break; … … 7345 7341 7346 7342 /* Line 1806 of yacc.c */ 7347 #line 17 35"parser.yy"7343 #line 1729 "parser.yy" 7348 7344 { (yyval.in) = 0; } 7349 7345 break; … … 7352 7348 7353 7349 /* Line 1806 of yacc.c */ 7350 #line 1731 "parser.yy" 7351 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7352 break; 7353 7354 case 454: 7355 7356 /* Line 1806 of yacc.c */ 7357 #line 1733 "parser.yy" 7358 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7359 break; 7360 7361 case 455: 7362 7363 /* Line 1806 of yacc.c */ 7354 7364 #line 1737 "parser.yy" 7355 { (yyval.in) = (yyvsp[(2) - (2)].in); }7356 break; 7357 7358 case 45 4:7359 7360 /* Line 1806 of yacc.c */ 7361 #line 173 9"parser.yy"7362 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); }7363 break; 7364 7365 case 45 5:7365 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7366 break; 7367 7368 case 456: 7369 7370 /* Line 1806 of yacc.c */ 7371 #line 1738 "parser.yy" 7372 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7373 break; 7374 7375 case 457: 7366 7376 7367 7377 /* Line 1806 of yacc.c */ 7368 7378 #line 1743 "parser.yy" 7369 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }7370 break;7371 7372 case 456:7373 7374 /* Line 1806 of yacc.c */7375 #line 1744 "parser.yy"7376 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }7377 break;7378 7379 case 457:7380 7381 /* Line 1806 of yacc.c */7382 #line 1749 "parser.yy"7383 7379 { (yyval.in) = 0; } 7384 7380 break; … … 7387 7383 7388 7384 /* Line 1806 of yacc.c */ 7389 #line 17 51"parser.yy"7385 #line 1745 "parser.yy" 7390 7386 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7391 7387 break; … … 7394 7390 7395 7391 /* Line 1806 of yacc.c */ 7396 #line 17 52"parser.yy"7397 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_l ink( (yyvsp[(3) - (3)].in) ) ); }7392 #line 1746 "parser.yy" 7393 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7398 7394 break; 7399 7395 … … 7401 7397 7402 7398 /* Line 1806 of yacc.c */ 7403 #line 17 54"parser.yy"7404 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_l ink( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }7399 #line 1748 "parser.yy" 7400 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7405 7401 break; 7406 7402 … … 7408 7404 7409 7405 /* Line 1806 of yacc.c */ 7406 #line 1764 "parser.yy" 7407 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7408 break; 7409 7410 case 465: 7411 7412 /* Line 1806 of yacc.c */ 7410 7413 #line 1770 "parser.yy" 7411 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); }7412 break; 7413 7414 case 46 5:7414 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7415 break; 7416 7417 case 466: 7415 7418 7416 7419 /* Line 1806 of yacc.c */ 7417 7420 #line 1776 "parser.yy" 7418 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) ) ); }7419 break;7420 7421 case 466:7422 7423 /* Line 1806 of yacc.c */7424 #line 1782 "parser.yy"7425 7421 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7426 7422 break; … … 7429 7425 7430 7426 /* Line 1806 of yacc.c */ 7427 #line 1779 "parser.yy" 7428 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7429 break; 7430 7431 case 468: 7432 7433 /* Line 1806 of yacc.c */ 7434 #line 1781 "parser.yy" 7435 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7436 break; 7437 7438 case 469: 7439 7440 /* Line 1806 of yacc.c */ 7441 #line 1783 "parser.yy" 7442 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7443 break; 7444 7445 case 470: 7446 7447 /* Line 1806 of yacc.c */ 7431 7448 #line 1785 "parser.yy" 7432 { (yyval.en) = (yyvsp[(3) - (5)].en); }7433 break;7434 7435 case 468:7436 7437 /* Line 1806 of yacc.c */7438 #line 1787 "parser.yy"7439 { (yyval.en) = (yyvsp[(3) - (5)].en); }7440 break;7441 7442 case 469:7443 7444 /* Line 1806 of yacc.c */7445 #line 1789 "parser.yy"7446 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); }7447 break;7448 7449 case 470:7450 7451 /* Line 1806 of yacc.c */7452 #line 1791 "parser.yy"7453 7449 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7454 7450 break; … … 7457 7453 7458 7454 /* Line 1806 of yacc.c */ 7459 #line 18 15"parser.yy"7455 #line 1809 "parser.yy" 7460 7456 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7461 7457 break; … … 7464 7460 7465 7461 /* Line 1806 of yacc.c */ 7466 #line 181 7"parser.yy"7462 #line 1811 "parser.yy" 7467 7463 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7468 7464 break; … … 7471 7467 7472 7468 /* Line 1806 of yacc.c */ 7469 #line 1813 "parser.yy" 7470 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7471 break; 7472 7473 case 476: 7474 7475 /* Line 1806 of yacc.c */ 7473 7476 #line 1819 "parser.yy" 7474 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }7475 break;7476 7477 case 476:7478 7479 /* Line 1806 of yacc.c */7480 #line 1825 "parser.yy"7481 7477 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7482 7478 break; … … 7485 7481 7486 7482 /* Line 1806 of yacc.c */ 7487 #line 182 7"parser.yy"7483 #line 1821 "parser.yy" 7488 7484 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7489 7485 break; … … 7492 7488 7493 7489 /* Line 1806 of yacc.c */ 7490 #line 1826 "parser.yy" 7491 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7492 break; 7493 7494 case 480: 7495 7496 /* Line 1806 of yacc.c */ 7494 7497 #line 1832 "parser.yy" 7495 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); }7496 break;7497 7498 case 480:7499 7500 /* Line 1806 of yacc.c */7501 #line 1838 "parser.yy"7502 7498 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7503 7499 break; … … 7506 7502 7507 7503 /* Line 1806 of yacc.c */ 7508 #line 18 43"parser.yy"7504 #line 1837 "parser.yy" 7509 7505 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7510 7506 break; … … 7513 7509 7514 7510 /* Line 1806 of yacc.c */ 7511 #line 1839 "parser.yy" 7512 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7513 break; 7514 7515 case 484: 7516 7517 /* Line 1806 of yacc.c */ 7515 7518 #line 1845 "parser.yy" 7516 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }7517 break;7518 7519 case 484:7520 7521 /* Line 1806 of yacc.c */7522 #line 1851 "parser.yy"7523 7519 { (yyval.tclass) = DeclarationNode::Type; } 7524 7520 break; … … 7527 7523 7528 7524 /* Line 1806 of yacc.c */ 7529 #line 18 53"parser.yy"7525 #line 1847 "parser.yy" 7530 7526 { (yyval.tclass) = DeclarationNode::Ftype; } 7531 7527 break; … … 7534 7530 7535 7531 /* Line 1806 of yacc.c */ 7536 #line 18 55"parser.yy"7532 #line 1849 "parser.yy" 7537 7533 { (yyval.tclass) = DeclarationNode::Dtype; } 7538 7534 break; … … 7541 7537 7542 7538 /* Line 1806 of yacc.c */ 7543 #line 18 60"parser.yy"7539 #line 1854 "parser.yy" 7544 7540 { (yyval.decl) = 0; } 7545 7541 break; … … 7548 7544 7549 7545 /* Line 1806 of yacc.c */ 7550 #line 18 62"parser.yy"7546 #line 1856 "parser.yy" 7551 7547 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7552 7548 break; … … 7555 7551 7556 7552 /* Line 1806 of yacc.c */ 7557 #line 186 7"parser.yy"7553 #line 1861 "parser.yy" 7558 7554 { 7559 7555 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7565 7561 7566 7562 /* Line 1806 of yacc.c */ 7567 #line 18 72"parser.yy"7563 #line 1866 "parser.yy" 7568 7564 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7569 7565 break; … … 7572 7568 7573 7569 /* Line 1806 of yacc.c */ 7574 #line 18 74"parser.yy"7570 #line 1868 "parser.yy" 7575 7571 { (yyval.decl) = 0; } 7576 7572 break; … … 7579 7575 7580 7576 /* Line 1806 of yacc.c */ 7581 #line 187 9"parser.yy"7577 #line 1873 "parser.yy" 7582 7578 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7583 7579 break; … … 7586 7582 7587 7583 /* Line 1806 of yacc.c */ 7588 #line 18 82"parser.yy"7589 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_l ink( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }7584 #line 1876 "parser.yy" 7585 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7590 7586 break; 7591 7587 … … 7593 7589 7594 7590 /* Line 1806 of yacc.c */ 7595 #line 18 84"parser.yy"7596 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_l ink( (yyvsp[(3) - (3)].en) )); }7591 #line 1878 "parser.yy" 7592 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7597 7593 break; 7598 7594 … … 7600 7596 7601 7597 /* Line 1806 of yacc.c */ 7602 #line 188 9"parser.yy"7598 #line 1883 "parser.yy" 7603 7599 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7604 7600 break; … … 7607 7603 7608 7604 /* Line 1806 of yacc.c */ 7609 #line 18 91"parser.yy"7605 #line 1885 "parser.yy" 7610 7606 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7611 7607 break; … … 7614 7610 7615 7611 /* Line 1806 of yacc.c */ 7616 #line 18 93"parser.yy"7612 #line 1887 "parser.yy" 7617 7613 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7618 7614 break; … … 7621 7617 7622 7618 /* Line 1806 of yacc.c */ 7623 #line 189 8"parser.yy"7619 #line 1892 "parser.yy" 7624 7620 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7625 7621 break; … … 7628 7624 7629 7625 /* Line 1806 of yacc.c */ 7630 #line 1 900"parser.yy"7626 #line 1894 "parser.yy" 7631 7627 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7632 7628 break; … … 7635 7631 7636 7632 /* Line 1806 of yacc.c */ 7637 #line 1 905"parser.yy"7633 #line 1899 "parser.yy" 7638 7634 { 7639 7635 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7645 7641 7646 7642 /* Line 1806 of yacc.c */ 7647 #line 19 10"parser.yy"7643 #line 1904 "parser.yy" 7648 7644 { 7649 7645 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7655 7651 7656 7652 /* Line 1806 of yacc.c */ 7657 #line 191 8"parser.yy"7653 #line 1912 "parser.yy" 7658 7654 { 7659 7655 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7665 7661 7666 7662 /* Line 1806 of yacc.c */ 7667 #line 19 23"parser.yy"7663 #line 1917 "parser.yy" 7668 7664 { 7669 7665 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7675 7671 7676 7672 /* Line 1806 of yacc.c */ 7677 #line 192 8"parser.yy"7673 #line 1922 "parser.yy" 7678 7674 { 7679 7675 typedefTable.leaveTrait(); … … 7686 7682 7687 7683 /* Line 1806 of yacc.c */ 7688 #line 193 8"parser.yy"7684 #line 1932 "parser.yy" 7689 7685 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7690 7686 break; … … 7693 7689 7694 7690 /* Line 1806 of yacc.c */ 7695 #line 194 8"parser.yy"7691 #line 1942 "parser.yy" 7696 7692 { 7697 7693 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7703 7699 7704 7700 /* Line 1806 of yacc.c */ 7705 #line 19 53"parser.yy"7701 #line 1947 "parser.yy" 7706 7702 { 7707 7703 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7713 7709 7714 7710 /* Line 1806 of yacc.c */ 7715 #line 195 8"parser.yy"7711 #line 1952 "parser.yy" 7716 7712 { 7717 7713 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7723 7719 7724 7720 /* Line 1806 of yacc.c */ 7725 #line 196 6"parser.yy"7721 #line 1960 "parser.yy" 7726 7722 { 7727 7723 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7733 7729 7734 7730 /* Line 1806 of yacc.c */ 7735 #line 19 71"parser.yy"7731 #line 1965 "parser.yy" 7736 7732 { 7737 7733 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7743 7739 7744 7740 /* Line 1806 of yacc.c */ 7745 #line 19 81"parser.yy"7741 #line 1975 "parser.yy" 7746 7742 {} 7747 7743 break; … … 7750 7746 7751 7747 /* Line 1806 of yacc.c */ 7752 #line 19 83"parser.yy"7748 #line 1977 "parser.yy" 7753 7749 { 7754 7750 if ( theTree ) { … … 7763 7759 7764 7760 /* Line 1806 of yacc.c */ 7765 #line 19 95"parser.yy"7761 #line 1989 "parser.yy" 7766 7762 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7767 7763 break; … … 7770 7766 7771 7767 /* Line 1806 of yacc.c */ 7772 #line 2000"parser.yy"7768 #line 1994 "parser.yy" 7773 7769 { (yyval.decl) = 0; } 7774 7770 break; … … 7777 7773 7778 7774 /* Line 1806 of yacc.c */ 7779 #line 200 8"parser.yy"7775 #line 2002 "parser.yy" 7780 7776 {} 7781 7777 break; … … 7784 7780 7785 7781 /* Line 1806 of yacc.c */ 7786 #line 20 10"parser.yy"7782 #line 2004 "parser.yy" 7787 7783 { 7788 7784 linkageStack.push( linkage ); … … 7794 7790 7795 7791 /* Line 1806 of yacc.c */ 7796 #line 20 15"parser.yy"7792 #line 2009 "parser.yy" 7797 7793 { 7798 7794 linkage = linkageStack.top(); … … 7805 7801 7806 7802 /* Line 1806 of yacc.c */ 7807 #line 20 21"parser.yy"7803 #line 2015 "parser.yy" 7808 7804 { // mark all fields in list 7809 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_ link() )7805 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_next() ) 7810 7806 iter->set_extension( true ); 7811 7807 (yyval.decl) = (yyvsp[(2) - (2)].decl); … … 7816 7812 7817 7813 /* Line 1806 of yacc.c */ 7818 #line 203 6"parser.yy"7814 #line 2030 "parser.yy" 7819 7815 { 7820 7816 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7827 7823 7828 7824 /* Line 1806 of yacc.c */ 7829 #line 20 42"parser.yy"7825 #line 2036 "parser.yy" 7830 7826 { 7831 7827 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7838 7834 7839 7835 /* Line 1806 of yacc.c */ 7840 #line 20 51"parser.yy"7836 #line 2045 "parser.yy" 7841 7837 { 7842 7838 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7849 7845 7850 7846 /* Line 1806 of yacc.c */ 7851 #line 205 7"parser.yy"7847 #line 2051 "parser.yy" 7852 7848 { 7853 7849 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7858 7854 7859 7855 case 532: 7856 7857 /* Line 1806 of yacc.c */ 7858 #line 2057 "parser.yy" 7859 { 7860 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7861 typedefTable.leaveScope(); 7862 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) ); 7863 } 7864 break; 7865 7866 case 533: 7860 7867 7861 7868 /* Line 1806 of yacc.c */ … … 7868 7875 break; 7869 7876 7870 case 53 3:7877 case 534: 7871 7878 7872 7879 /* Line 1806 of yacc.c */ 7873 7880 #line 2069 "parser.yy" 7874 {7875 typedefTable.addToEnclosingScope( TypedefTable::ID );7876 typedefTable.leaveScope();7877 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );7878 }7879 break;7880 7881 case 534:7882 7883 /* Line 1806 of yacc.c */7884 #line 2075 "parser.yy"7885 7881 { 7886 7882 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7893 7889 7894 7890 /* Line 1806 of yacc.c */ 7895 #line 20 83"parser.yy"7891 #line 2077 "parser.yy" 7896 7892 { 7897 7893 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7904 7900 7905 7901 /* Line 1806 of yacc.c */ 7906 #line 208 9"parser.yy"7902 #line 2083 "parser.yy" 7907 7903 { 7908 7904 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7915 7911 7916 7912 /* Line 1806 of yacc.c */ 7917 #line 209 7"parser.yy"7913 #line 2091 "parser.yy" 7918 7914 { 7919 7915 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7926 7922 7927 7923 /* Line 1806 of yacc.c */ 7928 #line 2 103"parser.yy"7924 #line 2097 "parser.yy" 7929 7925 { 7930 7926 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7937 7933 7938 7934 /* Line 1806 of yacc.c */ 7939 #line 211 8"parser.yy"7935 #line 2112 "parser.yy" 7940 7936 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7941 7937 break; … … 7944 7940 7945 7941 /* Line 1806 of yacc.c */ 7946 #line 212 8"parser.yy"7942 #line 2122 "parser.yy" 7947 7943 { (yyval.decl) = 0; } 7948 7944 break; … … 7951 7947 7952 7948 /* Line 1806 of yacc.c */ 7949 #line 2129 "parser.yy" 7950 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7951 break; 7952 7953 case 549: 7954 7955 /* Line 1806 of yacc.c */ 7953 7956 #line 2135 "parser.yy" 7954 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }7955 break;7956 7957 case 549:7958 7959 /* Line 1806 of yacc.c */7960 #line 2141 "parser.yy"7961 7957 { (yyval.decl) = 0; } 7962 7958 break; … … 7965 7961 7966 7962 /* Line 1806 of yacc.c */ 7967 #line 215 6"parser.yy"7963 #line 2150 "parser.yy" 7968 7964 {} 7969 7965 break; … … 7972 7968 7973 7969 /* Line 1806 of yacc.c */ 7974 #line 215 7"parser.yy"7970 #line 2151 "parser.yy" 7975 7971 {} 7976 7972 break; … … 7979 7975 7980 7976 /* Line 1806 of yacc.c */ 7981 #line 215 8"parser.yy"7977 #line 2152 "parser.yy" 7982 7978 {} 7983 7979 break; … … 7986 7982 7987 7983 /* Line 1806 of yacc.c */ 7988 #line 215 9"parser.yy"7984 #line 2153 "parser.yy" 7989 7985 {} 7990 7986 break; … … 7993 7989 7994 7990 /* Line 1806 of yacc.c */ 7995 #line 21 94"parser.yy"7991 #line 2188 "parser.yy" 7996 7992 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7997 7993 break; … … 8000 7996 8001 7997 /* Line 1806 of yacc.c */ 8002 #line 219 7"parser.yy"7998 #line 2191 "parser.yy" 8003 7999 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8004 8000 break; … … 8007 8003 8008 8004 /* Line 1806 of yacc.c */ 8009 #line 219 9"parser.yy"8005 #line 2193 "parser.yy" 8010 8006 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8011 8007 break; … … 8014 8010 8015 8011 /* Line 1806 of yacc.c */ 8016 #line 2 204"parser.yy"8012 #line 2198 "parser.yy" 8017 8013 { 8018 8014 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8024 8020 8025 8021 /* Line 1806 of yacc.c */ 8026 #line 220 9"parser.yy"8022 #line 2203 "parser.yy" 8027 8023 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8028 8024 break; … … 8031 8027 8032 8028 /* Line 1806 of yacc.c */ 8033 #line 22 14"parser.yy"8029 #line 2208 "parser.yy" 8034 8030 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8035 8031 break; … … 8038 8034 8039 8035 /* Line 1806 of yacc.c */ 8040 #line 221 6"parser.yy"8036 #line 2210 "parser.yy" 8041 8037 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8042 8038 break; … … 8045 8041 8046 8042 /* Line 1806 of yacc.c */ 8047 #line 221 8"parser.yy"8043 #line 2212 "parser.yy" 8048 8044 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8049 8045 break; … … 8052 8048 8053 8049 /* Line 1806 of yacc.c */ 8050 #line 2217 "parser.yy" 8051 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8052 break; 8053 8054 case 569: 8055 8056 /* Line 1806 of yacc.c */ 8057 #line 2219 "parser.yy" 8058 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8059 break; 8060 8061 case 570: 8062 8063 /* Line 1806 of yacc.c */ 8064 #line 2221 "parser.yy" 8065 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8066 break; 8067 8068 case 571: 8069 8070 /* Line 1806 of yacc.c */ 8054 8071 #line 2223 "parser.yy" 8072 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8073 break; 8074 8075 case 572: 8076 8077 /* Line 1806 of yacc.c */ 8078 #line 2228 "parser.yy" 8079 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8080 break; 8081 8082 case 573: 8083 8084 /* Line 1806 of yacc.c */ 8085 #line 2230 "parser.yy" 8086 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8087 break; 8088 8089 case 574: 8090 8091 /* Line 1806 of yacc.c */ 8092 #line 2239 "parser.yy" 8093 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8094 break; 8095 8096 case 576: 8097 8098 /* Line 1806 of yacc.c */ 8099 #line 2242 "parser.yy" 8100 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8101 break; 8102 8103 case 577: 8104 8105 /* Line 1806 of yacc.c */ 8106 #line 2247 "parser.yy" 8107 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8108 break; 8109 8110 case 578: 8111 8112 /* Line 1806 of yacc.c */ 8113 #line 2249 "parser.yy" 8114 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8115 break; 8116 8117 case 579: 8118 8119 /* Line 1806 of yacc.c */ 8120 #line 2251 "parser.yy" 8121 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8122 break; 8123 8124 case 580: 8125 8126 /* Line 1806 of yacc.c */ 8127 #line 2256 "parser.yy" 8128 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8129 break; 8130 8131 case 581: 8132 8133 /* Line 1806 of yacc.c */ 8134 #line 2258 "parser.yy" 8135 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8136 break; 8137 8138 case 582: 8139 8140 /* Line 1806 of yacc.c */ 8141 #line 2260 "parser.yy" 8142 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8143 break; 8144 8145 case 583: 8146 8147 /* Line 1806 of yacc.c */ 8148 #line 2265 "parser.yy" 8149 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8150 break; 8151 8152 case 584: 8153 8154 /* Line 1806 of yacc.c */ 8155 #line 2267 "parser.yy" 8156 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8157 break; 8158 8159 case 585: 8160 8161 /* Line 1806 of yacc.c */ 8162 #line 2269 "parser.yy" 8163 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8164 break; 8165 8166 case 589: 8167 8168 /* Line 1806 of yacc.c */ 8169 #line 2284 "parser.yy" 8170 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8171 break; 8172 8173 case 590: 8174 8175 /* Line 1806 of yacc.c */ 8176 #line 2286 "parser.yy" 8177 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8178 break; 8179 8180 case 591: 8181 8182 /* Line 1806 of yacc.c */ 8183 #line 2288 "parser.yy" 8184 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8185 break; 8186 8187 case 592: 8188 8189 /* Line 1806 of yacc.c */ 8190 #line 2293 "parser.yy" 8191 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8192 break; 8193 8194 case 593: 8195 8196 /* Line 1806 of yacc.c */ 8197 #line 2295 "parser.yy" 8198 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8199 break; 8200 8201 case 594: 8202 8203 /* Line 1806 of yacc.c */ 8204 #line 2297 "parser.yy" 8205 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8206 break; 8207 8208 case 595: 8209 8210 /* Line 1806 of yacc.c */ 8211 #line 2302 "parser.yy" 8212 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8213 break; 8214 8215 case 596: 8216 8217 /* Line 1806 of yacc.c */ 8218 #line 2304 "parser.yy" 8219 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8220 break; 8221 8222 case 597: 8223 8224 /* Line 1806 of yacc.c */ 8225 #line 2306 "parser.yy" 8226 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8227 break; 8228 8229 case 598: 8230 8231 /* Line 1806 of yacc.c */ 8232 #line 2321 "parser.yy" 8233 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8234 break; 8235 8236 case 600: 8237 8238 /* Line 1806 of yacc.c */ 8239 #line 2324 "parser.yy" 8240 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8241 break; 8242 8243 case 601: 8244 8245 /* Line 1806 of yacc.c */ 8246 #line 2326 "parser.yy" 8247 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8248 break; 8249 8250 case 603: 8251 8252 /* Line 1806 of yacc.c */ 8253 #line 2332 "parser.yy" 8254 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8255 break; 8256 8257 case 604: 8258 8259 /* Line 1806 of yacc.c */ 8260 #line 2337 "parser.yy" 8261 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8262 break; 8263 8264 case 605: 8265 8266 /* Line 1806 of yacc.c */ 8267 #line 2339 "parser.yy" 8268 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8269 break; 8270 8271 case 606: 8272 8273 /* Line 1806 of yacc.c */ 8274 #line 2341 "parser.yy" 8275 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8276 break; 8277 8278 case 607: 8279 8280 /* Line 1806 of yacc.c */ 8281 #line 2346 "parser.yy" 8055 8282 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8056 8283 break; 8057 8284 8058 case 569:8059 8060 /* Line 1806 of yacc.c */ 8061 #line 2 225"parser.yy"8285 case 608: 8286 8287 /* Line 1806 of yacc.c */ 8288 #line 2348 "parser.yy" 8062 8289 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8063 8290 break; 8064 8291 8065 case 570:8066 8067 /* Line 1806 of yacc.c */ 8068 #line 2 227"parser.yy"8292 case 609: 8293 8294 /* Line 1806 of yacc.c */ 8295 #line 2350 "parser.yy" 8069 8296 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8070 8297 break; 8071 8298 8072 case 571:8073 8074 /* Line 1806 of yacc.c */ 8075 #line 2 229"parser.yy"8299 case 610: 8300 8301 /* Line 1806 of yacc.c */ 8302 #line 2352 "parser.yy" 8076 8303 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8077 8304 break; 8078 8305 8079 case 572: 8080 8081 /* Line 1806 of yacc.c */ 8082 #line 2234 "parser.yy" 8306 case 611: 8307 8308 /* Line 1806 of yacc.c */ 8309 #line 2357 "parser.yy" 8310 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8311 break; 8312 8313 case 612: 8314 8315 /* Line 1806 of yacc.c */ 8316 #line 2359 "parser.yy" 8083 8317 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8084 8318 break; 8085 8319 8086 case 573:8087 8088 /* Line 1806 of yacc.c */ 8089 #line 2 236"parser.yy"8320 case 613: 8321 8322 /* Line 1806 of yacc.c */ 8323 #line 2361 "parser.yy" 8090 8324 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8091 8325 break; 8092 8326 8093 case 574:8094 8095 /* Line 1806 of yacc.c */ 8096 #line 2 245"parser.yy"8327 case 614: 8328 8329 /* Line 1806 of yacc.c */ 8330 #line 2371 "parser.yy" 8097 8331 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8098 8332 break; 8099 8333 8100 case 576:8101 8102 /* Line 1806 of yacc.c */ 8103 #line 2 248"parser.yy"8334 case 616: 8335 8336 /* Line 1806 of yacc.c */ 8337 #line 2374 "parser.yy" 8104 8338 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8105 8339 break; 8106 8340 8107 case 577: 8108 8109 /* Line 1806 of yacc.c */ 8110 #line 2253 "parser.yy" 8341 case 617: 8342 8343 /* Line 1806 of yacc.c */ 8344 #line 2376 "parser.yy" 8345 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8346 break; 8347 8348 case 618: 8349 8350 /* Line 1806 of yacc.c */ 8351 #line 2381 "parser.yy" 8352 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8353 break; 8354 8355 case 619: 8356 8357 /* Line 1806 of yacc.c */ 8358 #line 2383 "parser.yy" 8359 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8360 break; 8361 8362 case 620: 8363 8364 /* Line 1806 of yacc.c */ 8365 #line 2385 "parser.yy" 8366 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8367 break; 8368 8369 case 621: 8370 8371 /* Line 1806 of yacc.c */ 8372 #line 2390 "parser.yy" 8373 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8374 break; 8375 8376 case 622: 8377 8378 /* Line 1806 of yacc.c */ 8379 #line 2392 "parser.yy" 8380 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8381 break; 8382 8383 case 623: 8384 8385 /* Line 1806 of yacc.c */ 8386 #line 2394 "parser.yy" 8387 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8388 break; 8389 8390 case 624: 8391 8392 /* Line 1806 of yacc.c */ 8393 #line 2396 "parser.yy" 8394 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8395 break; 8396 8397 case 625: 8398 8399 /* Line 1806 of yacc.c */ 8400 #line 2401 "parser.yy" 8111 8401 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8112 8402 break; 8113 8403 8114 case 578:8115 8116 /* Line 1806 of yacc.c */ 8117 #line 2 255"parser.yy"8404 case 626: 8405 8406 /* Line 1806 of yacc.c */ 8407 #line 2403 "parser.yy" 8118 8408 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8119 8409 break; 8120 8410 8121 case 579:8122 8123 /* Line 1806 of yacc.c */ 8124 #line 2 257"parser.yy"8411 case 627: 8412 8413 /* Line 1806 of yacc.c */ 8414 #line 2405 "parser.yy" 8125 8415 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8126 8416 break; 8127 8417 8128 case 580: 8129 8130 /* Line 1806 of yacc.c */ 8131 #line 2262 "parser.yy" 8132 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8133 break; 8134 8135 case 581: 8136 8137 /* Line 1806 of yacc.c */ 8138 #line 2264 "parser.yy" 8139 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8140 break; 8141 8142 case 582: 8143 8144 /* Line 1806 of yacc.c */ 8145 #line 2266 "parser.yy" 8146 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8147 break; 8148 8149 case 583: 8150 8151 /* Line 1806 of yacc.c */ 8152 #line 2271 "parser.yy" 8153 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8154 break; 8155 8156 case 584: 8157 8158 /* Line 1806 of yacc.c */ 8159 #line 2273 "parser.yy" 8160 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8161 break; 8162 8163 case 585: 8164 8165 /* Line 1806 of yacc.c */ 8166 #line 2275 "parser.yy" 8167 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8168 break; 8169 8170 case 589: 8171 8172 /* Line 1806 of yacc.c */ 8173 #line 2290 "parser.yy" 8174 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8175 break; 8176 8177 case 590: 8178 8179 /* Line 1806 of yacc.c */ 8180 #line 2292 "parser.yy" 8181 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8182 break; 8183 8184 case 591: 8185 8186 /* Line 1806 of yacc.c */ 8187 #line 2294 "parser.yy" 8188 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8189 break; 8190 8191 case 592: 8192 8193 /* Line 1806 of yacc.c */ 8194 #line 2299 "parser.yy" 8195 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8196 break; 8197 8198 case 593: 8199 8200 /* Line 1806 of yacc.c */ 8201 #line 2301 "parser.yy" 8202 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8203 break; 8204 8205 case 594: 8206 8207 /* Line 1806 of yacc.c */ 8208 #line 2303 "parser.yy" 8209 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8210 break; 8211 8212 case 595: 8213 8214 /* Line 1806 of yacc.c */ 8215 #line 2308 "parser.yy" 8216 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8217 break; 8218 8219 case 596: 8220 8221 /* Line 1806 of yacc.c */ 8222 #line 2310 "parser.yy" 8223 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8224 break; 8225 8226 case 597: 8227 8228 /* Line 1806 of yacc.c */ 8229 #line 2312 "parser.yy" 8230 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8231 break; 8232 8233 case 598: 8234 8235 /* Line 1806 of yacc.c */ 8236 #line 2327 "parser.yy" 8418 case 628: 8419 8420 /* Line 1806 of yacc.c */ 8421 #line 2436 "parser.yy" 8237 8422 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8238 8423 break; 8239 8424 8240 case 6 00:8241 8242 /* Line 1806 of yacc.c */ 8243 #line 2 330"parser.yy"8425 case 630: 8426 8427 /* Line 1806 of yacc.c */ 8428 #line 2439 "parser.yy" 8244 8429 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8245 8430 break; 8246 8431 8247 case 6 01:8248 8249 /* Line 1806 of yacc.c */ 8250 #line 2 332"parser.yy"8432 case 631: 8433 8434 /* Line 1806 of yacc.c */ 8435 #line 2441 "parser.yy" 8251 8436 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8252 8437 break; 8253 8438 8254 case 603:8255 8256 /* Line 1806 of yacc.c */8257 #line 2338 "parser.yy"8258 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8259 break;8260 8261 case 604:8262 8263 /* Line 1806 of yacc.c */8264 #line 2343 "parser.yy"8265 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8266 break;8267 8268 case 605:8269 8270 /* Line 1806 of yacc.c */8271 #line 2345 "parser.yy"8272 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8273 break;8274 8275 case 606:8276 8277 /* Line 1806 of yacc.c */8278 #line 2347 "parser.yy"8279 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8280 break;8281 8282 case 607:8283 8284 /* Line 1806 of yacc.c */8285 #line 2352 "parser.yy"8286 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8287 break;8288 8289 case 608:8290 8291 /* Line 1806 of yacc.c */8292 #line 2354 "parser.yy"8293 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8294 break;8295 8296 case 609:8297 8298 /* Line 1806 of yacc.c */8299 #line 2356 "parser.yy"8300 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8301 break;8302 8303 case 610:8304 8305 /* Line 1806 of yacc.c */8306 #line 2358 "parser.yy"8307 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8308 break;8309 8310 case 611:8311 8312 /* Line 1806 of yacc.c */8313 #line 2363 "parser.yy"8314 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8315 break;8316 8317 case 612:8318 8319 /* Line 1806 of yacc.c */8320 #line 2365 "parser.yy"8321 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8322 break;8323 8324 case 613:8325 8326 /* Line 1806 of yacc.c */8327 #line 2367 "parser.yy"8328 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8329 break;8330 8331 case 614:8332 8333 /* Line 1806 of yacc.c */8334 #line 2377 "parser.yy"8335 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8336 break;8337 8338 case 616:8339 8340 /* Line 1806 of yacc.c */8341 #line 2380 "parser.yy"8342 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8343 break;8344 8345 case 617:8346 8347 /* Line 1806 of yacc.c */8348 #line 2382 "parser.yy"8349 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8350 break;8351 8352 case 618:8353 8354 /* Line 1806 of yacc.c */8355 #line 2387 "parser.yy"8356 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8357 break;8358 8359 case 619:8360 8361 /* Line 1806 of yacc.c */8362 #line 2389 "parser.yy"8363 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8364 break;8365 8366 case 620:8367 8368 /* Line 1806 of yacc.c */8369 #line 2391 "parser.yy"8370 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8371 break;8372 8373 case 621:8374 8375 /* Line 1806 of yacc.c */8376 #line 2396 "parser.yy"8377 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8378 break;8379 8380 case 622:8381 8382 /* Line 1806 of yacc.c */8383 #line 2398 "parser.yy"8384 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8385 break;8386 8387 case 623:8388 8389 /* Line 1806 of yacc.c */8390 #line 2400 "parser.yy"8391 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8392 break;8393 8394 case 624:8395 8396 /* Line 1806 of yacc.c */8397 #line 2402 "parser.yy"8398 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8399 break;8400 8401 case 625:8402 8403 /* Line 1806 of yacc.c */8404 #line 2407 "parser.yy"8405 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8406 break;8407 8408 case 626:8409 8410 /* Line 1806 of yacc.c */8411 #line 2409 "parser.yy"8412 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8413 break;8414 8415 case 627:8416 8417 /* Line 1806 of yacc.c */8418 #line 2411 "parser.yy"8419 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8420 break;8421 8422 case 628:8423 8424 /* Line 1806 of yacc.c */8425 #line 2442 "parser.yy"8426 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8427 break;8428 8429 case 630:8430 8431 /* Line 1806 of yacc.c */8432 #line 2445 "parser.yy"8433 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8434 break;8435 8436 case 631:8437 8438 /* Line 1806 of yacc.c */8439 #line 2447 "parser.yy"8440 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8441 break;8442 8443 8439 case 632: 8444 8440 8445 8441 /* Line 1806 of yacc.c */ 8446 #line 24 52"parser.yy"8442 #line 2446 "parser.yy" 8447 8443 { 8448 8444 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8454 8450 8455 8451 /* Line 1806 of yacc.c */ 8456 #line 245 7"parser.yy"8452 #line 2451 "parser.yy" 8457 8453 { 8458 8454 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8464 8460 8465 8461 /* Line 1806 of yacc.c */ 8466 #line 24 65"parser.yy"8462 #line 2459 "parser.yy" 8467 8463 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8468 8464 break; … … 8471 8467 8472 8468 /* Line 1806 of yacc.c */ 8473 #line 246 7"parser.yy"8469 #line 2461 "parser.yy" 8474 8470 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8475 8471 break; … … 8478 8474 8479 8475 /* Line 1806 of yacc.c */ 8480 #line 246 9"parser.yy"8476 #line 2463 "parser.yy" 8481 8477 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8482 8478 break; … … 8485 8481 8486 8482 /* Line 1806 of yacc.c */ 8487 #line 24 74"parser.yy"8483 #line 2468 "parser.yy" 8488 8484 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8489 8485 break; … … 8492 8488 8493 8489 /* Line 1806 of yacc.c */ 8494 #line 247 6"parser.yy"8490 #line 2470 "parser.yy" 8495 8491 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8496 8492 break; … … 8499 8495 8500 8496 /* Line 1806 of yacc.c */ 8501 #line 24 81"parser.yy"8497 #line 2475 "parser.yy" 8502 8498 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8503 8499 break; … … 8506 8502 8507 8503 /* Line 1806 of yacc.c */ 8508 #line 24 83"parser.yy"8504 #line 2477 "parser.yy" 8509 8505 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8510 8506 break; … … 8513 8509 8514 8510 /* Line 1806 of yacc.c */ 8515 #line 249 8"parser.yy"8511 #line 2492 "parser.yy" 8516 8512 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8517 8513 break; … … 8520 8516 8521 8517 /* Line 1806 of yacc.c */ 8522 #line 2 500"parser.yy"8518 #line 2494 "parser.yy" 8523 8519 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8524 8520 break; … … 8527 8523 8528 8524 /* Line 1806 of yacc.c */ 8525 #line 2499 "parser.yy" 8526 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8527 break; 8528 8529 case 645: 8530 8531 /* Line 1806 of yacc.c */ 8532 #line 2501 "parser.yy" 8533 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8534 break; 8535 8536 case 646: 8537 8538 /* Line 1806 of yacc.c */ 8539 #line 2503 "parser.yy" 8540 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8541 break; 8542 8543 case 647: 8544 8545 /* Line 1806 of yacc.c */ 8529 8546 #line 2505 "parser.yy" 8547 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8548 break; 8549 8550 case 648: 8551 8552 /* Line 1806 of yacc.c */ 8553 #line 2507 "parser.yy" 8554 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8555 break; 8556 8557 case 650: 8558 8559 /* Line 1806 of yacc.c */ 8560 #line 2513 "parser.yy" 8561 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8562 break; 8563 8564 case 651: 8565 8566 /* Line 1806 of yacc.c */ 8567 #line 2515 "parser.yy" 8568 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8569 break; 8570 8571 case 652: 8572 8573 /* Line 1806 of yacc.c */ 8574 #line 2517 "parser.yy" 8575 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8576 break; 8577 8578 case 653: 8579 8580 /* Line 1806 of yacc.c */ 8581 #line 2522 "parser.yy" 8582 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8583 break; 8584 8585 case 654: 8586 8587 /* Line 1806 of yacc.c */ 8588 #line 2524 "parser.yy" 8589 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8590 break; 8591 8592 case 655: 8593 8594 /* Line 1806 of yacc.c */ 8595 #line 2526 "parser.yy" 8596 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8597 break; 8598 8599 case 656: 8600 8601 /* Line 1806 of yacc.c */ 8602 #line 2532 "parser.yy" 8603 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8604 break; 8605 8606 case 657: 8607 8608 /* Line 1806 of yacc.c */ 8609 #line 2534 "parser.yy" 8610 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8611 break; 8612 8613 case 659: 8614 8615 /* Line 1806 of yacc.c */ 8616 #line 2540 "parser.yy" 8617 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8618 break; 8619 8620 case 660: 8621 8622 /* Line 1806 of yacc.c */ 8623 #line 2542 "parser.yy" 8624 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8625 break; 8626 8627 case 661: 8628 8629 /* Line 1806 of yacc.c */ 8630 #line 2544 "parser.yy" 8631 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8632 break; 8633 8634 case 662: 8635 8636 /* Line 1806 of yacc.c */ 8637 #line 2546 "parser.yy" 8638 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8639 break; 8640 8641 case 664: 8642 8643 /* Line 1806 of yacc.c */ 8644 #line 2561 "parser.yy" 8645 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8646 break; 8647 8648 case 665: 8649 8650 /* Line 1806 of yacc.c */ 8651 #line 2563 "parser.yy" 8652 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8653 break; 8654 8655 case 666: 8656 8657 /* Line 1806 of yacc.c */ 8658 #line 2568 "parser.yy" 8530 8659 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8531 8660 break; 8532 8661 8533 case 6 45:8534 8535 /* Line 1806 of yacc.c */ 8536 #line 25 07"parser.yy"8662 case 667: 8663 8664 /* Line 1806 of yacc.c */ 8665 #line 2570 "parser.yy" 8537 8666 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8538 8667 break; 8539 8668 8540 case 6 46:8541 8542 /* Line 1806 of yacc.c */ 8543 #line 25 09"parser.yy"8669 case 668: 8670 8671 /* Line 1806 of yacc.c */ 8672 #line 2572 "parser.yy" 8544 8673 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8545 8674 break; 8546 8675 8547 case 6 47:8548 8549 /* Line 1806 of yacc.c */ 8550 #line 25 11"parser.yy"8676 case 669: 8677 8678 /* Line 1806 of yacc.c */ 8679 #line 2574 "parser.yy" 8551 8680 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8552 8681 break; 8553 8682 8554 case 6 48:8555 8556 /* Line 1806 of yacc.c */ 8557 #line 25 13"parser.yy"8683 case 670: 8684 8685 /* Line 1806 of yacc.c */ 8686 #line 2576 "parser.yy" 8558 8687 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8559 8688 break; 8560 8689 8561 case 6 50:8562 8563 /* Line 1806 of yacc.c */ 8564 #line 25 19"parser.yy"8690 case 672: 8691 8692 /* Line 1806 of yacc.c */ 8693 #line 2582 "parser.yy" 8565 8694 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8566 8695 break; 8567 8696 8568 case 6 51:8569 8570 /* Line 1806 of yacc.c */ 8571 #line 25 21"parser.yy"8697 case 673: 8698 8699 /* Line 1806 of yacc.c */ 8700 #line 2584 "parser.yy" 8572 8701 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8573 8702 break; 8574 8703 8575 case 6 52:8576 8577 /* Line 1806 of yacc.c */ 8578 #line 25 23"parser.yy"8704 case 674: 8705 8706 /* Line 1806 of yacc.c */ 8707 #line 2586 "parser.yy" 8579 8708 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8580 8709 break; 8581 8710 8582 case 6 53:8583 8584 /* Line 1806 of yacc.c */ 8585 #line 25 28"parser.yy"8711 case 675: 8712 8713 /* Line 1806 of yacc.c */ 8714 #line 2591 "parser.yy" 8586 8715 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8587 8716 break; 8588 8717 8589 case 6 54:8590 8591 /* Line 1806 of yacc.c */ 8592 #line 25 30"parser.yy"8718 case 676: 8719 8720 /* Line 1806 of yacc.c */ 8721 #line 2593 "parser.yy" 8593 8722 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8594 8723 break; 8595 8724 8596 case 6 55:8597 8598 /* Line 1806 of yacc.c */ 8599 #line 25 32"parser.yy"8725 case 677: 8726 8727 /* Line 1806 of yacc.c */ 8728 #line 2595 "parser.yy" 8600 8729 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8601 8730 break; 8602 8731 8603 case 656: 8604 8605 /* Line 1806 of yacc.c */ 8606 #line 2538 "parser.yy" 8732 case 679: 8733 8734 /* Line 1806 of yacc.c */ 8735 #line 2602 "parser.yy" 8736 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8737 break; 8738 8739 case 681: 8740 8741 /* Line 1806 of yacc.c */ 8742 #line 2613 "parser.yy" 8607 8743 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8608 8744 break; 8609 8745 8610 case 6 57:8611 8612 /* Line 1806 of yacc.c */ 8613 #line 2 540"parser.yy"8614 { (yyval.decl) = DeclarationNode::new Array( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); }8615 break; 8616 8617 case 6 59:8618 8619 /* Line 1806 of yacc.c */ 8620 #line 2 546"parser.yy"8621 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); }8622 break; 8623 8624 case 6 60:8625 8626 /* Line 1806 of yacc.c */ 8627 #line 2 548"parser.yy"8628 { (yyval.decl) = DeclarationNode::new VarArray( 0); }8629 break; 8630 8631 case 6 61:8632 8633 /* Line 1806 of yacc.c */ 8634 #line 2 550"parser.yy"8635 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false )); }8636 break; 8637 8638 case 6 62:8639 8640 /* Line 1806 of yacc.c */ 8641 #line 2 552"parser.yy"8642 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 )); }8643 break; 8644 8645 case 6 64:8646 8647 /* Line 1806 of yacc.c */ 8648 #line 2 567"parser.yy"8746 case 682: 8747 8748 /* Line 1806 of yacc.c */ 8749 #line 2616 "parser.yy" 8750 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8751 break; 8752 8753 case 683: 8754 8755 /* Line 1806 of yacc.c */ 8756 #line 2618 "parser.yy" 8757 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8758 break; 8759 8760 case 684: 8761 8762 /* Line 1806 of yacc.c */ 8763 #line 2621 "parser.yy" 8764 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8765 break; 8766 8767 case 685: 8768 8769 /* Line 1806 of yacc.c */ 8770 #line 2623 "parser.yy" 8771 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8772 break; 8773 8774 case 686: 8775 8776 /* Line 1806 of yacc.c */ 8777 #line 2625 "parser.yy" 8778 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8779 break; 8780 8781 case 688: 8782 8783 /* Line 1806 of yacc.c */ 8784 #line 2639 "parser.yy" 8649 8785 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8650 8786 break; 8651 8787 8652 case 6 65:8653 8654 /* Line 1806 of yacc.c */ 8655 #line 2 569"parser.yy"8788 case 689: 8789 8790 /* Line 1806 of yacc.c */ 8791 #line 2641 "parser.yy" 8656 8792 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8657 8793 break; 8658 8794 8659 case 6 66:8660 8661 /* Line 1806 of yacc.c */ 8662 #line 2 574"parser.yy"8795 case 690: 8796 8797 /* Line 1806 of yacc.c */ 8798 #line 2646 "parser.yy" 8663 8799 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8664 8800 break; 8665 8801 8666 case 6 67:8667 8668 /* Line 1806 of yacc.c */ 8669 #line 2 576"parser.yy"8802 case 691: 8803 8804 /* Line 1806 of yacc.c */ 8805 #line 2648 "parser.yy" 8670 8806 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8671 8807 break; 8672 8808 8673 case 6 68:8674 8675 /* Line 1806 of yacc.c */ 8676 #line 2 578"parser.yy"8809 case 692: 8810 8811 /* Line 1806 of yacc.c */ 8812 #line 2650 "parser.yy" 8677 8813 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8678 8814 break; 8679 8815 8680 case 6 69:8681 8682 /* Line 1806 of yacc.c */ 8683 #line 2 580"parser.yy"8816 case 693: 8817 8818 /* Line 1806 of yacc.c */ 8819 #line 2652 "parser.yy" 8684 8820 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8685 8821 break; 8686 8822 8687 case 6 70:8688 8689 /* Line 1806 of yacc.c */ 8690 #line 2 582"parser.yy"8823 case 694: 8824 8825 /* Line 1806 of yacc.c */ 8826 #line 2654 "parser.yy" 8691 8827 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8692 8828 break; 8693 8829 8694 case 6 72:8695 8696 /* Line 1806 of yacc.c */ 8697 #line 2 588"parser.yy"8830 case 696: 8831 8832 /* Line 1806 of yacc.c */ 8833 #line 2660 "parser.yy" 8698 8834 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8699 8835 break; 8700 8836 8701 case 6 73:8702 8703 /* Line 1806 of yacc.c */ 8704 #line 2 590"parser.yy"8837 case 697: 8838 8839 /* Line 1806 of yacc.c */ 8840 #line 2662 "parser.yy" 8705 8841 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8706 8842 break; 8707 8843 8708 case 6 74:8709 8710 /* Line 1806 of yacc.c */ 8711 #line 2 592"parser.yy"8844 case 698: 8845 8846 /* Line 1806 of yacc.c */ 8847 #line 2664 "parser.yy" 8712 8848 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8713 8849 break; 8714 8850 8715 case 675: 8716 8717 /* Line 1806 of yacc.c */ 8718 #line 2597 "parser.yy" 8719 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8720 break; 8721 8722 case 676: 8723 8724 /* Line 1806 of yacc.c */ 8725 #line 2599 "parser.yy" 8851 case 699: 8852 8853 /* Line 1806 of yacc.c */ 8854 #line 2669 "parser.yy" 8726 8855 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8727 8856 break; 8728 8857 8729 case 677:8730 8731 /* Line 1806 of yacc.c */ 8732 #line 26 01 "parser.yy"8858 case 700: 8859 8860 /* Line 1806 of yacc.c */ 8861 #line 2671 "parser.yy" 8733 8862 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8734 8863 break; 8735 8864 8736 case 679:8737 8738 /* Line 1806 of yacc.c */8739 #line 2608 "parser.yy"8740 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8741 break;8742 8743 case 681:8744 8745 /* Line 1806 of yacc.c */8746 #line 2619 "parser.yy"8747 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }8748 break;8749 8750 case 682:8751 8752 /* Line 1806 of yacc.c */8753 #line 2622 "parser.yy"8754 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); }8755 break;8756 8757 case 683:8758 8759 /* Line 1806 of yacc.c */8760 #line 2624 "parser.yy"8761 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }8762 break;8763 8764 case 684:8765 8766 /* Line 1806 of yacc.c */8767 #line 2627 "parser.yy"8768 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); }8769 break;8770 8771 case 685:8772 8773 /* Line 1806 of yacc.c */8774 #line 2629 "parser.yy"8775 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); }8776 break;8777 8778 case 686:8779 8780 /* Line 1806 of yacc.c */8781 #line 2631 "parser.yy"8782 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); }8783 break;8784 8785 case 688:8786 8787 /* Line 1806 of yacc.c */8788 #line 2645 "parser.yy"8789 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8790 break;8791 8792 case 689:8793 8794 /* Line 1806 of yacc.c */8795 #line 2647 "parser.yy"8796 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8797 break;8798 8799 case 690:8800 8801 /* Line 1806 of yacc.c */8802 #line 2652 "parser.yy"8803 { (yyval.decl) = DeclarationNode::newPointer( 0 ); }8804 break;8805 8806 case 691:8807 8808 /* Line 1806 of yacc.c */8809 #line 2654 "parser.yy"8810 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); }8811 break;8812 8813 case 692:8814 8815 /* Line 1806 of yacc.c */8816 #line 2656 "parser.yy"8817 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8818 break;8819 8820 case 693:8821 8822 /* Line 1806 of yacc.c */8823 #line 2658 "parser.yy"8824 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8825 break;8826 8827 case 694:8828 8829 /* Line 1806 of yacc.c */8830 #line 2660 "parser.yy"8831 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8832 break;8833 8834 case 696:8835 8836 /* Line 1806 of yacc.c */8837 #line 2666 "parser.yy"8838 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8839 break;8840 8841 case 697:8842 8843 /* Line 1806 of yacc.c */8844 #line 2668 "parser.yy"8845 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8846 break;8847 8848 case 698:8849 8850 /* Line 1806 of yacc.c */8851 #line 2670 "parser.yy"8852 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8853 break;8854 8855 case 699:8856 8857 /* Line 1806 of yacc.c */8858 #line 2675 "parser.yy"8859 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8860 break;8861 8862 case 700:8863 8864 /* Line 1806 of yacc.c */8865 #line 2677 "parser.yy"8866 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8867 break;8868 8869 8865 case 703: 8870 8866 8871 8867 /* Line 1806 of yacc.c */ 8872 #line 268 7"parser.yy"8868 #line 2681 "parser.yy" 8873 8869 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8874 8870 break; … … 8877 8873 8878 8874 /* Line 1806 of yacc.c */ 8875 #line 2691 "parser.yy" 8876 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8877 break; 8878 8879 case 707: 8880 8881 /* Line 1806 of yacc.c */ 8882 #line 2693 "parser.yy" 8883 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8884 break; 8885 8886 case 708: 8887 8888 /* Line 1806 of yacc.c */ 8889 #line 2695 "parser.yy" 8890 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8891 break; 8892 8893 case 709: 8894 8895 /* Line 1806 of yacc.c */ 8879 8896 #line 2697 "parser.yy" 8897 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8898 break; 8899 8900 case 710: 8901 8902 /* Line 1806 of yacc.c */ 8903 #line 2699 "parser.yy" 8880 8904 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8881 8905 break; 8882 8906 8883 case 7 07:8884 8885 /* Line 1806 of yacc.c */ 8886 #line 2 699"parser.yy"8907 case 711: 8908 8909 /* Line 1806 of yacc.c */ 8910 #line 2701 "parser.yy" 8887 8911 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8888 8912 break; 8889 8913 8890 case 708:8891 8892 /* Line 1806 of yacc.c */8893 #line 2701 "parser.yy"8894 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8895 break;8896 8897 case 709:8898 8899 /* Line 1806 of yacc.c */8900 #line 2703 "parser.yy"8901 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8902 break;8903 8904 case 710:8905 8906 /* Line 1806 of yacc.c */8907 #line 2705 "parser.yy"8908 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8909 break;8910 8911 case 711:8912 8913 /* Line 1806 of yacc.c */8914 #line 2707 "parser.yy"8915 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8916 break;8917 8918 8914 case 712: 8919 8915 8920 8916 /* Line 1806 of yacc.c */ 8917 #line 2708 "parser.yy" 8918 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8919 break; 8920 8921 case 713: 8922 8923 /* Line 1806 of yacc.c */ 8924 #line 2710 "parser.yy" 8925 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8926 break; 8927 8928 case 714: 8929 8930 /* Line 1806 of yacc.c */ 8931 #line 2712 "parser.yy" 8932 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8933 break; 8934 8935 case 715: 8936 8937 /* Line 1806 of yacc.c */ 8921 8938 #line 2714 "parser.yy" 8922 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false) ); }8923 break; 8924 8925 case 71 3:8939 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8940 break; 8941 8942 case 716: 8926 8943 8927 8944 /* Line 1806 of yacc.c */ … … 8930 8947 break; 8931 8948 8932 case 71 4:8949 case 717: 8933 8950 8934 8951 /* Line 1806 of yacc.c */ 8935 8952 #line 2718 "parser.yy" 8953 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8954 break; 8955 8956 case 718: 8957 8958 /* Line 1806 of yacc.c */ 8959 #line 2720 "parser.yy" 8960 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8961 break; 8962 8963 case 719: 8964 8965 /* Line 1806 of yacc.c */ 8966 #line 2722 "parser.yy" 8936 8967 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8937 8968 break; 8938 8969 8939 case 7 15:8940 8941 /* Line 1806 of yacc.c */ 8942 #line 272 0"parser.yy"8970 case 720: 8971 8972 /* Line 1806 of yacc.c */ 8973 #line 2724 "parser.yy" 8943 8974 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8944 8975 break; 8945 8976 8946 case 716: 8947 8948 /* Line 1806 of yacc.c */ 8949 #line 2722 "parser.yy" 8950 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8951 break; 8952 8953 case 717: 8954 8955 /* Line 1806 of yacc.c */ 8956 #line 2724 "parser.yy" 8957 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8958 break; 8959 8960 case 718: 8977 case 721: 8961 8978 8962 8979 /* Line 1806 of yacc.c */ … … 8965 8982 break; 8966 8983 8967 case 719: 8968 8969 /* Line 1806 of yacc.c */ 8970 #line 2728 "parser.yy" 8984 case 722: 8985 8986 /* Line 1806 of yacc.c */ 8987 #line 2731 "parser.yy" 8988 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8989 break; 8990 8991 case 723: 8992 8993 /* Line 1806 of yacc.c */ 8994 #line 2733 "parser.yy" 8995 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8996 break; 8997 8998 case 724: 8999 9000 /* Line 1806 of yacc.c */ 9001 #line 2738 "parser.yy" 9002 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9003 break; 9004 9005 case 725: 9006 9007 /* Line 1806 of yacc.c */ 9008 #line 2740 "parser.yy" 9009 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9010 break; 9011 9012 case 727: 9013 9014 /* Line 1806 of yacc.c */ 9015 #line 2767 "parser.yy" 9016 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9017 break; 9018 9019 case 731: 9020 9021 /* Line 1806 of yacc.c */ 9022 #line 2778 "parser.yy" 9023 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9024 break; 9025 9026 case 732: 9027 9028 /* Line 1806 of yacc.c */ 9029 #line 2780 "parser.yy" 9030 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9031 break; 9032 9033 case 733: 9034 9035 /* Line 1806 of yacc.c */ 9036 #line 2782 "parser.yy" 9037 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9038 break; 9039 9040 case 734: 9041 9042 /* Line 1806 of yacc.c */ 9043 #line 2784 "parser.yy" 9044 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9045 break; 9046 9047 case 735: 9048 9049 /* Line 1806 of yacc.c */ 9050 #line 2786 "parser.yy" 9051 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9052 break; 9053 9054 case 736: 9055 9056 /* Line 1806 of yacc.c */ 9057 #line 2788 "parser.yy" 9058 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9059 break; 9060 9061 case 737: 9062 9063 /* Line 1806 of yacc.c */ 9064 #line 2795 "parser.yy" 9065 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9066 break; 9067 9068 case 738: 9069 9070 /* Line 1806 of yacc.c */ 9071 #line 2797 "parser.yy" 8971 9072 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8972 9073 break; 8973 9074 8974 case 720: 8975 8976 /* Line 1806 of yacc.c */ 8977 #line 2730 "parser.yy" 8978 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8979 break; 8980 8981 case 721: 8982 8983 /* Line 1806 of yacc.c */ 8984 #line 2732 "parser.yy" 9075 case 739: 9076 9077 /* Line 1806 of yacc.c */ 9078 #line 2799 "parser.yy" 8985 9079 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8986 9080 break; 8987 9081 8988 case 722: 8989 8990 /* Line 1806 of yacc.c */ 8991 #line 2737 "parser.yy" 8992 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8993 break; 8994 8995 case 723: 8996 8997 /* Line 1806 of yacc.c */ 8998 #line 2739 "parser.yy" 8999 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9000 break; 9001 9002 case 724: 9003 9004 /* Line 1806 of yacc.c */ 9005 #line 2744 "parser.yy" 9006 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9007 break; 9008 9009 case 725: 9010 9011 /* Line 1806 of yacc.c */ 9012 #line 2746 "parser.yy" 9013 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9014 break; 9015 9016 case 727: 9017 9018 /* Line 1806 of yacc.c */ 9019 #line 2773 "parser.yy" 9020 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9021 break; 9022 9023 case 731: 9024 9025 /* Line 1806 of yacc.c */ 9026 #line 2784 "parser.yy" 9027 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9028 break; 9029 9030 case 732: 9031 9032 /* Line 1806 of yacc.c */ 9033 #line 2786 "parser.yy" 9034 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9035 break; 9036 9037 case 733: 9038 9039 /* Line 1806 of yacc.c */ 9040 #line 2788 "parser.yy" 9041 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9042 break; 9043 9044 case 734: 9045 9046 /* Line 1806 of yacc.c */ 9047 #line 2790 "parser.yy" 9048 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9049 break; 9050 9051 case 735: 9052 9053 /* Line 1806 of yacc.c */ 9054 #line 2792 "parser.yy" 9055 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9056 break; 9057 9058 case 736: 9059 9060 /* Line 1806 of yacc.c */ 9061 #line 2794 "parser.yy" 9062 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9063 break; 9064 9065 case 737: 9082 case 740: 9066 9083 9067 9084 /* Line 1806 of yacc.c */ … … 9070 9087 break; 9071 9088 9072 case 7 38:9089 case 741: 9073 9090 9074 9091 /* Line 1806 of yacc.c */ … … 9077 9094 break; 9078 9095 9079 case 7 39:9096 case 742: 9080 9097 9081 9098 /* Line 1806 of yacc.c */ … … 9084 9101 break; 9085 9102 9086 case 740:9087 9088 /* Line 1806 of yacc.c */9089 #line 2807 "parser.yy"9090 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }9091 break;9092 9093 case 741:9094 9095 /* Line 1806 of yacc.c */9096 #line 2809 "parser.yy"9097 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }9098 break;9099 9100 case 742:9101 9102 /* Line 1806 of yacc.c */9103 #line 2811 "parser.yy"9104 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9105 break;9106 9107 9103 case 743: 9108 9104 9109 9105 /* Line 1806 of yacc.c */ 9110 #line 281 6"parser.yy"9106 #line 2810 "parser.yy" 9111 9107 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9112 9108 break; … … 9115 9111 9116 9112 /* Line 1806 of yacc.c */ 9117 #line 28 21"parser.yy"9113 #line 2815 "parser.yy" 9118 9114 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9119 9115 break; … … 9122 9118 9123 9119 /* Line 1806 of yacc.c */ 9124 #line 28 23"parser.yy"9120 #line 2817 "parser.yy" 9125 9121 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9126 9122 break; … … 9129 9125 9130 9126 /* Line 1806 of yacc.c */ 9131 #line 28 25"parser.yy"9127 #line 2819 "parser.yy" 9132 9128 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9133 9129 break; … … 9136 9132 9137 9133 /* Line 1806 of yacc.c */ 9138 #line 284 9"parser.yy"9134 #line 2843 "parser.yy" 9139 9135 { (yyval.en) = 0; } 9140 9136 break; … … 9143 9139 9144 9140 /* Line 1806 of yacc.c */ 9145 #line 28 51"parser.yy"9141 #line 2845 "parser.yy" 9146 9142 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9147 9143 break; … … 9150 9146 9151 9147 /* Line 1806 of yacc.c */ 9152 #line 91 53"Parser/parser.cc"9148 #line 9149 "Parser/parser.cc" 9153 9149 default: break; 9154 9150 } … … 9381 9377 9382 9378 /* Line 2067 of yacc.c */ 9383 #line 28 54"parser.yy"9379 #line 2848 "parser.yy" 9384 9380 9385 9381 // ----end of grammar----
Note: See TracChangeset
for help on using the changeset viewer.