Changes in / [dac593fd:71b5d4d3]
- Files:
-
- 1 added
- 7 edited
-
Jenkins/FullBuild (modified) (1 diff)
-
src/Parser/ParseNode.h (modified) (4 diffs)
-
src/Parser/StatementNode.cc (modified) (9 diffs)
-
src/Parser/parser.cc (modified) (434 diffs)
-
src/Parser/parser.yy (modified) (6 diffs)
-
src/libcfa/Makefile.am (modified) (2 diffs)
-
src/libcfa/Makefile.in (modified) (8 diffs)
-
src/tests/.expect/libcfa_vector.txt (added)
Legend:
- Unmodified
- Added
- Removed
-
Jenkins/FullBuild
rdac593fd r71b5d4d3 18 18 19 19 echo(result.result) 20 21 20 if(result.result != 'SUCCESS') { 22 21 sh("wget -q -O - ${result.absoluteUrl}/consoleText") 23 error(result.result)24 22 } 25 23 } -
src/Parser/ParseNode.h
rdac593fd r71b5d4d3 10 10 // Created On : Sat May 16 13:28:16 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 11 12:24:11201613 // Update Count : 4 4312 // Last Modified On : Wed Aug 10 21:51:49 2016 13 // Update Count : 437 14 14 // 15 15 … … 363 363 // StatementNode *add_controlexp( ExpressionNode * ); 364 364 StatementNode *append_block( StatementNode * ); 365 virtualStatementNode *append_last_case( StatementNode * );365 StatementNode *append_last_case( StatementNode * ); 366 366 367 367 void print( std::ostream &os, int indent = 0) const; … … 392 392 return this; 393 393 } 394 virtual StatementNode *append_last_case( StatementNode * );395 394 virtual std::list<std::string> get_labels() const { assert( false ); return StatementNode::get_labels(); } 396 395 … … 412 411 }; 413 412 414 Statement *build_expr( ExpressionNode *ctl );415 413 Statement *build_if( ExpressionNode *ctl, StatementNode *then_stmt, StatementNode *else_stmt ); 416 414 Statement *build_switch( ExpressionNode *ctl, StatementNode *stmt ); 417 Statement *build_case( ExpressionNode *ctl );418 Statement *build_default();419 415 Statement *build_while( ExpressionNode *ctl, StatementNode *stmt, bool kind = false ); 420 416 Statement *build_for( ForCtl *forctl, StatementNode *stmt ); 421 417 Statement *build_branch( std::string identifier, BranchStmt::Type kind ); 422 Statement *build_computedgoto( ExpressionNode *ctl ); 423 Statement *build_return( ExpressionNode *ctl ); 424 Statement *build_throw( ExpressionNode *ctl ); 418 Statement *build_case( ExpressionNode *ctl ); 419 Statement *build_default(); 425 420 426 421 //############################################################################## -
src/Parser/StatementNode.cc
rdac593fd r71b5d4d3 10 10 // Created On : Sat May 16 14:59:41 2015 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 11 16:19:45201613 // Update Count : 21012 // Last Modified On : Wed Aug 10 22:08:38 2016 13 // Update Count : 173 14 14 // 15 15 … … 118 118 119 119 StatementNode *StatementNode::append_last_case( StatementNode *stmt ) { 120 assert( false );121 120 if ( stmt != 0 ) { 122 121 StatementNode *next = ( StatementNode *)get_link(); 123 122 if ( next && ( next->get_type() == StatementNode::Case || next->get_type() == StatementNode::Default ) ) 124 next->append_last_case ( stmt );123 next->append_last_case ( stmt ); 125 124 else 126 125 if ( block == 0 ) … … 129 128 block->set_link( stmt ); 130 129 } // if 131 return this;132 }133 134 StatementNode *StatementNode2::append_last_case( StatementNode *stmt ) {135 StatementNode *prev = this;136 for ( StatementNode * curr = prev; curr != nullptr; curr = (StatementNode *)curr->get_link() ) {137 StatementNode2 *node = dynamic_cast<StatementNode2 *>(curr);138 assert( node );139 assert( dynamic_cast<CaseStmt *>(node->stmt) );140 prev = curr;141 } // for142 StatementNode2 *node = dynamic_cast<StatementNode2 *>(prev);143 std::list<Statement *> stmts;144 buildList( stmt, stmts );145 CaseStmt * caseStmt;146 caseStmt = dynamic_cast<CaseStmt *>(node->stmt);147 caseStmt->get_statements().splice( caseStmt->get_statements().end(), stmts );148 130 return this; 149 131 } … … 223 205 return new NullStmt( labs ); 224 206 } 225 assert( false );226 207 case If: 227 208 // { … … 239 220 assert( false ); 240 221 case Switch: 241 // return new SwitchStmt( labs, maybeBuild<Expression>(get_control()), branches );222 //return new SwitchStmt( labs, maybeBuild<Expression>(get_control()), branches ); 242 223 assert( false ); 243 224 case Case: 244 //return new CaseStmt( labs, maybeBuild<Expression>(get_control() ), branches );225 return new CaseStmt( labs, maybeBuild<Expression>(get_control() ), branches ); 245 226 assert( false ); 246 227 case Default: 247 //return new CaseStmt( labs, 0, branches, true );228 return new CaseStmt( labs, 0, branches, true ); 248 229 assert( false ); 249 230 case While: … … 279 260 assert( false ); 280 261 case Goto: 281 // { 282 // if ( get_target() == "" ) { // computed goto 283 // assert( get_control() != 0 ); 284 // return new BranchStmt( labs, maybeBuild<Expression>(get_control()), BranchStmt::Goto ); 285 // } // if 286 287 // return new BranchStmt( labs, get_target(), BranchStmt::Goto ); 288 // } 289 assert( false ); 262 { 263 if ( get_target() == "" ) { // computed goto 264 assert( get_control() != 0 ); 265 return new BranchStmt( labs, maybeBuild<Expression>(get_control()), BranchStmt::Goto ); 266 } // if 267 268 return new BranchStmt( labs, get_target(), BranchStmt::Goto ); 269 } 290 270 case Break: 291 //return new BranchStmt( labs, get_target(), BranchStmt::Break );271 return new BranchStmt( labs, get_target(), BranchStmt::Break ); 292 272 assert( false ); 293 273 case Continue: 294 //return new BranchStmt( labs, get_target(), BranchStmt::Continue );274 return new BranchStmt( labs, get_target(), BranchStmt::Continue ); 295 275 assert( false ); 296 276 case Return: 297 277 case Throw : 298 // buildList( get_control(), exps ); 299 // if ( exps.size() ==0 ) 300 // return new ReturnStmt( labs, 0, type == Throw ); 301 // if ( exps.size() > 0 ) 302 // return new ReturnStmt( labs, exps.back(), type == Throw ); 303 assert( false ); 278 buildList( get_control(), exps ); 279 if ( exps.size() ==0 ) 280 return new ReturnStmt( labs, 0, type == Throw ); 281 if ( exps.size() > 0 ) 282 return new ReturnStmt( labs, exps.back(), type == Throw ); 304 283 case Try: 305 284 { … … 335 314 } 336 315 337 Statement *build_expr( ExpressionNode *ctl ) {338 Expression *e = maybeBuild< Expression >( ctl );339 340 if ( e )341 return new ExprStmt( noLabels, e );342 else343 return new NullStmt( noLabels );344 }345 346 316 Statement *build_if( ExpressionNode *ctl, StatementNode *then_stmt, StatementNode *else_stmt ) { 347 317 Statement *thenb, *elseb = 0; … … 368 338 Statement *build_case( ExpressionNode *ctl ) { 369 339 std::list<Statement *> branches; 340 buildList<Statement, StatementNode>( nullptr, branches ); 370 341 return new CaseStmt( noLabels, maybeBuild<Expression>(ctl), branches ); 371 342 } … … 406 377 Statement *build_branch( std::string identifier, BranchStmt::Type kind ) { 407 378 return new BranchStmt( noLabels, identifier, kind ); 408 }409 Statement *build_computedgoto( ExpressionNode *ctl ) {410 return new BranchStmt( noLabels, maybeBuild<Expression>(ctl), BranchStmt::Goto );411 }412 413 Statement *build_return( ExpressionNode *ctl ) {414 std::list<Expression *> exps;415 buildList( ctl, exps );416 return new ReturnStmt( noLabels, exps.size() > 0 ? exps.back() : nullptr );417 }418 Statement *build_throw( ExpressionNode *ctl ) {419 std::list<Expression *> exps;420 buildList( ctl, exps );421 return new ReturnStmt( noLabels, exps.size() > 0 ? exps.back() : nullptr, true );422 379 } 423 380 -
src/Parser/parser.cc
rdac593fd r71b5d4d3 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 89 1, 893, 898, 900, 902, 904, 909, 922, 923, 928,1043 93 0, 935, 939, 941, 943, 945, 947, 953, 954, 960,1044 96 1, 965, 966, 971, 973, 979, 980, 982, 987, 989,1045 996, 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 119 1, 1196, 1201, 1206, 1211, 1220, 1225, 1233, 1234, 1235,1050 12 36, 1242, 1247, 1255, 1256, 1257, 1258, 1262, 1263, 1264,1051 12 65, 1270, 1271, 1280, 1281, 1286, 1287, 1292, 1294, 1296,1052 1 298, 1300, 1303, 1302, 1314, 1315, 1317, 1327, 1328, 1333,1053 13 37, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1356, 1358,1054 136 0, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1376, 1378,1055 138 0, 1386, 1387, 1389, 1391, 1393, 1398, 1399, 1405, 1406,1056 14 08, 1410, 1415, 1417, 1419, 1421, 1426, 1427, 1429, 1431,1057 14 36, 1437, 1439, 1444, 1445, 1447, 1449, 1454, 1456, 1458,1058 14 63, 1464, 1468, 1470, 1476, 1475, 1479, 1481, 1486, 1488,1059 1 494, 1495, 1500, 1501, 1503, 1504, 1513, 1514, 1516, 1518,1060 15 23, 1525, 1531, 1532, 1534, 1537, 1540, 1545, 1546, 1551,1061 15 56, 1560, 1562, 1568, 1567, 1574, 1576, 1582, 1583, 1591,1062 1 592, 1596, 1597, 1598, 1600, 1602, 1609, 1610, 1612, 1614,1063 16 19, 1620, 1626, 1627, 1631, 1632, 1637, 1638, 1639, 1641,1064 16 49, 1650, 1652, 1655, 1657, 1661, 1662, 1663, 1665, 1667,1065 167 1, 1676, 1684, 1685, 1694, 1696, 1701, 1702, 1703, 1707,1066 17 08, 1709, 1713, 1714, 1715, 1719, 1720, 1721, 1726, 1727,1067 17 28, 1729, 1735, 1736, 1738, 1743, 1744, 1749, 1750, 1751,1068 17 52, 1753, 1768, 1769, 1774, 1775, 1781, 1783, 1786, 1788,1069 179 0, 1813, 1814, 1816, 1818, 1823, 1824, 1826, 1831, 1836,1070 18 37, 1843, 1842, 1846, 1850, 1852, 1854, 1860, 1861, 1866,1071 187 1, 1873, 1878, 1880, 1881, 1883, 1888, 1890, 1892, 1897,1072 1 899, 1904, 1909, 1917, 1923, 1922, 1936, 1937, 1942, 1943,1073 19 47, 1952, 1957, 1965, 1970, 1981, 1982, 1993, 1994, 2000,1074 200 1, 2005, 2006, 2007, 2010, 2009, 2020, 2029, 2035, 2041,1075 205 0, 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 2 195, 2196, 2198, 2203, 2208, 2213, 2215, 2217, 2222, 2224,1079 22 26, 2228, 2233, 2235, 2244, 2246, 2247, 2252, 2254, 2256,1080 226 1, 2263, 2265, 2270, 2272, 2274, 2283, 2284, 2285, 2289,1081 229 1, 2293, 2298, 2300, 2302, 2307, 2309, 2311, 2326, 2328,1082 23 29, 2331, 2336, 2337, 2342, 2344, 2346, 2351, 2353, 2355,1083 23 57, 2362, 2364, 2366, 2376, 2378, 2379, 2381, 2386, 2388,1084 239 0, 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 25 18, 2520, 2522, 2527, 2529, 2531, 2537, 2539, 2541, 2545,1088 25 47, 2549, 2551, 2565, 2566, 2568, 2573, 2575, 2577, 2579,1089 258 1, 2586, 2587, 2589, 2591, 2596, 2598, 2600, 2606, 2607,1090 26 09, 2618, 2621, 2623, 2626, 2628, 2630, 2643, 2644, 2646,1091 265 1, 2653, 2655, 2657, 2659, 2664, 2665, 2667, 2669, 2674,1092 26 76, 2684, 2685, 2686, 2691, 2692, 2696, 2698, 2700, 2702,1093 27 04, 2706, 2713, 2715, 2717, 2719, 2721, 2723, 2725, 2727,1094 27 29, 2731, 2736, 2738, 2740, 2745, 2771, 2772, 2774, 2778,1095 27 79, 2783, 2785, 2787, 2789, 2791, 2793, 2800, 2802, 2804,1096 28 06, 2808, 2810, 2815, 2820, 2822, 2824, 2842, 2844, 2849,1097 285 01037 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, 843, 847, 851, 856, 860, 1041 865, 867, 871, 873, 880, 882, 884, 893, 895, 897, 1042 899, 901, 906, 908, 910, 912, 917, 930, 931, 936, 1043 938, 943, 947, 949, 951, 953, 955, 961, 962, 968, 1044 969, 973, 974, 979, 981, 987, 988, 990, 995, 997, 1045 1004, 1006, 1010, 1011, 1016, 1018, 1022, 1023, 1027, 1029, 1046 1033, 1034, 1038, 1039, 1043, 1044, 1059, 1060, 1061, 1062, 1047 1063, 1067, 1072, 1079, 1089, 1094, 1099, 1107, 1112, 1117, 1048 1122, 1127, 1135, 1157, 1162, 1169, 1171, 1178, 1183, 1188, 1049 1199, 1204, 1209, 1214, 1219, 1228, 1233, 1241, 1242, 1243, 1050 1244, 1250, 1255, 1263, 1264, 1265, 1266, 1270, 1271, 1272, 1051 1273, 1278, 1279, 1288, 1289, 1294, 1295, 1300, 1302, 1304, 1052 1306, 1308, 1311, 1310, 1322, 1323, 1325, 1335, 1336, 1341, 1053 1345, 1347, 1349, 1351, 1353, 1355, 1357, 1359, 1364, 1366, 1054 1368, 1370, 1372, 1374, 1376, 1378, 1380, 1382, 1384, 1386, 1055 1388, 1394, 1395, 1397, 1399, 1401, 1406, 1407, 1413, 1414, 1056 1416, 1418, 1423, 1425, 1427, 1429, 1434, 1435, 1437, 1439, 1057 1444, 1445, 1447, 1452, 1453, 1455, 1457, 1462, 1464, 1466, 1058 1471, 1472, 1476, 1478, 1484, 1483, 1487, 1489, 1494, 1496, 1059 1502, 1503, 1508, 1509, 1511, 1512, 1521, 1522, 1524, 1526, 1060 1531, 1533, 1539, 1540, 1542, 1545, 1548, 1553, 1554, 1559, 1061 1564, 1568, 1570, 1576, 1575, 1582, 1584, 1590, 1591, 1599, 1062 1600, 1604, 1605, 1606, 1608, 1610, 1617, 1618, 1620, 1622, 1063 1627, 1628, 1634, 1635, 1639, 1640, 1645, 1646, 1647, 1649, 1064 1657, 1658, 1660, 1663, 1665, 1669, 1670, 1671, 1673, 1675, 1065 1679, 1684, 1692, 1693, 1702, 1704, 1709, 1710, 1711, 1715, 1066 1716, 1717, 1721, 1722, 1723, 1727, 1728, 1729, 1734, 1735, 1067 1736, 1737, 1743, 1744, 1746, 1751, 1752, 1757, 1758, 1759, 1068 1760, 1761, 1776, 1777, 1782, 1783, 1789, 1791, 1794, 1796, 1069 1798, 1821, 1822, 1824, 1826, 1831, 1832, 1834, 1839, 1844, 1070 1845, 1851, 1850, 1854, 1858, 1860, 1862, 1868, 1869, 1874, 1071 1879, 1881, 1886, 1888, 1889, 1891, 1896, 1898, 1900, 1905, 1072 1907, 1912, 1917, 1925, 1931, 1930, 1944, 1945, 1950, 1951, 1073 1955, 1960, 1965, 1973, 1978, 1989, 1990, 2001, 2002, 2008, 1074 2009, 2013, 2014, 2015, 2018, 2017, 2028, 2037, 2043, 2049, 1075 2058, 2064, 2070, 2076, 2082, 2090, 2096, 2104, 2110, 2119, 1076 2120, 2121, 2125, 2129, 2131, 2136, 2137, 2141, 2142, 2147, 1077 2153, 2154, 2157, 2159, 2160, 2164, 2165, 2166, 2167, 2201, 1078 2203, 2204, 2206, 2211, 2216, 2221, 2223, 2225, 2230, 2232, 1079 2234, 2236, 2241, 2243, 2252, 2254, 2255, 2260, 2262, 2264, 1080 2269, 2271, 2273, 2278, 2280, 2282, 2291, 2292, 2293, 2297, 1081 2299, 2301, 2306, 2308, 2310, 2315, 2317, 2319, 2334, 2336, 1082 2337, 2339, 2344, 2345, 2350, 2352, 2354, 2359, 2361, 2363, 1083 2365, 2370, 2372, 2374, 2384, 2386, 2387, 2389, 2394, 2396, 1084 2398, 2403, 2405, 2407, 2409, 2414, 2416, 2418, 2449, 2451, 1085 2452, 2454, 2459, 2464, 2472, 2474, 2476, 2481, 2483, 2488, 1086 2490, 2504, 2505, 2507, 2512, 2514, 2516, 2518, 2520, 2525, 1087 2526, 2528, 2530, 2535, 2537, 2539, 2545, 2547, 2549, 2553, 1088 2555, 2557, 2559, 2573, 2574, 2576, 2581, 2583, 2585, 2587, 1089 2589, 2594, 2595, 2597, 2599, 2604, 2606, 2608, 2614, 2615, 1090 2617, 2626, 2629, 2631, 2634, 2636, 2638, 2651, 2652, 2654, 1091 2659, 2661, 2663, 2665, 2667, 2672, 2673, 2675, 2677, 2682, 1092 2684, 2692, 2693, 2694, 2699, 2700, 2704, 2706, 2708, 2710, 1093 2712, 2714, 2721, 2723, 2725, 2727, 2729, 2731, 2733, 2735, 1094 2737, 2739, 2744, 2746, 2748, 2753, 2779, 2780, 2782, 2786, 1095 2787, 2791, 2793, 2795, 2797, 2799, 2801, 2808, 2810, 2812, 1096 2814, 2816, 2818, 2823, 2828, 2830, 2832, 2850, 2852, 2857, 1097 2858 1098 1098 }; 1099 1099 #endif … … 5638 5638 Token fn; 5639 5639 fn.str = new std::string( "^?{}" ); // location undefined 5640 (yyval.sn) = new StatementNode 2( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_link( (yyvsp[(4) - (6)].en) ) ) ) ));5640 (yyval.sn) = new StatementNode( StatementNode::Exp, new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_link( (yyvsp[(4) - (6)].en) ) ) ), 0 ); 5641 5641 } 5642 5642 break; … … 5708 5708 /* Line 1806 of yacc.c */ 5709 5709 #line 719 "parser.yy" 5710 { (yyval.sn) = new StatementNode 2( build_expr( (yyvsp[(1) - (2)].en) )); }5710 { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); } 5711 5711 break; 5712 5712 … … 5781 5781 5782 5782 /* Line 1806 of yacc.c */ 5783 #line 76 1"parser.yy"5784 { (yyval.sn) = new StatementNode 2( build_case( (yyvsp[(1) - (1)].en) )); }5783 #line 760 "parser.yy" 5784 { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); } 5785 5785 break; 5786 5786 … … 5788 5788 5789 5789 /* Line 1806 of yacc.c */ 5790 #line 76 3"parser.yy"5791 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode 2( build_case( (yyvsp[(3) - (3)].en) )) ) ); }5790 #line 762 "parser.yy" 5791 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); } 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 { (yyval.sn) = new StatementNode2( build_default() ); } 5805 { (yyval.sn) = new StatementNode( StatementNode::Default ); } 5806 5806 break; 5807 5807 … … 5809 5809 5810 5810 /* Line 1806 of yacc.c */ 5811 #line 77 4"parser.yy"5811 #line 773 "parser.yy" 5812 5812 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); } 5813 5813 break; … … 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"5839 #line 790 "parser.yy" 5840 5840 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5841 5841 break; … … 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"5867 #line 805 "parser.yy" 5868 5868 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5869 5869 break; … … 5872 5872 5873 5873 /* Line 1806 of yacc.c */ 5874 #line 80 8"parser.yy"5874 #line 807 "parser.yy" 5875 5875 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5876 5876 break; … … 5879 5879 5880 5880 /* Line 1806 of yacc.c */ 5881 #line 81 3"parser.yy"5882 { (yyval.sn) = new StatementNode 2( build_branch( "", BranchStmt::Break )); }5881 #line 812 "parser.yy" 5882 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 5883 5883 break; 5884 5884 … … 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; … … 5943 5943 /* Line 1806 of yacc.c */ 5944 5944 #line 846 "parser.yy" 5945 { (yyval.sn) = new StatementNode 2( build_computedgoto( (yyvsp[(3) - (4)].en)) ); }5945 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); } 5946 5946 break; 5947 5947 … … 5949 5949 5950 5950 /* Line 1806 of yacc.c */ 5951 #line 8 49"parser.yy"5951 #line 850 "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 855 "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 859 "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 86 0"parser.yy"5972 #line 864 "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"5980 { (yyval.sn) = new StatementNode 2( build_return( (yyvsp[(2) - (3)].en) )); }5979 #line 866 "parser.yy" 5980 { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); } 5981 5981 break; 5982 5982 … … 5984 5984 5985 5985 /* Line 1806 of yacc.c */ 5986 #line 86 4"parser.yy"5987 { (yyval.sn) = new StatementNode 2( build_throw( (yyvsp[(2) - (3)].en) )); }5986 #line 868 "parser.yy" 5987 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 5988 5988 break; 5989 5989 … … 5991 5991 5992 5992 /* Line 1806 of yacc.c */ 5993 #line 8 66"parser.yy"5994 { (yyval.sn) = new StatementNode 2( build_throw( (yyvsp[(2) - (3)].en) )); }5993 #line 872 "parser.yy" 5994 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 5995 5995 break; 5996 5996 … … 5998 5998 5999 5999 /* Line 1806 of yacc.c */ 6000 #line 8 68"parser.yy"6001 { (yyval.sn) = new StatementNode 2( build_throw( (yyvsp[(2) - (5)].en) )); }6000 #line 874 "parser.yy" 6001 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); } 6002 6002 break; 6003 6003 … … 6005 6005 6006 6006 /* Line 1806 of yacc.c */ 6007 #line 8 73"parser.yy"6007 #line 881 "parser.yy" 6008 6008 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6009 6009 break; … … 6012 6012 6013 6013 /* Line 1806 of yacc.c */ 6014 #line 8 75"parser.yy"6014 #line 883 "parser.yy" 6015 6015 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6016 6016 break; … … 6019 6019 6020 6020 /* Line 1806 of yacc.c */ 6021 #line 8 77"parser.yy"6021 #line 885 "parser.yy" 6022 6022 { 6023 6023 (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) ); … … 6029 6029 6030 6030 /* Line 1806 of yacc.c */ 6031 #line 8 88"parser.yy"6031 #line 896 "parser.yy" 6032 6032 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6033 6033 break; … … 6036 6036 6037 6037 /* Line 1806 of yacc.c */ 6038 #line 89 0"parser.yy"6038 #line 898 "parser.yy" 6039 6039 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6040 6040 break; … … 6043 6043 6044 6044 /* Line 1806 of yacc.c */ 6045 #line 892"parser.yy"6045 #line 900 "parser.yy" 6046 6046 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6047 6047 break; … … 6050 6050 6051 6051 /* Line 1806 of yacc.c */ 6052 #line 894"parser.yy"6052 #line 902 "parser.yy" 6053 6053 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6054 6054 break; … … 6057 6057 6058 6058 /* Line 1806 of yacc.c */ 6059 #line 899"parser.yy"6059 #line 907 "parser.yy" 6060 6060 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6061 6061 break; … … 6064 6064 6065 6065 /* Line 1806 of yacc.c */ 6066 #line 90 1"parser.yy"6066 #line 909 "parser.yy" 6067 6067 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6068 6068 break; … … 6071 6071 6072 6072 /* Line 1806 of yacc.c */ 6073 #line 9 03"parser.yy"6073 #line 911 "parser.yy" 6074 6074 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6075 6075 break; … … 6078 6078 6079 6079 /* Line 1806 of yacc.c */ 6080 #line 9 05"parser.yy"6080 #line 913 "parser.yy" 6081 6081 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6082 6082 break; … … 6085 6085 6086 6086 /* Line 1806 of yacc.c */ 6087 #line 91 0"parser.yy"6087 #line 918 "parser.yy" 6088 6088 { 6089 6089 (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) ); … … 6095 6095 6096 6096 /* Line 1806 of yacc.c */ 6097 #line 9 24"parser.yy"6097 #line 932 "parser.yy" 6098 6098 { 6099 6099 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6105 6105 6106 6106 /* Line 1806 of yacc.c */ 6107 #line 9 29"parser.yy"6107 #line 937 "parser.yy" 6108 6108 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6109 6109 break; … … 6112 6112 6113 6113 /* Line 1806 of yacc.c */ 6114 #line 93 1"parser.yy"6114 #line 939 "parser.yy" 6115 6115 { 6116 6116 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6122 6122 6123 6123 /* Line 1806 of yacc.c */ 6124 #line 94 0"parser.yy"6124 #line 948 "parser.yy" 6125 6125 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); } 6126 6126 break; … … 6129 6129 6130 6130 /* Line 1806 of yacc.c */ 6131 #line 9 42"parser.yy"6131 #line 950 "parser.yy" 6132 6132 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); } 6133 6133 break; … … 6136 6136 6137 6137 /* Line 1806 of yacc.c */ 6138 #line 9 44"parser.yy"6138 #line 952 "parser.yy" 6139 6139 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); } 6140 6140 break; … … 6143 6143 6144 6144 /* Line 1806 of yacc.c */ 6145 #line 9 46"parser.yy"6145 #line 954 "parser.yy" 6146 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 6147 break; … … 6150 6150 6151 6151 /* Line 1806 of yacc.c */ 6152 #line 9 48"parser.yy"6152 #line 956 "parser.yy" 6153 6153 { (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 6154 break; … … 6157 6157 6158 6158 /* Line 1806 of yacc.c */ 6159 #line 9 53"parser.yy"6159 #line 961 "parser.yy" 6160 6160 { (yyval.flag) = false; } 6161 6161 break; … … 6164 6164 6165 6165 /* Line 1806 of yacc.c */ 6166 #line 9 55"parser.yy"6166 #line 963 "parser.yy" 6167 6167 { (yyval.flag) = true; } 6168 6168 break; … … 6171 6171 6172 6172 /* Line 1806 of yacc.c */ 6173 #line 96 0"parser.yy"6173 #line 968 "parser.yy" 6174 6174 { (yyval.en) = 0; } 6175 6175 break; … … 6178 6178 6179 6179 /* Line 1806 of yacc.c */ 6180 #line 9 67"parser.yy"6180 #line 975 "parser.yy" 6181 6181 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 6182 6182 break; … … 6185 6185 6186 6186 /* Line 1806 of yacc.c */ 6187 #line 9 72"parser.yy"6187 #line 980 "parser.yy" 6188 6188 { (yyval.en) = new ExpressionNode( build_asm( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6189 6189 break; … … 6192 6192 6193 6193 /* Line 1806 of yacc.c */ 6194 #line 9 74"parser.yy"6194 #line 982 "parser.yy" 6195 6195 { (yyval.en) = new ExpressionNode( build_asm( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6196 6196 break; … … 6199 6199 6200 6200 /* Line 1806 of yacc.c */ 6201 #line 9 79"parser.yy"6201 #line 987 "parser.yy" 6202 6202 { (yyval.en) = 0; } 6203 6203 break; … … 6206 6206 6207 6207 /* Line 1806 of yacc.c */ 6208 #line 98 1"parser.yy"6208 #line 989 "parser.yy" 6209 6209 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6210 6210 break; … … 6213 6213 6214 6214 /* Line 1806 of yacc.c */ 6215 #line 9 83"parser.yy"6215 #line 991 "parser.yy" 6216 6216 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6217 6217 break; … … 6220 6220 6221 6221 /* Line 1806 of yacc.c */ 6222 #line 9 88"parser.yy"6222 #line 996 "parser.yy" 6223 6223 { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); } 6224 6224 break; … … 6227 6227 6228 6228 /* Line 1806 of yacc.c */ 6229 #line 99 0"parser.yy"6229 #line 998 "parser.yy" 6230 6230 { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); } 6231 6231 break; … … 6234 6234 6235 6235 /* Line 1806 of yacc.c */ 6236 #line 997"parser.yy"6236 #line 1005 "parser.yy" 6237 6237 { (yyval.decl) = 0; } 6238 6238 break; … … 6241 6241 6242 6242 /* Line 1806 of yacc.c */ 6243 #line 10 04"parser.yy"6243 #line 1012 "parser.yy" 6244 6244 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6245 6245 break; … … 6248 6248 6249 6249 /* Line 1806 of yacc.c */ 6250 #line 10 09"parser.yy"6250 #line 1017 "parser.yy" 6251 6251 { (yyval.decl) = 0; } 6252 6252 break; … … 6255 6255 6256 6256 /* Line 1806 of yacc.c */ 6257 #line 10 16"parser.yy"6257 #line 1024 "parser.yy" 6258 6258 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6259 6259 break; … … 6262 6262 6263 6263 /* Line 1806 of yacc.c */ 6264 #line 103 0"parser.yy"6264 #line 1038 "parser.yy" 6265 6265 {} 6266 6266 break; … … 6269 6269 6270 6270 /* Line 1806 of yacc.c */ 6271 #line 103 1"parser.yy"6271 #line 1039 "parser.yy" 6272 6272 {} 6273 6273 break; … … 6276 6276 6277 6277 /* Line 1806 of yacc.c */ 6278 #line 106 0"parser.yy"6278 #line 1068 "parser.yy" 6279 6279 { 6280 6280 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6286 6286 6287 6287 /* Line 1806 of yacc.c */ 6288 #line 10 67"parser.yy"6288 #line 1075 "parser.yy" 6289 6289 { 6290 6290 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6296 6296 6297 6297 /* Line 1806 of yacc.c */ 6298 #line 10 72"parser.yy"6298 #line 1080 "parser.yy" 6299 6299 { 6300 6300 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6306 6306 6307 6307 /* Line 1806 of yacc.c */ 6308 #line 10 82"parser.yy"6308 #line 1090 "parser.yy" 6309 6309 { 6310 6310 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6316 6316 6317 6317 /* Line 1806 of yacc.c */ 6318 #line 10 87"parser.yy"6318 #line 1095 "parser.yy" 6319 6319 { 6320 6320 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6326 6326 6327 6327 /* Line 1806 of yacc.c */ 6328 #line 1 092"parser.yy"6328 #line 1100 "parser.yy" 6329 6329 { 6330 6330 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6336 6336 6337 6337 /* Line 1806 of yacc.c */ 6338 #line 110 0"parser.yy"6338 #line 1108 "parser.yy" 6339 6339 { 6340 6340 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6346 6346 6347 6347 /* Line 1806 of yacc.c */ 6348 #line 11 05"parser.yy"6348 #line 1113 "parser.yy" 6349 6349 { 6350 6350 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6356 6356 6357 6357 /* Line 1806 of yacc.c */ 6358 #line 111 0"parser.yy"6358 #line 1118 "parser.yy" 6359 6359 { 6360 6360 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6366 6366 6367 6367 /* Line 1806 of yacc.c */ 6368 #line 11 15"parser.yy"6368 #line 1123 "parser.yy" 6369 6369 { 6370 6370 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6376 6376 6377 6377 /* Line 1806 of yacc.c */ 6378 #line 112 0"parser.yy"6378 #line 1128 "parser.yy" 6379 6379 { 6380 6380 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6386 6386 6387 6387 /* Line 1806 of yacc.c */ 6388 #line 11 28"parser.yy"6388 #line 1136 "parser.yy" 6389 6389 { 6390 6390 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6395 6395 6396 6396 /* Line 1806 of yacc.c */ 6397 #line 115 1"parser.yy"6397 #line 1159 "parser.yy" 6398 6398 { 6399 6399 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6404 6404 6405 6405 /* Line 1806 of yacc.c */ 6406 #line 11 55"parser.yy"6406 #line 1163 "parser.yy" 6407 6407 { 6408 6408 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6413 6413 6414 6414 /* Line 1806 of yacc.c */ 6415 #line 11 62"parser.yy"6415 #line 1170 "parser.yy" 6416 6416 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6417 6417 break; … … 6420 6420 6421 6421 /* Line 1806 of yacc.c */ 6422 #line 11 66"parser.yy"6422 #line 1174 "parser.yy" 6423 6423 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6424 6424 break; … … 6427 6427 6428 6428 /* Line 1806 of yacc.c */ 6429 #line 117 1"parser.yy"6429 #line 1179 "parser.yy" 6430 6430 { 6431 6431 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6437 6437 6438 6438 /* Line 1806 of yacc.c */ 6439 #line 11 76"parser.yy"6439 #line 1184 "parser.yy" 6440 6440 { 6441 6441 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6447 6447 6448 6448 /* Line 1806 of yacc.c */ 6449 #line 118 1"parser.yy"6449 #line 1189 "parser.yy" 6450 6450 { 6451 6451 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6457 6457 6458 6458 /* Line 1806 of yacc.c */ 6459 #line 1 192"parser.yy"6459 #line 1200 "parser.yy" 6460 6460 { 6461 6461 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6467 6467 6468 6468 /* Line 1806 of yacc.c */ 6469 #line 1 197"parser.yy"6469 #line 1205 "parser.yy" 6470 6470 { 6471 6471 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6477 6477 6478 6478 /* Line 1806 of yacc.c */ 6479 #line 12 02"parser.yy"6479 #line 1210 "parser.yy" 6480 6480 { 6481 6481 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6487 6487 6488 6488 /* Line 1806 of yacc.c */ 6489 #line 12 07"parser.yy"6489 #line 1215 "parser.yy" 6490 6490 { 6491 6491 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6497 6497 6498 6498 /* Line 1806 of yacc.c */ 6499 #line 12 12"parser.yy"6499 #line 1220 "parser.yy" 6500 6500 { 6501 6501 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6507 6507 6508 6508 /* Line 1806 of yacc.c */ 6509 #line 122 1"parser.yy"6509 #line 1229 "parser.yy" 6510 6510 { 6511 6511 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6517 6517 6518 6518 /* Line 1806 of yacc.c */ 6519 #line 12 26"parser.yy"6519 #line 1234 "parser.yy" 6520 6520 { 6521 6521 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6527 6527 6528 6528 /* Line 1806 of yacc.c */ 6529 #line 12 43"parser.yy"6529 #line 1251 "parser.yy" 6530 6530 { 6531 6531 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6537 6537 6538 6538 /* Line 1806 of yacc.c */ 6539 #line 12 48"parser.yy"6539 #line 1256 "parser.yy" 6540 6540 { 6541 6541 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6547 6547 6548 6548 /* Line 1806 of yacc.c */ 6549 #line 127 0"parser.yy"6549 #line 1278 "parser.yy" 6550 6550 { (yyval.decl) = 0; } 6551 6551 break; … … 6554 6554 6555 6555 /* Line 1806 of yacc.c */ 6556 #line 12 82"parser.yy"6556 #line 1290 "parser.yy" 6557 6557 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6558 6558 break; … … 6561 6561 6562 6562 /* Line 1806 of yacc.c */ 6563 #line 1 293"parser.yy"6563 #line 1301 "parser.yy" 6564 6564 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6565 6565 break; … … 6568 6568 6569 6569 /* Line 1806 of yacc.c */ 6570 #line 1 295"parser.yy"6570 #line 1303 "parser.yy" 6571 6571 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6572 6572 break; … … 6575 6575 6576 6576 /* Line 1806 of yacc.c */ 6577 #line 1 297"parser.yy"6577 #line 1305 "parser.yy" 6578 6578 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6579 6579 break; … … 6582 6582 6583 6583 /* Line 1806 of yacc.c */ 6584 #line 1 299"parser.yy"6584 #line 1307 "parser.yy" 6585 6585 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6586 6586 break; … … 6589 6589 6590 6590 /* Line 1806 of yacc.c */ 6591 #line 130 1"parser.yy"6591 #line 1309 "parser.yy" 6592 6592 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6593 6593 break; … … 6596 6596 6597 6597 /* Line 1806 of yacc.c */ 6598 #line 13 03"parser.yy"6598 #line 1311 "parser.yy" 6599 6599 { 6600 6600 typedefTable.enterScope(); … … 6605 6605 6606 6606 /* Line 1806 of yacc.c */ 6607 #line 13 07"parser.yy"6607 #line 1315 "parser.yy" 6608 6608 { 6609 6609 typedefTable.leaveScope(); … … 6615 6615 6616 6616 /* Line 1806 of yacc.c */ 6617 #line 13 16"parser.yy"6617 #line 1324 "parser.yy" 6618 6618 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6619 6619 break; … … 6622 6622 6623 6623 /* Line 1806 of yacc.c */ 6624 #line 13 18"parser.yy"6624 #line 1326 "parser.yy" 6625 6625 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6626 6626 break; … … 6629 6629 6630 6630 /* Line 1806 of yacc.c */ 6631 #line 13 29"parser.yy"6631 #line 1337 "parser.yy" 6632 6632 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6633 6633 break; … … 6636 6636 6637 6637 /* Line 1806 of yacc.c */ 6638 #line 13 38"parser.yy"6638 #line 1346 "parser.yy" 6639 6639 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6640 6640 break; … … 6643 6643 6644 6644 /* Line 1806 of yacc.c */ 6645 #line 134 0"parser.yy"6645 #line 1348 "parser.yy" 6646 6646 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6647 6647 break; … … 6650 6650 6651 6651 /* Line 1806 of yacc.c */ 6652 #line 13 42"parser.yy"6652 #line 1350 "parser.yy" 6653 6653 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6654 6654 break; … … 6657 6657 6658 6658 /* Line 1806 of yacc.c */ 6659 #line 13 44"parser.yy"6659 #line 1352 "parser.yy" 6660 6660 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6661 6661 break; … … 6664 6664 6665 6665 /* Line 1806 of yacc.c */ 6666 #line 13 46"parser.yy"6666 #line 1354 "parser.yy" 6667 6667 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6668 6668 break; … … 6671 6671 6672 6672 /* Line 1806 of yacc.c */ 6673 #line 13 48"parser.yy"6673 #line 1356 "parser.yy" 6674 6674 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6675 6675 break; … … 6678 6678 6679 6679 /* Line 1806 of yacc.c */ 6680 #line 135 0"parser.yy"6680 #line 1358 "parser.yy" 6681 6681 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6682 6682 break; … … 6685 6685 6686 6686 /* Line 1806 of yacc.c */ 6687 #line 13 52"parser.yy"6687 #line 1360 "parser.yy" 6688 6688 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6689 6689 break; … … 6692 6692 6693 6693 /* Line 1806 of yacc.c */ 6694 #line 13 57"parser.yy"6694 #line 1365 "parser.yy" 6695 6695 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6696 6696 break; … … 6699 6699 6700 6700 /* Line 1806 of yacc.c */ 6701 #line 13 59"parser.yy"6701 #line 1367 "parser.yy" 6702 6702 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6703 6703 break; … … 6706 6706 6707 6707 /* Line 1806 of yacc.c */ 6708 #line 136 1"parser.yy"6708 #line 1369 "parser.yy" 6709 6709 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6710 6710 break; … … 6713 6713 6714 6714 /* Line 1806 of yacc.c */ 6715 #line 13 63"parser.yy"6715 #line 1371 "parser.yy" 6716 6716 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6717 6717 break; … … 6720 6720 6721 6721 /* Line 1806 of yacc.c */ 6722 #line 13 65"parser.yy"6722 #line 1373 "parser.yy" 6723 6723 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6724 6724 break; … … 6727 6727 6728 6728 /* Line 1806 of yacc.c */ 6729 #line 13 67"parser.yy"6729 #line 1375 "parser.yy" 6730 6730 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6731 6731 break; … … 6734 6734 6735 6735 /* Line 1806 of yacc.c */ 6736 #line 13 69"parser.yy"6736 #line 1377 "parser.yy" 6737 6737 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6738 6738 break; … … 6741 6741 6742 6742 /* Line 1806 of yacc.c */ 6743 #line 137 1"parser.yy"6743 #line 1379 "parser.yy" 6744 6744 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6745 6745 break; … … 6748 6748 6749 6749 /* Line 1806 of yacc.c */ 6750 #line 13 73"parser.yy"6750 #line 1381 "parser.yy" 6751 6751 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6752 6752 break; … … 6755 6755 6756 6756 /* Line 1806 of yacc.c */ 6757 #line 13 75"parser.yy"6757 #line 1383 "parser.yy" 6758 6758 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6759 6759 break; … … 6762 6762 6763 6763 /* Line 1806 of yacc.c */ 6764 #line 13 77"parser.yy"6764 #line 1385 "parser.yy" 6765 6765 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6766 6766 break; … … 6769 6769 6770 6770 /* Line 1806 of yacc.c */ 6771 #line 13 79"parser.yy"6771 #line 1387 "parser.yy" 6772 6772 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6773 6773 break; … … 6776 6776 6777 6777 /* Line 1806 of yacc.c */ 6778 #line 138 1"parser.yy"6778 #line 1389 "parser.yy" 6779 6779 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6780 6780 break; … … 6783 6783 6784 6784 /* Line 1806 of yacc.c */ 6785 #line 13 88"parser.yy"6785 #line 1396 "parser.yy" 6786 6786 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6787 6787 break; … … 6790 6790 6791 6791 /* Line 1806 of yacc.c */ 6792 #line 139 0"parser.yy"6792 #line 1398 "parser.yy" 6793 6793 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6794 6794 break; … … 6797 6797 6798 6798 /* Line 1806 of yacc.c */ 6799 #line 1 392"parser.yy"6799 #line 1400 "parser.yy" 6800 6800 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6801 6801 break; … … 6804 6804 6805 6805 /* Line 1806 of yacc.c */ 6806 #line 1 394"parser.yy"6806 #line 1402 "parser.yy" 6807 6807 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6808 6808 break; … … 6811 6811 6812 6812 /* Line 1806 of yacc.c */ 6813 #line 140 0"parser.yy"6813 #line 1408 "parser.yy" 6814 6814 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6815 6815 break; … … 6818 6818 6819 6819 /* Line 1806 of yacc.c */ 6820 #line 14 07"parser.yy"6820 #line 1415 "parser.yy" 6821 6821 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6822 6822 break; … … 6825 6825 6826 6826 /* Line 1806 of yacc.c */ 6827 #line 14 09"parser.yy"6827 #line 1417 "parser.yy" 6828 6828 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6829 6829 break; … … 6832 6832 6833 6833 /* Line 1806 of yacc.c */ 6834 #line 141 1"parser.yy"6834 #line 1419 "parser.yy" 6835 6835 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6836 6836 break; … … 6839 6839 6840 6840 /* Line 1806 of yacc.c */ 6841 #line 14 16"parser.yy"6841 #line 1424 "parser.yy" 6842 6842 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6843 6843 break; … … 6846 6846 6847 6847 /* Line 1806 of yacc.c */ 6848 #line 14 18"parser.yy"6848 #line 1426 "parser.yy" 6849 6849 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6850 6850 break; … … 6853 6853 6854 6854 /* Line 1806 of yacc.c */ 6855 #line 142 0"parser.yy"6855 #line 1428 "parser.yy" 6856 6856 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6857 6857 break; … … 6860 6860 6861 6861 /* Line 1806 of yacc.c */ 6862 #line 14 22"parser.yy"6862 #line 1430 "parser.yy" 6863 6863 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6864 6864 break; … … 6867 6867 6868 6868 /* Line 1806 of yacc.c */ 6869 #line 14 28"parser.yy"6869 #line 1436 "parser.yy" 6870 6870 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6871 6871 break; … … 6874 6874 6875 6875 /* Line 1806 of yacc.c */ 6876 #line 143 0"parser.yy"6876 #line 1438 "parser.yy" 6877 6877 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6878 6878 break; … … 6881 6881 6882 6882 /* Line 1806 of yacc.c */ 6883 #line 14 32"parser.yy"6883 #line 1440 "parser.yy" 6884 6884 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6885 6885 break; 6886 6886 6887 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"6898 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }6899 break;6900 6901 case 354:6902 6888 6903 6889 /* Line 1806 of yacc.c */ … … 6906 6892 break; 6907 6893 6908 case 35 5:6894 case 352: 6909 6895 6910 6896 /* Line 1806 of yacc.c */ … … 6913 6899 break; 6914 6900 6901 case 354: 6902 6903 /* Line 1806 of yacc.c */ 6904 #line 1454 "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 1456 "parser.yy" 6912 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6913 break; 6914 6915 6915 case 356: 6916 6916 6917 6917 /* Line 1806 of yacc.c */ 6918 #line 145 0"parser.yy"6918 #line 1458 "parser.yy" 6919 6919 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6920 6920 break; … … 6923 6923 6924 6924 /* Line 1806 of yacc.c */ 6925 #line 14 55"parser.yy"6925 #line 1463 "parser.yy" 6926 6926 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6927 6927 break; … … 6930 6930 6931 6931 /* Line 1806 of yacc.c */ 6932 #line 14 57"parser.yy"6932 #line 1465 "parser.yy" 6933 6933 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6934 6934 break; … … 6937 6937 6938 6938 /* Line 1806 of yacc.c */ 6939 #line 14 59"parser.yy"6939 #line 1467 "parser.yy" 6940 6940 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6941 6941 break; … … 6944 6944 6945 6945 /* Line 1806 of yacc.c */ 6946 #line 14 69"parser.yy"6946 #line 1477 "parser.yy" 6947 6947 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); } 6948 6948 break; … … 6951 6951 6952 6952 /* Line 1806 of yacc.c */ 6953 #line 147 1"parser.yy"6953 #line 1479 "parser.yy" 6954 6954 { 6955 6955 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6961 6961 6962 6962 /* Line 1806 of yacc.c */ 6963 #line 14 76"parser.yy"6963 #line 1484 "parser.yy" 6964 6964 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6965 6965 break; … … 6968 6968 6969 6969 /* Line 1806 of yacc.c */ 6970 #line 14 78"parser.yy"6970 #line 1486 "parser.yy" 6971 6971 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); } 6972 6972 break; … … 6975 6975 6976 6976 /* Line 1806 of yacc.c */ 6977 #line 148 0"parser.yy"6977 #line 1488 "parser.yy" 6978 6978 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 6979 6979 break; … … 6982 6982 6983 6983 /* Line 1806 of yacc.c */ 6984 #line 14 82"parser.yy"6984 #line 1490 "parser.yy" 6985 6985 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6986 6986 break; … … 6989 6989 6990 6990 /* Line 1806 of yacc.c */ 6991 #line 14 87"parser.yy"6991 #line 1495 "parser.yy" 6992 6992 { (yyval.aggKey) = DeclarationNode::Struct; } 6993 6993 break; … … 6996 6996 6997 6997 /* Line 1806 of yacc.c */ 6998 #line 14 89"parser.yy"6998 #line 1497 "parser.yy" 6999 6999 { (yyval.aggKey) = DeclarationNode::Union; } 7000 7000 break; … … 7003 7003 7004 7004 /* Line 1806 of yacc.c */ 7005 #line 1 494"parser.yy"7005 #line 1502 "parser.yy" 7006 7006 { (yyval.decl) = 0; } 7007 7007 break; … … 7010 7010 7011 7011 /* Line 1806 of yacc.c */ 7012 #line 1 496"parser.yy"7012 #line 1504 "parser.yy" 7013 7013 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7014 7014 break; … … 7017 7017 7018 7018 /* Line 1806 of yacc.c */ 7019 #line 15 02"parser.yy"7019 #line 1510 "parser.yy" 7020 7020 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7021 7021 break; … … 7024 7024 7025 7025 /* Line 1806 of yacc.c */ 7026 #line 15 05"parser.yy"7026 #line 1513 "parser.yy" 7027 7027 { // mark all fields in list 7028 7028 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) … … 7035 7035 7036 7036 /* Line 1806 of yacc.c */ 7037 #line 15 15"parser.yy"7037 #line 1523 "parser.yy" 7038 7038 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7039 7039 break; … … 7042 7042 7043 7043 /* Line 1806 of yacc.c */ 7044 #line 15 17"parser.yy"7044 #line 1525 "parser.yy" 7045 7045 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7046 7046 break; … … 7049 7049 7050 7050 /* Line 1806 of yacc.c */ 7051 #line 15 19"parser.yy"7051 #line 1527 "parser.yy" 7052 7052 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7053 7053 break; … … 7056 7056 7057 7057 /* Line 1806 of yacc.c */ 7058 #line 15 24"parser.yy"7058 #line 1532 "parser.yy" 7059 7059 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7060 7060 break; … … 7063 7063 7064 7064 /* Line 1806 of yacc.c */ 7065 #line 15 26"parser.yy"7065 #line 1534 "parser.yy" 7066 7066 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7067 7067 break; … … 7070 7070 7071 7071 /* Line 1806 of yacc.c */ 7072 #line 153 1"parser.yy"7072 #line 1539 "parser.yy" 7073 7073 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7074 7074 break; … … 7077 7077 7078 7078 /* Line 1806 of yacc.c */ 7079 #line 15 33"parser.yy"7079 #line 1541 "parser.yy" 7080 7080 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7081 7081 break; … … 7084 7084 7085 7085 /* Line 1806 of yacc.c */ 7086 #line 15 36"parser.yy"7086 #line 1544 "parser.yy" 7087 7087 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7088 7088 break; … … 7091 7091 7092 7092 /* Line 1806 of yacc.c */ 7093 #line 15 39"parser.yy"7093 #line 1547 "parser.yy" 7094 7094 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7095 7095 break; … … 7098 7098 7099 7099 /* Line 1806 of yacc.c */ 7100 #line 15 45"parser.yy"7100 #line 1553 "parser.yy" 7101 7101 { (yyval.en) = 0; } 7102 7102 break; … … 7105 7105 7106 7106 /* Line 1806 of yacc.c */ 7107 #line 15 47"parser.yy"7107 #line 1555 "parser.yy" 7108 7108 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7109 7109 break; … … 7112 7112 7113 7113 /* Line 1806 of yacc.c */ 7114 #line 15 52"parser.yy"7114 #line 1560 "parser.yy" 7115 7115 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7116 7116 break; … … 7119 7119 7120 7120 /* Line 1806 of yacc.c */ 7121 #line 156 1"parser.yy"7121 #line 1569 "parser.yy" 7122 7122 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7123 7123 break; … … 7126 7126 7127 7127 /* Line 1806 of yacc.c */ 7128 #line 15 63"parser.yy"7128 #line 1571 "parser.yy" 7129 7129 { 7130 7130 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7136 7136 7137 7137 /* Line 1806 of yacc.c */ 7138 #line 15 68"parser.yy"7138 #line 1576 "parser.yy" 7139 7139 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7140 7140 break; … … 7143 7143 7144 7144 /* Line 1806 of yacc.c */ 7145 #line 157 0"parser.yy"7145 #line 1578 "parser.yy" 7146 7146 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7147 7147 break; … … 7150 7150 7151 7151 /* Line 1806 of yacc.c */ 7152 #line 15 75"parser.yy"7152 #line 1583 "parser.yy" 7153 7153 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7154 7154 break; … … 7157 7157 7158 7158 /* Line 1806 of yacc.c */ 7159 #line 15 77"parser.yy"7159 #line 1585 "parser.yy" 7160 7160 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7161 7161 break; … … 7164 7164 7165 7165 /* Line 1806 of yacc.c */ 7166 #line 15 82"parser.yy"7166 #line 1590 "parser.yy" 7167 7167 { (yyval.en) = 0; } 7168 7168 break; … … 7171 7171 7172 7172 /* Line 1806 of yacc.c */ 7173 #line 15 84"parser.yy"7173 #line 1592 "parser.yy" 7174 7174 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7175 7175 break; … … 7178 7178 7179 7179 /* Line 1806 of yacc.c */ 7180 #line 159 1"parser.yy"7180 #line 1599 "parser.yy" 7181 7181 { (yyval.decl) = 0; } 7182 7182 break; … … 7185 7185 7186 7186 /* Line 1806 of yacc.c */ 7187 #line 1 599"parser.yy"7187 #line 1607 "parser.yy" 7188 7188 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7189 7189 break; … … 7192 7192 7193 7193 /* Line 1806 of yacc.c */ 7194 #line 160 1"parser.yy"7194 #line 1609 "parser.yy" 7195 7195 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7196 7196 break; … … 7199 7199 7200 7200 /* Line 1806 of yacc.c */ 7201 #line 16 03"parser.yy"7201 #line 1611 "parser.yy" 7202 7202 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7203 7203 break; … … 7206 7206 7207 7207 /* Line 1806 of yacc.c */ 7208 #line 161 1"parser.yy"7208 #line 1619 "parser.yy" 7209 7209 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7210 7210 break; 7211 7211 7212 7212 case 408: 7213 7214 /* Line 1806 of yacc.c */7215 #line 1613 "parser.yy"7216 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7217 break;7218 7219 case 409:7220 7221 /* Line 1806 of yacc.c */7222 #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 7213 7228 7214 /* Line 1806 of yacc.c */ … … 7231 7217 break; 7232 7218 7219 case 409: 7220 7221 /* Line 1806 of yacc.c */ 7222 #line 1623 "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 1629 "parser.yy" 7230 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7231 break; 7232 7233 7233 case 412: 7234 7234 7235 7235 /* Line 1806 of yacc.c */ 7236 #line 16 26"parser.yy"7236 #line 1634 "parser.yy" 7237 7237 { (yyval.decl) = 0; } 7238 7238 break; … … 7241 7241 7242 7242 /* Line 1806 of yacc.c */ 7243 #line 16 33"parser.yy"7243 #line 1641 "parser.yy" 7244 7244 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7245 7245 break; … … 7248 7248 7249 7249 /* Line 1806 of yacc.c */ 7250 #line 164 0"parser.yy"7250 #line 1648 "parser.yy" 7251 7251 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7252 7252 break; … … 7255 7255 7256 7256 /* Line 1806 of yacc.c */ 7257 #line 16 42"parser.yy"7257 #line 1650 "parser.yy" 7258 7258 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7259 7259 break; … … 7262 7262 7263 7263 /* Line 1806 of yacc.c */ 7264 #line 165 1"parser.yy"7264 #line 1659 "parser.yy" 7265 7265 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7266 7266 break; … … 7269 7269 7270 7270 /* Line 1806 of yacc.c */ 7271 #line 16 54"parser.yy"7271 #line 1662 "parser.yy" 7272 7272 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7273 7273 break; … … 7276 7276 7277 7277 /* Line 1806 of yacc.c */ 7278 #line 16 56"parser.yy"7278 #line 1664 "parser.yy" 7279 7279 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7280 7280 break; … … 7283 7283 7284 7284 /* Line 1806 of yacc.c */ 7285 #line 16 66"parser.yy"7285 #line 1674 "parser.yy" 7286 7286 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7287 7287 break; … … 7290 7290 7291 7291 /* Line 1806 of yacc.c */ 7292 #line 16 72"parser.yy"7292 #line 1680 "parser.yy" 7293 7293 { 7294 7294 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7300 7300 7301 7301 /* Line 1806 of yacc.c */ 7302 #line 16 77"parser.yy"7302 #line 1685 "parser.yy" 7303 7303 { 7304 7304 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7310 7310 7311 7311 /* Line 1806 of yacc.c */ 7312 #line 16 86"parser.yy"7312 #line 1694 "parser.yy" 7313 7313 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7314 7314 break; … … 7317 7317 7318 7318 /* Line 1806 of yacc.c */ 7319 #line 1 695"parser.yy"7319 #line 1703 "parser.yy" 7320 7320 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7321 7321 break; … … 7324 7324 7325 7325 /* Line 1806 of yacc.c */ 7326 #line 1 697"parser.yy"7326 #line 1705 "parser.yy" 7327 7327 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7328 7328 break; 7329 7329 7330 7330 case 447: 7331 7332 /* Line 1806 of yacc.c */7333 #line 1722 "parser.yy"7334 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }7335 break;7336 7337 case 451:7338 7331 7339 7332 /* Line 1806 of yacc.c */ … … 7342 7335 break; 7343 7336 7337 case 451: 7338 7339 /* Line 1806 of yacc.c */ 7340 #line 1738 "parser.yy" 7341 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7342 break; 7343 7344 7344 case 452: 7345 7345 7346 7346 /* Line 1806 of yacc.c */ 7347 #line 17 35"parser.yy"7347 #line 1743 "parser.yy" 7348 7348 { (yyval.in) = 0; } 7349 7349 break; … … 7352 7352 7353 7353 /* Line 1806 of yacc.c */ 7354 #line 17 37"parser.yy"7354 #line 1745 "parser.yy" 7355 7355 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7356 7356 break; … … 7359 7359 7360 7360 /* Line 1806 of yacc.c */ 7361 #line 17 39"parser.yy"7361 #line 1747 "parser.yy" 7362 7362 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7363 7363 break; … … 7366 7366 7367 7367 /* Line 1806 of yacc.c */ 7368 #line 17 43"parser.yy"7368 #line 1751 "parser.yy" 7369 7369 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7370 7370 break; … … 7373 7373 7374 7374 /* Line 1806 of yacc.c */ 7375 #line 17 44"parser.yy"7375 #line 1752 "parser.yy" 7376 7376 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7377 7377 break; … … 7380 7380 7381 7381 /* Line 1806 of yacc.c */ 7382 #line 17 49"parser.yy"7382 #line 1757 "parser.yy" 7383 7383 { (yyval.in) = 0; } 7384 7384 break; … … 7387 7387 7388 7388 /* Line 1806 of yacc.c */ 7389 #line 175 1"parser.yy"7389 #line 1759 "parser.yy" 7390 7390 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7391 7391 break; … … 7394 7394 7395 7395 /* Line 1806 of yacc.c */ 7396 #line 17 52"parser.yy"7396 #line 1760 "parser.yy" 7397 7397 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7398 7398 break; … … 7401 7401 7402 7402 /* Line 1806 of yacc.c */ 7403 #line 17 54"parser.yy"7403 #line 1762 "parser.yy" 7404 7404 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7405 7405 break; … … 7408 7408 7409 7409 /* Line 1806 of yacc.c */ 7410 #line 177 0"parser.yy"7410 #line 1778 "parser.yy" 7411 7411 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7412 7412 break; … … 7415 7415 7416 7416 /* Line 1806 of yacc.c */ 7417 #line 17 76"parser.yy"7417 #line 1784 "parser.yy" 7418 7418 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) ) ); } 7419 7419 break; … … 7422 7422 7423 7423 /* Line 1806 of yacc.c */ 7424 #line 17 82"parser.yy"7424 #line 1790 "parser.yy" 7425 7425 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7426 7426 break; … … 7429 7429 7430 7430 /* Line 1806 of yacc.c */ 7431 #line 17 85"parser.yy"7431 #line 1793 "parser.yy" 7432 7432 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7433 7433 break; … … 7436 7436 7437 7437 /* Line 1806 of yacc.c */ 7438 #line 17 87"parser.yy"7438 #line 1795 "parser.yy" 7439 7439 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7440 7440 break; … … 7443 7443 7444 7444 /* Line 1806 of yacc.c */ 7445 #line 17 89"parser.yy"7445 #line 1797 "parser.yy" 7446 7446 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7447 7447 break; … … 7450 7450 7451 7451 /* Line 1806 of yacc.c */ 7452 #line 179 1"parser.yy"7452 #line 1799 "parser.yy" 7453 7453 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7454 7454 break; … … 7457 7457 7458 7458 /* Line 1806 of yacc.c */ 7459 #line 18 15"parser.yy"7459 #line 1823 "parser.yy" 7460 7460 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7461 7461 break; … … 7464 7464 7465 7465 /* Line 1806 of yacc.c */ 7466 #line 18 17"parser.yy"7466 #line 1825 "parser.yy" 7467 7467 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7468 7468 break; … … 7471 7471 7472 7472 /* Line 1806 of yacc.c */ 7473 #line 18 19"parser.yy"7473 #line 1827 "parser.yy" 7474 7474 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7475 7475 break; … … 7478 7478 7479 7479 /* Line 1806 of yacc.c */ 7480 #line 18 25"parser.yy"7480 #line 1833 "parser.yy" 7481 7481 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7482 7482 break; … … 7485 7485 7486 7486 /* Line 1806 of yacc.c */ 7487 #line 18 27"parser.yy"7487 #line 1835 "parser.yy" 7488 7488 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7489 7489 break; … … 7492 7492 7493 7493 /* Line 1806 of yacc.c */ 7494 #line 18 32"parser.yy"7494 #line 1840 "parser.yy" 7495 7495 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7496 7496 break; … … 7499 7499 7500 7500 /* Line 1806 of yacc.c */ 7501 #line 18 38"parser.yy"7501 #line 1846 "parser.yy" 7502 7502 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7503 7503 break; … … 7506 7506 7507 7507 /* Line 1806 of yacc.c */ 7508 #line 18 43"parser.yy"7508 #line 1851 "parser.yy" 7509 7509 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7510 7510 break; … … 7513 7513 7514 7514 /* Line 1806 of yacc.c */ 7515 #line 18 45"parser.yy"7515 #line 1853 "parser.yy" 7516 7516 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7517 7517 break; … … 7520 7520 7521 7521 /* Line 1806 of yacc.c */ 7522 #line 185 1"parser.yy"7522 #line 1859 "parser.yy" 7523 7523 { (yyval.tclass) = DeclarationNode::Type; } 7524 7524 break; … … 7527 7527 7528 7528 /* Line 1806 of yacc.c */ 7529 #line 18 53"parser.yy"7529 #line 1861 "parser.yy" 7530 7530 { (yyval.tclass) = DeclarationNode::Ftype; } 7531 7531 break; … … 7534 7534 7535 7535 /* Line 1806 of yacc.c */ 7536 #line 18 55"parser.yy"7536 #line 1863 "parser.yy" 7537 7537 { (yyval.tclass) = DeclarationNode::Dtype; } 7538 7538 break; … … 7541 7541 7542 7542 /* Line 1806 of yacc.c */ 7543 #line 186 0"parser.yy"7543 #line 1868 "parser.yy" 7544 7544 { (yyval.decl) = 0; } 7545 7545 break; … … 7548 7548 7549 7549 /* Line 1806 of yacc.c */ 7550 #line 18 62"parser.yy"7550 #line 1870 "parser.yy" 7551 7551 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7552 7552 break; … … 7555 7555 7556 7556 /* Line 1806 of yacc.c */ 7557 #line 18 67"parser.yy"7557 #line 1875 "parser.yy" 7558 7558 { 7559 7559 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7565 7565 7566 7566 /* Line 1806 of yacc.c */ 7567 #line 18 72"parser.yy"7567 #line 1880 "parser.yy" 7568 7568 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7569 7569 break; … … 7572 7572 7573 7573 /* Line 1806 of yacc.c */ 7574 #line 18 74"parser.yy"7574 #line 1882 "parser.yy" 7575 7575 { (yyval.decl) = 0; } 7576 7576 break; … … 7579 7579 7580 7580 /* Line 1806 of yacc.c */ 7581 #line 18 79"parser.yy"7581 #line 1887 "parser.yy" 7582 7582 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7583 7583 break; … … 7586 7586 7587 7587 /* Line 1806 of yacc.c */ 7588 #line 18 82"parser.yy"7588 #line 1890 "parser.yy" 7589 7589 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7590 7590 break; … … 7593 7593 7594 7594 /* Line 1806 of yacc.c */ 7595 #line 18 84"parser.yy"7595 #line 1892 "parser.yy" 7596 7596 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 7597 7597 break; … … 7600 7600 7601 7601 /* Line 1806 of yacc.c */ 7602 #line 18 89"parser.yy"7602 #line 1897 "parser.yy" 7603 7603 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7604 7604 break; … … 7607 7607 7608 7608 /* Line 1806 of yacc.c */ 7609 #line 189 1"parser.yy"7609 #line 1899 "parser.yy" 7610 7610 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7611 7611 break; … … 7614 7614 7615 7615 /* Line 1806 of yacc.c */ 7616 #line 1 893"parser.yy"7616 #line 1901 "parser.yy" 7617 7617 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7618 7618 break; … … 7621 7621 7622 7622 /* Line 1806 of yacc.c */ 7623 #line 1 898"parser.yy"7623 #line 1906 "parser.yy" 7624 7624 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7625 7625 break; … … 7628 7628 7629 7629 /* Line 1806 of yacc.c */ 7630 #line 190 0"parser.yy"7630 #line 1908 "parser.yy" 7631 7631 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7632 7632 break; … … 7635 7635 7636 7636 /* Line 1806 of yacc.c */ 7637 #line 19 05"parser.yy"7637 #line 1913 "parser.yy" 7638 7638 { 7639 7639 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7645 7645 7646 7646 /* Line 1806 of yacc.c */ 7647 #line 191 0"parser.yy"7647 #line 1918 "parser.yy" 7648 7648 { 7649 7649 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7655 7655 7656 7656 /* Line 1806 of yacc.c */ 7657 #line 19 18"parser.yy"7657 #line 1926 "parser.yy" 7658 7658 { 7659 7659 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7665 7665 7666 7666 /* Line 1806 of yacc.c */ 7667 #line 19 23"parser.yy"7667 #line 1931 "parser.yy" 7668 7668 { 7669 7669 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7675 7675 7676 7676 /* Line 1806 of yacc.c */ 7677 #line 19 28"parser.yy"7677 #line 1936 "parser.yy" 7678 7678 { 7679 7679 typedefTable.leaveTrait(); … … 7686 7686 7687 7687 /* Line 1806 of yacc.c */ 7688 #line 19 38"parser.yy"7688 #line 1946 "parser.yy" 7689 7689 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7690 7690 break; … … 7693 7693 7694 7694 /* Line 1806 of yacc.c */ 7695 #line 19 48"parser.yy"7695 #line 1956 "parser.yy" 7696 7696 { 7697 7697 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7703 7703 7704 7704 /* Line 1806 of yacc.c */ 7705 #line 19 53"parser.yy"7705 #line 1961 "parser.yy" 7706 7706 { 7707 7707 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7713 7713 7714 7714 /* Line 1806 of yacc.c */ 7715 #line 19 58"parser.yy"7715 #line 1966 "parser.yy" 7716 7716 { 7717 7717 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7723 7723 7724 7724 /* Line 1806 of yacc.c */ 7725 #line 19 66"parser.yy"7725 #line 1974 "parser.yy" 7726 7726 { 7727 7727 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7733 7733 7734 7734 /* Line 1806 of yacc.c */ 7735 #line 197 1"parser.yy"7735 #line 1979 "parser.yy" 7736 7736 { 7737 7737 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7743 7743 7744 7744 /* Line 1806 of yacc.c */ 7745 #line 198 1"parser.yy"7745 #line 1989 "parser.yy" 7746 7746 {} 7747 7747 break; … … 7750 7750 7751 7751 /* Line 1806 of yacc.c */ 7752 #line 19 83"parser.yy"7752 #line 1991 "parser.yy" 7753 7753 { 7754 7754 if ( theTree ) { … … 7763 7763 7764 7764 /* Line 1806 of yacc.c */ 7765 #line 1995"parser.yy"7765 #line 2003 "parser.yy" 7766 7766 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7767 7767 break; … … 7770 7770 7771 7771 /* Line 1806 of yacc.c */ 7772 #line 200 0"parser.yy"7772 #line 2008 "parser.yy" 7773 7773 { (yyval.decl) = 0; } 7774 7774 break; … … 7777 7777 7778 7778 /* Line 1806 of yacc.c */ 7779 #line 20 08"parser.yy"7779 #line 2016 "parser.yy" 7780 7780 {} 7781 7781 break; … … 7784 7784 7785 7785 /* Line 1806 of yacc.c */ 7786 #line 201 0"parser.yy"7786 #line 2018 "parser.yy" 7787 7787 { 7788 7788 linkageStack.push( linkage ); … … 7794 7794 7795 7795 /* Line 1806 of yacc.c */ 7796 #line 20 15"parser.yy"7796 #line 2023 "parser.yy" 7797 7797 { 7798 7798 linkage = linkageStack.top(); … … 7805 7805 7806 7806 /* Line 1806 of yacc.c */ 7807 #line 202 1"parser.yy"7807 #line 2029 "parser.yy" 7808 7808 { // mark all fields in list 7809 7809 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) … … 7816 7816 7817 7817 /* Line 1806 of yacc.c */ 7818 #line 20 36"parser.yy"7818 #line 2044 "parser.yy" 7819 7819 { 7820 7820 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7827 7827 7828 7828 /* Line 1806 of yacc.c */ 7829 #line 20 42"parser.yy"7829 #line 2050 "parser.yy" 7830 7830 { 7831 7831 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7838 7838 7839 7839 /* Line 1806 of yacc.c */ 7840 #line 205 1"parser.yy"7840 #line 2059 "parser.yy" 7841 7841 { 7842 7842 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7849 7849 7850 7850 /* Line 1806 of yacc.c */ 7851 #line 20 57"parser.yy"7851 #line 2065 "parser.yy" 7852 7852 { 7853 7853 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7860 7860 7861 7861 /* Line 1806 of yacc.c */ 7862 #line 20 63"parser.yy"7862 #line 2071 "parser.yy" 7863 7863 { 7864 7864 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7871 7871 7872 7872 /* Line 1806 of yacc.c */ 7873 #line 20 69"parser.yy"7873 #line 2077 "parser.yy" 7874 7874 { 7875 7875 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7882 7882 7883 7883 /* Line 1806 of yacc.c */ 7884 #line 20 75"parser.yy"7884 #line 2083 "parser.yy" 7885 7885 { 7886 7886 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7893 7893 7894 7894 /* Line 1806 of yacc.c */ 7895 #line 20 83"parser.yy"7895 #line 2091 "parser.yy" 7896 7896 { 7897 7897 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7902 7902 7903 7903 case 536: 7904 7905 /* Line 1806 of yacc.c */7906 #line 2089 "parser.yy"7907 {7908 typedefTable.addToEnclosingScope( TypedefTable::ID );7909 typedefTable.leaveScope();7910 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) );7911 }7912 break;7913 7914 case 537:7915 7904 7916 7905 /* Line 1806 of yacc.c */ … … 7923 7912 break; 7924 7913 7914 case 537: 7915 7916 /* Line 1806 of yacc.c */ 7917 #line 2105 "parser.yy" 7918 { 7919 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7920 typedefTable.leaveScope(); 7921 (yyval.decl) = (yyvsp[(2) - (5)].decl)->addOldDeclList( (yyvsp[(4) - (5)].decl) )->addFunctionBody( (yyvsp[(5) - (5)].sn) )->addQualifiers( (yyvsp[(1) - (5)].decl) ); 7922 } 7923 break; 7924 7925 7925 case 538: 7926 7926 7927 7927 /* Line 1806 of yacc.c */ 7928 #line 21 03"parser.yy"7928 #line 2111 "parser.yy" 7929 7929 { 7930 7930 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7937 7937 7938 7938 /* Line 1806 of yacc.c */ 7939 #line 21 18"parser.yy"7939 #line 2126 "parser.yy" 7940 7940 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7941 7941 break; … … 7944 7944 7945 7945 /* Line 1806 of yacc.c */ 7946 #line 21 28"parser.yy"7946 #line 2136 "parser.yy" 7947 7947 { (yyval.decl) = 0; } 7948 7948 break; … … 7951 7951 7952 7952 /* Line 1806 of yacc.c */ 7953 #line 21 35"parser.yy"7953 #line 2143 "parser.yy" 7954 7954 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7955 7955 break; … … 7958 7958 7959 7959 /* Line 1806 of yacc.c */ 7960 #line 214 1"parser.yy"7960 #line 2149 "parser.yy" 7961 7961 { (yyval.decl) = 0; } 7962 7962 break; … … 7965 7965 7966 7966 /* Line 1806 of yacc.c */ 7967 #line 21 56"parser.yy"7967 #line 2164 "parser.yy" 7968 7968 {} 7969 7969 break; … … 7972 7972 7973 7973 /* Line 1806 of yacc.c */ 7974 #line 21 57"parser.yy"7974 #line 2165 "parser.yy" 7975 7975 {} 7976 7976 break; … … 7979 7979 7980 7980 /* Line 1806 of yacc.c */ 7981 #line 21 58"parser.yy"7981 #line 2166 "parser.yy" 7982 7982 {} 7983 7983 break; … … 7986 7986 7987 7987 /* Line 1806 of yacc.c */ 7988 #line 21 59"parser.yy"7988 #line 2167 "parser.yy" 7989 7989 {} 7990 7990 break; … … 7993 7993 7994 7994 /* Line 1806 of yacc.c */ 7995 #line 2 194"parser.yy"7995 #line 2202 "parser.yy" 7996 7996 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7997 7997 break; … … 8000 8000 8001 8001 /* Line 1806 of yacc.c */ 8002 #line 2 197"parser.yy"8002 #line 2205 "parser.yy" 8003 8003 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8004 8004 break; … … 8007 8007 8008 8008 /* Line 1806 of yacc.c */ 8009 #line 2 199"parser.yy"8009 #line 2207 "parser.yy" 8010 8010 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8011 8011 break; … … 8014 8014 8015 8015 /* Line 1806 of yacc.c */ 8016 #line 22 04"parser.yy"8016 #line 2212 "parser.yy" 8017 8017 { 8018 8018 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8024 8024 8025 8025 /* Line 1806 of yacc.c */ 8026 #line 22 09"parser.yy"8026 #line 2217 "parser.yy" 8027 8027 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8028 8028 break; … … 8031 8031 8032 8032 /* Line 1806 of yacc.c */ 8033 #line 22 14"parser.yy"8033 #line 2222 "parser.yy" 8034 8034 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8035 8035 break; … … 8038 8038 8039 8039 /* Line 1806 of yacc.c */ 8040 #line 22 16"parser.yy"8040 #line 2224 "parser.yy" 8041 8041 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8042 8042 break; … … 8045 8045 8046 8046 /* Line 1806 of yacc.c */ 8047 #line 22 18"parser.yy"8047 #line 2226 "parser.yy" 8048 8048 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8049 8049 break; … … 8052 8052 8053 8053 /* Line 1806 of yacc.c */ 8054 #line 22 23"parser.yy"8054 #line 2231 "parser.yy" 8055 8055 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8056 8056 break; … … 8059 8059 8060 8060 /* Line 1806 of yacc.c */ 8061 #line 22 25"parser.yy"8061 #line 2233 "parser.yy" 8062 8062 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8063 8063 break; … … 8066 8066 8067 8067 /* Line 1806 of yacc.c */ 8068 #line 22 27"parser.yy"8068 #line 2235 "parser.yy" 8069 8069 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8070 8070 break; … … 8073 8073 8074 8074 /* Line 1806 of yacc.c */ 8075 #line 22 29"parser.yy"8075 #line 2237 "parser.yy" 8076 8076 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8077 8077 break; … … 8080 8080 8081 8081 /* Line 1806 of yacc.c */ 8082 #line 22 34"parser.yy"8082 #line 2242 "parser.yy" 8083 8083 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8084 8084 break; … … 8087 8087 8088 8088 /* Line 1806 of yacc.c */ 8089 #line 22 36"parser.yy"8089 #line 2244 "parser.yy" 8090 8090 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8091 8091 break; … … 8094 8094 8095 8095 /* Line 1806 of yacc.c */ 8096 #line 22 45"parser.yy"8096 #line 2253 "parser.yy" 8097 8097 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8098 8098 break; … … 8101 8101 8102 8102 /* Line 1806 of yacc.c */ 8103 #line 22 48"parser.yy"8103 #line 2256 "parser.yy" 8104 8104 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8105 8105 break; … … 8108 8108 8109 8109 /* Line 1806 of yacc.c */ 8110 #line 22 53"parser.yy"8110 #line 2261 "parser.yy" 8111 8111 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8112 8112 break; … … 8115 8115 8116 8116 /* Line 1806 of yacc.c */ 8117 #line 22 55"parser.yy"8117 #line 2263 "parser.yy" 8118 8118 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8119 8119 break; … … 8122 8122 8123 8123 /* Line 1806 of yacc.c */ 8124 #line 22 57"parser.yy"8124 #line 2265 "parser.yy" 8125 8125 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8126 8126 break; … … 8129 8129 8130 8130 /* Line 1806 of yacc.c */ 8131 #line 22 62"parser.yy"8131 #line 2270 "parser.yy" 8132 8132 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8133 8133 break; … … 8136 8136 8137 8137 /* Line 1806 of yacc.c */ 8138 #line 22 64"parser.yy"8138 #line 2272 "parser.yy" 8139 8139 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8140 8140 break; … … 8143 8143 8144 8144 /* Line 1806 of yacc.c */ 8145 #line 22 66"parser.yy"8145 #line 2274 "parser.yy" 8146 8146 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8147 8147 break; … … 8150 8150 8151 8151 /* Line 1806 of yacc.c */ 8152 #line 227 1"parser.yy"8152 #line 2279 "parser.yy" 8153 8153 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8154 8154 break; … … 8157 8157 8158 8158 /* Line 1806 of yacc.c */ 8159 #line 22 73"parser.yy"8159 #line 2281 "parser.yy" 8160 8160 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8161 8161 break; … … 8164 8164 8165 8165 /* Line 1806 of yacc.c */ 8166 #line 22 75"parser.yy"8166 #line 2283 "parser.yy" 8167 8167 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8168 8168 break; … … 8171 8171 8172 8172 /* Line 1806 of yacc.c */ 8173 #line 229 0"parser.yy"8173 #line 2298 "parser.yy" 8174 8174 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8175 8175 break; … … 8178 8178 8179 8179 /* Line 1806 of yacc.c */ 8180 #line 2 292"parser.yy"8180 #line 2300 "parser.yy" 8181 8181 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8182 8182 break; … … 8185 8185 8186 8186 /* Line 1806 of yacc.c */ 8187 #line 2 294"parser.yy"8187 #line 2302 "parser.yy" 8188 8188 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8189 8189 break; … … 8192 8192 8193 8193 /* Line 1806 of yacc.c */ 8194 #line 2 299"parser.yy"8194 #line 2307 "parser.yy" 8195 8195 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8196 8196 break; … … 8199 8199 8200 8200 /* Line 1806 of yacc.c */ 8201 #line 230 1"parser.yy"8201 #line 2309 "parser.yy" 8202 8202 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8203 8203 break; … … 8206 8206 8207 8207 /* Line 1806 of yacc.c */ 8208 #line 23 03"parser.yy"8208 #line 2311 "parser.yy" 8209 8209 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8210 8210 break; … … 8213 8213 8214 8214 /* Line 1806 of yacc.c */ 8215 #line 23 08"parser.yy"8215 #line 2316 "parser.yy" 8216 8216 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8217 8217 break; … … 8220 8220 8221 8221 /* Line 1806 of yacc.c */ 8222 #line 231 0"parser.yy"8222 #line 2318 "parser.yy" 8223 8223 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8224 8224 break; … … 8227 8227 8228 8228 /* Line 1806 of yacc.c */ 8229 #line 23 12"parser.yy"8229 #line 2320 "parser.yy" 8230 8230 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8231 8231 break; … … 8234 8234 8235 8235 /* Line 1806 of yacc.c */ 8236 #line 23 27"parser.yy"8236 #line 2335 "parser.yy" 8237 8237 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8238 8238 break; … … 8241 8241 8242 8242 /* Line 1806 of yacc.c */ 8243 #line 233 0"parser.yy"8243 #line 2338 "parser.yy" 8244 8244 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8245 8245 break; … … 8248 8248 8249 8249 /* Line 1806 of yacc.c */ 8250 #line 23 32"parser.yy"8250 #line 2340 "parser.yy" 8251 8251 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8252 8252 break; … … 8255 8255 8256 8256 /* Line 1806 of yacc.c */ 8257 #line 23 38"parser.yy"8257 #line 2346 "parser.yy" 8258 8258 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8259 8259 break; … … 8262 8262 8263 8263 /* Line 1806 of yacc.c */ 8264 #line 23 43"parser.yy"8264 #line 2351 "parser.yy" 8265 8265 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8266 8266 break; … … 8269 8269 8270 8270 /* Line 1806 of yacc.c */ 8271 #line 23 45"parser.yy"8271 #line 2353 "parser.yy" 8272 8272 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8273 8273 break; … … 8276 8276 8277 8277 /* Line 1806 of yacc.c */ 8278 #line 23 47"parser.yy"8278 #line 2355 "parser.yy" 8279 8279 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8280 8280 break; … … 8283 8283 8284 8284 /* Line 1806 of yacc.c */ 8285 #line 23 52"parser.yy"8285 #line 2360 "parser.yy" 8286 8286 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8287 8287 break; … … 8290 8290 8291 8291 /* Line 1806 of yacc.c */ 8292 #line 23 54"parser.yy"8292 #line 2362 "parser.yy" 8293 8293 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8294 8294 break; … … 8297 8297 8298 8298 /* Line 1806 of yacc.c */ 8299 #line 23 56"parser.yy"8299 #line 2364 "parser.yy" 8300 8300 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8301 8301 break; … … 8304 8304 8305 8305 /* Line 1806 of yacc.c */ 8306 #line 23 58"parser.yy"8306 #line 2366 "parser.yy" 8307 8307 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8308 8308 break; … … 8311 8311 8312 8312 /* Line 1806 of yacc.c */ 8313 #line 23 63"parser.yy"8313 #line 2371 "parser.yy" 8314 8314 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8315 8315 break; … … 8318 8318 8319 8319 /* Line 1806 of yacc.c */ 8320 #line 23 65"parser.yy"8320 #line 2373 "parser.yy" 8321 8321 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8322 8322 break; … … 8325 8325 8326 8326 /* Line 1806 of yacc.c */ 8327 #line 23 67"parser.yy"8327 #line 2375 "parser.yy" 8328 8328 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8329 8329 break; … … 8332 8332 8333 8333 /* Line 1806 of yacc.c */ 8334 #line 23 77"parser.yy"8334 #line 2385 "parser.yy" 8335 8335 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8336 8336 break; … … 8339 8339 8340 8340 /* Line 1806 of yacc.c */ 8341 #line 238 0"parser.yy"8341 #line 2388 "parser.yy" 8342 8342 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8343 8343 break; … … 8346 8346 8347 8347 /* Line 1806 of yacc.c */ 8348 #line 23 82"parser.yy"8348 #line 2390 "parser.yy" 8349 8349 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8350 8350 break; … … 8353 8353 8354 8354 /* Line 1806 of yacc.c */ 8355 #line 23 87"parser.yy"8355 #line 2395 "parser.yy" 8356 8356 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8357 8357 break; … … 8360 8360 8361 8361 /* Line 1806 of yacc.c */ 8362 #line 23 89"parser.yy"8362 #line 2397 "parser.yy" 8363 8363 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8364 8364 break; … … 8367 8367 8368 8368 /* Line 1806 of yacc.c */ 8369 #line 239 1"parser.yy"8369 #line 2399 "parser.yy" 8370 8370 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8371 8371 break; … … 8374 8374 8375 8375 /* Line 1806 of yacc.c */ 8376 #line 2 396"parser.yy"8376 #line 2404 "parser.yy" 8377 8377 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8378 8378 break; … … 8381 8381 8382 8382 /* Line 1806 of yacc.c */ 8383 #line 2 398"parser.yy"8383 #line 2406 "parser.yy" 8384 8384 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8385 8385 break; … … 8388 8388 8389 8389 /* Line 1806 of yacc.c */ 8390 #line 240 0"parser.yy"8390 #line 2408 "parser.yy" 8391 8391 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8392 8392 break; … … 8395 8395 8396 8396 /* Line 1806 of yacc.c */ 8397 #line 24 02"parser.yy"8397 #line 2410 "parser.yy" 8398 8398 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8399 8399 break; … … 8402 8402 8403 8403 /* Line 1806 of yacc.c */ 8404 #line 24 07"parser.yy"8404 #line 2415 "parser.yy" 8405 8405 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8406 8406 break; … … 8409 8409 8410 8410 /* Line 1806 of yacc.c */ 8411 #line 24 09"parser.yy"8411 #line 2417 "parser.yy" 8412 8412 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8413 8413 break; … … 8416 8416 8417 8417 /* Line 1806 of yacc.c */ 8418 #line 241 1"parser.yy"8418 #line 2419 "parser.yy" 8419 8419 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8420 8420 break; … … 8423 8423 8424 8424 /* Line 1806 of yacc.c */ 8425 #line 24 42"parser.yy"8425 #line 2450 "parser.yy" 8426 8426 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8427 8427 break; … … 8430 8430 8431 8431 /* Line 1806 of yacc.c */ 8432 #line 24 45"parser.yy"8432 #line 2453 "parser.yy" 8433 8433 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8434 8434 break; … … 8437 8437 8438 8438 /* Line 1806 of yacc.c */ 8439 #line 24 47"parser.yy"8439 #line 2455 "parser.yy" 8440 8440 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8441 8441 break; … … 8444 8444 8445 8445 /* Line 1806 of yacc.c */ 8446 #line 24 52"parser.yy"8446 #line 2460 "parser.yy" 8447 8447 { 8448 8448 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8454 8454 8455 8455 /* Line 1806 of yacc.c */ 8456 #line 24 57"parser.yy"8456 #line 2465 "parser.yy" 8457 8457 { 8458 8458 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8464 8464 8465 8465 /* Line 1806 of yacc.c */ 8466 #line 24 65"parser.yy"8466 #line 2473 "parser.yy" 8467 8467 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8468 8468 break; … … 8471 8471 8472 8472 /* Line 1806 of yacc.c */ 8473 #line 24 67"parser.yy"8473 #line 2475 "parser.yy" 8474 8474 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8475 8475 break; … … 8478 8478 8479 8479 /* Line 1806 of yacc.c */ 8480 #line 24 69"parser.yy"8480 #line 2477 "parser.yy" 8481 8481 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8482 8482 break; … … 8485 8485 8486 8486 /* Line 1806 of yacc.c */ 8487 #line 24 74"parser.yy"8487 #line 2482 "parser.yy" 8488 8488 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8489 8489 break; … … 8492 8492 8493 8493 /* Line 1806 of yacc.c */ 8494 #line 24 76"parser.yy"8494 #line 2484 "parser.yy" 8495 8495 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8496 8496 break; … … 8499 8499 8500 8500 /* Line 1806 of yacc.c */ 8501 #line 248 1"parser.yy"8501 #line 2489 "parser.yy" 8502 8502 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8503 8503 break; … … 8506 8506 8507 8507 /* Line 1806 of yacc.c */ 8508 #line 24 83"parser.yy"8508 #line 2491 "parser.yy" 8509 8509 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8510 8510 break; … … 8513 8513 8514 8514 /* Line 1806 of yacc.c */ 8515 #line 2 498"parser.yy"8515 #line 2506 "parser.yy" 8516 8516 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8517 8517 break; … … 8520 8520 8521 8521 /* Line 1806 of yacc.c */ 8522 #line 250 0"parser.yy"8522 #line 2508 "parser.yy" 8523 8523 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8524 8524 break; … … 8527 8527 8528 8528 /* Line 1806 of yacc.c */ 8529 #line 25 05"parser.yy"8529 #line 2513 "parser.yy" 8530 8530 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8531 8531 break; … … 8534 8534 8535 8535 /* Line 1806 of yacc.c */ 8536 #line 25 07"parser.yy"8536 #line 2515 "parser.yy" 8537 8537 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8538 8538 break; … … 8541 8541 8542 8542 /* Line 1806 of yacc.c */ 8543 #line 25 09"parser.yy"8543 #line 2517 "parser.yy" 8544 8544 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8545 8545 break; … … 8548 8548 8549 8549 /* Line 1806 of yacc.c */ 8550 #line 251 1"parser.yy"8550 #line 2519 "parser.yy" 8551 8551 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8552 8552 break; … … 8555 8555 8556 8556 /* Line 1806 of yacc.c */ 8557 #line 25 13"parser.yy"8557 #line 2521 "parser.yy" 8558 8558 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8559 8559 break; … … 8562 8562 8563 8563 /* Line 1806 of yacc.c */ 8564 #line 25 19"parser.yy"8564 #line 2527 "parser.yy" 8565 8565 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8566 8566 break; … … 8569 8569 8570 8570 /* Line 1806 of yacc.c */ 8571 #line 252 1"parser.yy"8571 #line 2529 "parser.yy" 8572 8572 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8573 8573 break; … … 8576 8576 8577 8577 /* Line 1806 of yacc.c */ 8578 #line 25 23"parser.yy"8578 #line 2531 "parser.yy" 8579 8579 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8580 8580 break; … … 8583 8583 8584 8584 /* Line 1806 of yacc.c */ 8585 #line 25 28"parser.yy"8585 #line 2536 "parser.yy" 8586 8586 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8587 8587 break; … … 8590 8590 8591 8591 /* Line 1806 of yacc.c */ 8592 #line 253 0"parser.yy"8592 #line 2538 "parser.yy" 8593 8593 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8594 8594 break; … … 8597 8597 8598 8598 /* Line 1806 of yacc.c */ 8599 #line 25 32"parser.yy"8599 #line 2540 "parser.yy" 8600 8600 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8601 8601 break; … … 8604 8604 8605 8605 /* Line 1806 of yacc.c */ 8606 #line 25 38"parser.yy"8606 #line 2546 "parser.yy" 8607 8607 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8608 8608 break; … … 8611 8611 8612 8612 /* Line 1806 of yacc.c */ 8613 #line 254 0"parser.yy"8613 #line 2548 "parser.yy" 8614 8614 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8615 8615 break; … … 8618 8618 8619 8619 /* Line 1806 of yacc.c */ 8620 #line 25 46"parser.yy"8620 #line 2554 "parser.yy" 8621 8621 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8622 8622 break; … … 8625 8625 8626 8626 /* Line 1806 of yacc.c */ 8627 #line 25 48"parser.yy"8627 #line 2556 "parser.yy" 8628 8628 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8629 8629 break; … … 8632 8632 8633 8633 /* Line 1806 of yacc.c */ 8634 #line 255 0"parser.yy"8634 #line 2558 "parser.yy" 8635 8635 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8636 8636 break; … … 8639 8639 8640 8640 /* Line 1806 of yacc.c */ 8641 #line 25 52"parser.yy"8641 #line 2560 "parser.yy" 8642 8642 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8643 8643 break; … … 8646 8646 8647 8647 /* Line 1806 of yacc.c */ 8648 #line 25 67"parser.yy"8648 #line 2575 "parser.yy" 8649 8649 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8650 8650 break; … … 8653 8653 8654 8654 /* Line 1806 of yacc.c */ 8655 #line 25 69"parser.yy"8655 #line 2577 "parser.yy" 8656 8656 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8657 8657 break; … … 8660 8660 8661 8661 /* Line 1806 of yacc.c */ 8662 #line 25 74"parser.yy"8662 #line 2582 "parser.yy" 8663 8663 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8664 8664 break; … … 8667 8667 8668 8668 /* Line 1806 of yacc.c */ 8669 #line 25 76"parser.yy"8669 #line 2584 "parser.yy" 8670 8670 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8671 8671 break; … … 8674 8674 8675 8675 /* Line 1806 of yacc.c */ 8676 #line 25 78"parser.yy"8676 #line 2586 "parser.yy" 8677 8677 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8678 8678 break; … … 8681 8681 8682 8682 /* Line 1806 of yacc.c */ 8683 #line 258 0"parser.yy"8683 #line 2588 "parser.yy" 8684 8684 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8685 8685 break; … … 8688 8688 8689 8689 /* Line 1806 of yacc.c */ 8690 #line 25 82"parser.yy"8690 #line 2590 "parser.yy" 8691 8691 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8692 8692 break; … … 8695 8695 8696 8696 /* Line 1806 of yacc.c */ 8697 #line 25 88"parser.yy"8697 #line 2596 "parser.yy" 8698 8698 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8699 8699 break; … … 8702 8702 8703 8703 /* Line 1806 of yacc.c */ 8704 #line 259 0"parser.yy"8704 #line 2598 "parser.yy" 8705 8705 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8706 8706 break; … … 8709 8709 8710 8710 /* Line 1806 of yacc.c */ 8711 #line 2 592"parser.yy"8711 #line 2600 "parser.yy" 8712 8712 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8713 8713 break; … … 8716 8716 8717 8717 /* Line 1806 of yacc.c */ 8718 #line 2 597"parser.yy"8718 #line 2605 "parser.yy" 8719 8719 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8720 8720 break; … … 8723 8723 8724 8724 /* Line 1806 of yacc.c */ 8725 #line 2 599"parser.yy"8725 #line 2607 "parser.yy" 8726 8726 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8727 8727 break; … … 8730 8730 8731 8731 /* Line 1806 of yacc.c */ 8732 #line 260 1"parser.yy"8732 #line 2609 "parser.yy" 8733 8733 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8734 8734 break; … … 8737 8737 8738 8738 /* Line 1806 of yacc.c */ 8739 #line 26 08"parser.yy"8739 #line 2616 "parser.yy" 8740 8740 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8741 8741 break; … … 8744 8744 8745 8745 /* Line 1806 of yacc.c */ 8746 #line 26 19"parser.yy"8746 #line 2627 "parser.yy" 8747 8747 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8748 8748 break; … … 8751 8751 8752 8752 /* Line 1806 of yacc.c */ 8753 #line 26 22"parser.yy"8753 #line 2630 "parser.yy" 8754 8754 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8755 8755 break; … … 8758 8758 8759 8759 /* Line 1806 of yacc.c */ 8760 #line 26 24"parser.yy"8760 #line 2632 "parser.yy" 8761 8761 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8762 8762 break; … … 8765 8765 8766 8766 /* Line 1806 of yacc.c */ 8767 #line 26 27"parser.yy"8767 #line 2635 "parser.yy" 8768 8768 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8769 8769 break; … … 8772 8772 8773 8773 /* Line 1806 of yacc.c */ 8774 #line 26 29"parser.yy"8774 #line 2637 "parser.yy" 8775 8775 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8776 8776 break; … … 8779 8779 8780 8780 /* Line 1806 of yacc.c */ 8781 #line 263 1"parser.yy"8781 #line 2639 "parser.yy" 8782 8782 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8783 8783 break; … … 8786 8786 8787 8787 /* Line 1806 of yacc.c */ 8788 #line 26 45"parser.yy"8788 #line 2653 "parser.yy" 8789 8789 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8790 8790 break; … … 8793 8793 8794 8794 /* Line 1806 of yacc.c */ 8795 #line 26 47"parser.yy"8795 #line 2655 "parser.yy" 8796 8796 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8797 8797 break; … … 8800 8800 8801 8801 /* Line 1806 of yacc.c */ 8802 #line 26 52"parser.yy"8802 #line 2660 "parser.yy" 8803 8803 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8804 8804 break; … … 8807 8807 8808 8808 /* Line 1806 of yacc.c */ 8809 #line 26 54"parser.yy"8809 #line 2662 "parser.yy" 8810 8810 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8811 8811 break; … … 8814 8814 8815 8815 /* Line 1806 of yacc.c */ 8816 #line 26 56"parser.yy"8816 #line 2664 "parser.yy" 8817 8817 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8818 8818 break; … … 8821 8821 8822 8822 /* Line 1806 of yacc.c */ 8823 #line 26 58"parser.yy"8823 #line 2666 "parser.yy" 8824 8824 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8825 8825 break; … … 8828 8828 8829 8829 /* Line 1806 of yacc.c */ 8830 #line 266 0"parser.yy"8830 #line 2668 "parser.yy" 8831 8831 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8832 8832 break; … … 8835 8835 8836 8836 /* Line 1806 of yacc.c */ 8837 #line 26 66"parser.yy"8837 #line 2674 "parser.yy" 8838 8838 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8839 8839 break; … … 8842 8842 8843 8843 /* Line 1806 of yacc.c */ 8844 #line 26 68"parser.yy"8844 #line 2676 "parser.yy" 8845 8845 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8846 8846 break; … … 8849 8849 8850 8850 /* Line 1806 of yacc.c */ 8851 #line 267 0"parser.yy"8851 #line 2678 "parser.yy" 8852 8852 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8853 8853 break; … … 8856 8856 8857 8857 /* Line 1806 of yacc.c */ 8858 #line 26 75"parser.yy"8858 #line 2683 "parser.yy" 8859 8859 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8860 8860 break; … … 8863 8863 8864 8864 /* Line 1806 of yacc.c */ 8865 #line 26 77"parser.yy"8865 #line 2685 "parser.yy" 8866 8866 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8867 8867 break; … … 8870 8870 8871 8871 /* Line 1806 of yacc.c */ 8872 #line 26 87"parser.yy"8872 #line 2695 "parser.yy" 8873 8873 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8874 8874 break; 8875 8875 8876 8876 case 706: 8877 8878 /* Line 1806 of yacc.c */8879 #line 2697 "parser.yy"8880 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); }8881 break;8882 8883 case 707:8884 8885 /* Line 1806 of yacc.c */8886 #line 2699 "parser.yy"8887 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); }8888 break;8889 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 8877 8906 8878 /* Line 1806 of yacc.c */ … … 8909 8881 break; 8910 8882 8911 case 7 11:8883 case 707: 8912 8884 8913 8885 /* Line 1806 of yacc.c */ … … 8916 8888 break; 8917 8889 8890 case 708: 8891 8892 /* Line 1806 of yacc.c */ 8893 #line 2709 "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 2711 "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 2713 "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 2715 "parser.yy" 8915 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8916 break; 8917 8918 8918 case 712: 8919 8919 8920 8920 /* Line 1806 of yacc.c */ 8921 #line 27 14"parser.yy"8921 #line 2722 "parser.yy" 8922 8922 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8923 8923 break; … … 8926 8926 8927 8927 /* Line 1806 of yacc.c */ 8928 #line 27 16"parser.yy"8928 #line 2724 "parser.yy" 8929 8929 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8930 8930 break; … … 8933 8933 8934 8934 /* Line 1806 of yacc.c */ 8935 #line 27 18"parser.yy"8935 #line 2726 "parser.yy" 8936 8936 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8937 8937 break; … … 8940 8940 8941 8941 /* Line 1806 of yacc.c */ 8942 #line 272 0"parser.yy"8942 #line 2728 "parser.yy" 8943 8943 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8944 8944 break; … … 8947 8947 8948 8948 /* Line 1806 of yacc.c */ 8949 #line 27 22"parser.yy"8949 #line 2730 "parser.yy" 8950 8950 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8951 8951 break; … … 8954 8954 8955 8955 /* Line 1806 of yacc.c */ 8956 #line 27 24"parser.yy"8956 #line 2732 "parser.yy" 8957 8957 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8958 8958 break; … … 8961 8961 8962 8962 /* Line 1806 of yacc.c */ 8963 #line 27 26"parser.yy"8963 #line 2734 "parser.yy" 8964 8964 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8965 8965 break; … … 8968 8968 8969 8969 /* Line 1806 of yacc.c */ 8970 #line 27 28"parser.yy"8970 #line 2736 "parser.yy" 8971 8971 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8972 8972 break; … … 8975 8975 8976 8976 /* Line 1806 of yacc.c */ 8977 #line 273 0"parser.yy"8977 #line 2738 "parser.yy" 8978 8978 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8979 8979 break; … … 8982 8982 8983 8983 /* Line 1806 of yacc.c */ 8984 #line 27 32"parser.yy"8984 #line 2740 "parser.yy" 8985 8985 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8986 8986 break; … … 8989 8989 8990 8990 /* Line 1806 of yacc.c */ 8991 #line 27 37"parser.yy"8991 #line 2745 "parser.yy" 8992 8992 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8993 8993 break; … … 8996 8996 8997 8997 /* Line 1806 of yacc.c */ 8998 #line 27 39"parser.yy"8998 #line 2747 "parser.yy" 8999 8999 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9000 9000 break; … … 9003 9003 9004 9004 /* Line 1806 of yacc.c */ 9005 #line 27 44"parser.yy"9005 #line 2752 "parser.yy" 9006 9006 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9007 9007 break; … … 9010 9010 9011 9011 /* Line 1806 of yacc.c */ 9012 #line 27 46"parser.yy"9012 #line 2754 "parser.yy" 9013 9013 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9014 9014 break; … … 9017 9017 9018 9018 /* Line 1806 of yacc.c */ 9019 #line 27 73"parser.yy"9019 #line 2781 "parser.yy" 9020 9020 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9021 9021 break; 9022 9022 9023 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 9024 9053 9025 /* Line 1806 of yacc.c */ … … 9056 9028 break; 9057 9029 9058 case 73 6:9030 case 732: 9059 9031 9060 9032 /* Line 1806 of yacc.c */ … … 9063 9035 break; 9064 9036 9037 case 733: 9038 9039 /* Line 1806 of yacc.c */ 9040 #line 2796 "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 2798 "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 2800 "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 2802 "parser.yy" 9062 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9063 break; 9064 9065 9065 case 737: 9066 9066 9067 9067 /* Line 1806 of yacc.c */ 9068 #line 280 1"parser.yy"9068 #line 2809 "parser.yy" 9069 9069 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9070 9070 break; … … 9073 9073 9074 9074 /* Line 1806 of yacc.c */ 9075 #line 28 03"parser.yy"9075 #line 2811 "parser.yy" 9076 9076 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9077 9077 break; … … 9080 9080 9081 9081 /* Line 1806 of yacc.c */ 9082 #line 28 05"parser.yy"9082 #line 2813 "parser.yy" 9083 9083 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9084 9084 break; … … 9087 9087 9088 9088 /* Line 1806 of yacc.c */ 9089 #line 28 07"parser.yy"9089 #line 2815 "parser.yy" 9090 9090 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9091 9091 break; … … 9094 9094 9095 9095 /* Line 1806 of yacc.c */ 9096 #line 28 09"parser.yy"9096 #line 2817 "parser.yy" 9097 9097 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9098 9098 break; … … 9101 9101 9102 9102 /* Line 1806 of yacc.c */ 9103 #line 281 1"parser.yy"9103 #line 2819 "parser.yy" 9104 9104 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9105 9105 break; … … 9108 9108 9109 9109 /* Line 1806 of yacc.c */ 9110 #line 28 16"parser.yy"9110 #line 2824 "parser.yy" 9111 9111 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9112 9112 break; … … 9115 9115 9116 9116 /* Line 1806 of yacc.c */ 9117 #line 282 1"parser.yy"9117 #line 2829 "parser.yy" 9118 9118 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9119 9119 break; … … 9122 9122 9123 9123 /* Line 1806 of yacc.c */ 9124 #line 28 23"parser.yy"9124 #line 2831 "parser.yy" 9125 9125 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9126 9126 break; … … 9129 9129 9130 9130 /* Line 1806 of yacc.c */ 9131 #line 28 25"parser.yy"9131 #line 2833 "parser.yy" 9132 9132 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9133 9133 break; … … 9136 9136 9137 9137 /* Line 1806 of yacc.c */ 9138 #line 28 49"parser.yy"9138 #line 2857 "parser.yy" 9139 9139 { (yyval.en) = 0; } 9140 9140 break; … … 9143 9143 9144 9144 /* Line 1806 of yacc.c */ 9145 #line 285 1"parser.yy"9145 #line 2859 "parser.yy" 9146 9146 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9147 9147 break; … … 9381 9381 9382 9382 /* Line 2067 of yacc.c */ 9383 #line 28 54"parser.yy"9383 #line 2862 "parser.yy" 9384 9384 9385 9385 // ----end of grammar---- -
src/Parser/parser.yy
rdac593fd r71b5d4d3 10 10 // Created On : Sat Sep 1 20:22:55 2001 11 11 // Last Modified By : Peter A. Buhr 12 // Last Modified On : Thu Aug 11 18:02:57201613 // Update Count : 18 6112 // Last Modified On : Wed Aug 10 23:03:05 2016 13 // Update Count : 1846 14 14 // 15 15 … … 665 665 Token fn; 666 666 fn.str = new std::string( "^?{}" ); // location undefined 667 $$ = new StatementNode 2( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $2 )->set_link( $4 ) ) ) ));667 $$ = new StatementNode( StatementNode::Exp, new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( $2 )->set_link( $4 ) ) ), 0 ); 668 668 } 669 669 ; … … 717 717 expression_statement: 718 718 comma_expression_opt ';' 719 { $$ = new StatementNode 2( build_expr( $1 )); }719 { $$ = new StatementNode( StatementNode::Exp, $1, 0 ); } 720 720 ; 721 721 … … 758 758 759 759 case_value_list: // CFA 760 //case_value { $$ = new StatementNode( StatementNode::Case, $1, 0 ); } 761 case_value { $$ = new StatementNode2( build_case( $1 ) ); } 760 case_value { $$ = new StatementNode( StatementNode::Case, $1, 0 ); } 762 761 // convert case list, e.g., "case 1, 3, 5:" into "case 1: case 3: case 5" 763 | case_value_list ',' case_value { $$ = (StatementNode *)($1->set_link( new StatementNode 2( build_case( $3 )) ) ); }762 | case_value_list ',' case_value { $$ = (StatementNode *)($1->set_link( new StatementNode( StatementNode::Case, $3, 0 ) ) ); } 764 763 ; 765 764 766 765 case_label: // CFA 767 766 CASE case_value_list ':' { $$ = $2; } 768 | DEFAULT ':' { $$ = new StatementNode 2( build_default()); }767 | DEFAULT ':' { $$ = new StatementNode( StatementNode::Default ); } 769 768 // A semantic check is required to ensure only one default clause per switch/choose statement. 770 769 ; … … 811 810 fall_through_opt: // CFA 812 811 // empty 813 { $$ = new StatementNode 2( build_branch( "", BranchStmt::Break ) ); }// insert implicit break812 { $$ = new StatementNode( StatementNode::Break ); } // insert implicit break 814 813 | fall_through 815 814 ; … … 840 839 jump_statement: 841 840 GOTO IDENTIFIER ';' 841 //{ $$ = new StatementNode( StatementNode::Goto, $2 ); } 842 842 { $$ = new StatementNode2( build_branch( *$2, BranchStmt::Goto ) ); } 843 843 | GOTO '*' comma_expression ';' // GCC, computed goto 844 844 // The syntax for the GCC computed goto violates normal expression precedence, e.g., goto *i+3; => goto *(i+3); 845 845 // whereas normal operator precedence yields goto (*i)+3; 846 { $$ = new StatementNode 2( build_computedgoto( $3 )); }846 { $$ = new StatementNode( StatementNode::Goto, $3 ); } 847 847 | CONTINUE ';' 848 848 // A semantic check is required to ensure this statement appears only in the body of an iteration statement. 849 //{ $$ = new StatementNode( StatementNode::Continue ); } 849 850 { $$ = new StatementNode2( build_branch( "", BranchStmt::Continue ) ); } 850 851 | CONTINUE IDENTIFIER ';' // CFA, multi-level continue 851 852 // A semantic check is required to ensure this statement appears only in the body of an iteration statement, and 852 853 // the target of the transfer appears only at the start of an iteration statement. 854 //{ $$ = new StatementNode( StatementNode::Continue, $2 ); } 853 855 { $$ = new StatementNode2( build_branch( *$2, BranchStmt::Continue ) ); delete $2; } 854 856 | BREAK ';' 855 857 // A semantic check is required to ensure this statement appears only in the body of an iteration statement. 858 //{ $$ = new StatementNode( StatementNode::Break ); } 856 859 { $$ = new StatementNode2( build_branch( "", BranchStmt::Break ) ); } 857 860 | BREAK IDENTIFIER ';' // CFA, multi-level exit 858 861 // A semantic check is required to ensure this statement appears only in the body of an iteration statement, and 859 862 // the target of the transfer appears only at the start of an iteration statement. 863 //{ $$ = new StatementNode( StatementNode::Break, $2 ); } 860 864 { $$ = new StatementNode2( build_branch( *$2, BranchStmt::Break ) ); delete $2; } 861 865 | RETURN comma_expression_opt ';' 862 { $$ = new StatementNode2( build_return( $2 ) ); } 863 | THROW assignment_expression_opt ';' // handles rethrow 864 { $$ = new StatementNode2( build_throw( $2 ) ); } 865 | THROWRESUME assignment_expression_opt ';' // handles reresume 866 { $$ = new StatementNode2( build_throw( $2 ) ); } 867 | THROWRESUME assignment_expression_opt AT assignment_expression ';' // handles reresume 868 { $$ = new StatementNode2( build_throw( $2 ) ); } 866 { $$ = new StatementNode( StatementNode::Return, $2, 0 ); } 867 | THROW assignment_expression_opt ';' 868 { $$ = new StatementNode( StatementNode::Throw, $2, 0 ); } 869 // | THROW ';' 870 // { $$ = new StatementNode( StatementNode::Throw ); } 871 | THROWRESUME assignment_expression_opt ';' 872 { $$ = new StatementNode( StatementNode::Throw, $2, 0 ); } 873 | THROWRESUME assignment_expression_opt AT assignment_expression ';' 874 { $$ = new StatementNode( StatementNode::Throw, $2, 0 ); } 875 // | THROWRESUME ';' 876 // { $$ = new StatementNode( StatementNode::Throw ); } 869 877 ; 870 878 -
src/libcfa/Makefile.am
rdac593fd r71b5d4d3 11 11 ## Created On : Sun May 31 08:54:01 2015 12 12 ## Last Modified By : Peter A. Buhr 13 ## Last Modified On : Thu Aug 11 15:36:32201614 ## Update Count : 19 813 ## Last Modified On : Sat Aug 6 16:15:15 2016 14 ## Update Count : 197 15 15 ############################################################################### 16 16 … … 56 56 CC = ${abs_top_srcdir}/src/driver/cfa 57 57 58 headers = limits stdlib math iostream fstream iterator rational #containers/vector58 headers = limits stdlib math iostream fstream iterator rational containers/vector 59 59 libobjs = ${headers:=.o} 60 60 -
src/libcfa/Makefile.in
rdac593fd r71b5d4d3 89 89 libcfa_a_AR = $(AR) $(ARFLAGS) 90 90 libcfa_a_LIBADD = 91 am__dirstamp = $(am__leading_dot)dirstamp 91 92 am__objects_1 = limits.$(OBJEXT) stdlib.$(OBJEXT) math.$(OBJEXT) \ 92 93 iostream.$(OBJEXT) fstream.$(OBJEXT) iterator.$(OBJEXT) \ 93 rational.$(OBJEXT) 94 rational.$(OBJEXT) containers/vector.$(OBJEXT) 94 95 am_libcfa_a_OBJECTS = libcfa-prelude.$(OBJEXT) $(am__objects_1) 95 96 libcfa_a_OBJECTS = $(am_libcfa_a_OBJECTS) … … 233 234 cfalib_DATA = builtins.cf extras.cf prelude.cf 234 235 MAINTAINERCLEANFILES = builtins.cf extras.cf ${addprefix ${libdir}/,${cfalib_DATA}} ${addprefix ${libdir}/,${lib_LIBRARIES}} 235 headers = limits stdlib math iostream fstream iterator rational #containers/vector236 headers = limits stdlib math iostream fstream iterator rational containers/vector 236 237 libobjs = ${headers:=.o} 237 238 libcfa_a_SOURCES = libcfa-prelude.c ${headers:=.c} … … 303 304 clean-libLIBRARIES: 304 305 -test -z "$(lib_LIBRARIES)" || rm -f $(lib_LIBRARIES) 306 containers/$(am__dirstamp): 307 @$(MKDIR_P) containers 308 @: > containers/$(am__dirstamp) 309 containers/$(DEPDIR)/$(am__dirstamp): 310 @$(MKDIR_P) containers/$(DEPDIR) 311 @: > containers/$(DEPDIR)/$(am__dirstamp) 312 containers/vector.$(OBJEXT): containers/$(am__dirstamp) \ 313 containers/$(DEPDIR)/$(am__dirstamp) 305 314 libcfa.a: $(libcfa_a_OBJECTS) $(libcfa_a_DEPENDENCIES) $(EXTRA_libcfa_a_DEPENDENCIES) 306 315 $(AM_V_at)-rm -f libcfa.a … … 310 319 mostlyclean-compile: 311 320 -rm -f *.$(OBJEXT) 321 -rm -f containers/vector.$(OBJEXT) 312 322 313 323 distclean-compile: … … 322 332 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/rational.Po@am__quote@ 323 333 @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/stdlib.Po@am__quote@ 334 @AMDEP_TRUE@@am__include@ @am__quote@containers/$(DEPDIR)/vector.Po@am__quote@ 324 335 325 336 .c.o: … … 494 505 -test -z "$(CONFIG_CLEAN_FILES)" || rm -f $(CONFIG_CLEAN_FILES) 495 506 -test . = "$(srcdir)" || test -z "$(CONFIG_CLEAN_VPATH_FILES)" || rm -f $(CONFIG_CLEAN_VPATH_FILES) 507 -rm -f containers/$(DEPDIR)/$(am__dirstamp) 508 -rm -f containers/$(am__dirstamp) 496 509 497 510 maintainer-clean-generic: … … 504 517 505 518 distclean: distclean-am 506 -rm -rf ./$(DEPDIR) 519 -rm -rf ./$(DEPDIR) containers/$(DEPDIR) 507 520 -rm -f Makefile 508 521 distclean-am: clean-am distclean-compile distclean-generic \ … … 550 563 551 564 maintainer-clean: maintainer-clean-am 552 -rm -rf ./$(DEPDIR) 565 -rm -rf ./$(DEPDIR) containers/$(DEPDIR) 553 566 -rm -f Makefile 554 567 maintainer-clean-am: distclean-am maintainer-clean-generic \
Note:
See TracChangeset
for help on using the changeset viewer.