Changes in src/Parser/parser.cc [777bfcf:8cc5cb0]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (556 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r777bfcf r8cc5cb0 1020 1020 static const yytype_uint16 yyrline[] = 1021 1021 { 1022 0, 29 8, 298, 304, 313, 314, 315, 319, 320, 321,1023 32 5, 326, 330, 331, 335, 336, 340, 341, 352, 354,1024 35 6, 358, 363, 364, 370, 374, 376, 377, 379, 380,1025 38 2, 384, 386, 395, 396, 402, 403, 407, 408, 412,1026 41 6, 418, 420, 422, 427, 430, 432, 434, 439, 452,1027 45 4, 456, 458, 460, 462, 464, 466, 468, 470, 472,1028 4 79, 480, 486, 487, 488, 489, 493, 494, 496, 501,1029 50 2, 504, 506, 511, 512, 514, 519, 520, 522, 527,1030 52 8, 530, 532, 534, 539, 540, 542, 547, 548, 553,1031 55 4, 559, 560, 565, 566, 571, 572, 577, 578, 581,1032 58 3, 588, 593, 594, 596, 602, 603, 607, 608, 609,1033 61 0, 611, 612, 613, 614, 615, 616, 617, 623, 625,1034 62 7, 629, 634, 635, 640, 641, 647, 648, 654, 655,1035 65 6, 657, 658, 659, 660, 661, 662, 672, 679, 681,1036 69 1, 692, 697, 699, 705, 707, 711, 712, 717, 722,1037 72 5, 727, 729, 739, 741, 752, 753, 755, 759, 761,1038 76 5, 766, 771, 772, 776, 781, 782, 786, 788, 794,1039 79 5, 799, 801, 803, 805, 811, 812, 816, 818, 823,1040 82 5, 827, 832, 834, 839, 841, 845, 848, 852, 855,1041 8 59, 861, 863, 865, 870, 872, 874, 879, 881, 883,1042 8 85, 887, 892, 894, 896, 898, 903, 915, 916, 921,1043 9 23, 928, 932, 934, 936, 938, 940, 946, 947, 953,1044 9 54, 958, 959, 964, 966, 972, 973, 975, 980, 982,1045 9 89, 991, 995, 996, 1001, 1003, 1007, 1008, 1012, 1014,1046 10 18, 1019, 1023, 1024, 1028, 1029, 1044, 1045, 1046, 1047,1047 10 48, 1052, 1057, 1064, 1074, 1079, 1084, 1092, 1097, 1102,1048 11 07, 1112, 1120, 1142, 1147, 1154, 1156, 1163, 1168, 1173,1049 11 84, 1189, 1194, 1199, 1204, 1213, 1218, 1226, 1227, 1228,1050 12 29, 1235, 1240, 1248, 1249, 1250, 1251, 1255, 1256, 1257,1051 12 58, 1263, 1264, 1273, 1274, 1279, 1280, 1285, 1287, 1289,1052 129 1, 1293, 1296, 1295, 1307, 1308, 1310, 1320, 1321, 1326,1053 133 0, 1332, 1334, 1336, 1338, 1340, 1342, 1344, 1349, 1351,1054 13 53, 1355, 1357, 1359, 1361, 1363, 1365, 1367, 1369, 1371,1055 13 73, 1379, 1380, 1382, 1384, 1386, 1391, 1392, 1398, 1399,1056 140 1, 1403, 1408, 1410, 1412, 1414, 1419, 1420, 1422, 1424,1057 14 29, 1430, 1432, 1437, 1438, 1440, 1442, 1447, 1449, 1451,1058 14 56, 1457, 1461, 1463, 1469, 1468, 1472, 1474, 1479, 1481,1059 14 87, 1488, 1493, 1494, 1496, 1497, 1506, 1507, 1509, 1511,1060 15 16, 1518, 1524, 1525, 1527, 1530, 1533, 1538, 1539, 1544,1061 15 49, 1553, 1555, 1561, 1560, 1567, 1569, 1575, 1576, 1584,1062 15 85, 1589, 1590, 1591, 1593, 1595, 1602, 1603, 1605, 1607,1063 161 2, 1613, 1619, 1620, 1624, 1625, 1630, 1631, 1632, 1634,1064 164 2, 1643, 1645, 1648, 1650, 1654, 1655, 1656, 1658, 1660,1065 16 64, 1669, 1677, 1678, 1687, 1689, 1694, 1695, 1696, 1700,1066 170 1, 1702, 1706, 1707, 1708, 1712, 1713, 1714, 1719, 1720,1067 172 1, 1722, 1728, 1729, 1731, 1736, 1737, 1742, 1743, 1744,1068 17 45, 1746, 1761, 1762, 1767, 1768, 1774, 1776, 1779, 1781,1069 17 83, 1806, 1807, 1809, 1811, 1816, 1817, 1819, 1824, 1829,1070 183 0, 1836, 1835, 1839, 1843, 1845, 1847, 1853, 1854, 1859,1071 18 64, 1866, 1871, 1873, 1874, 1876, 1881, 1883, 1885, 1890,1072 189 2, 1897, 1902, 1910, 1916, 1915, 1929, 1930, 1935, 1936,1073 194 0, 1945, 1950, 1958, 1963, 1974, 1975, 1986, 1987, 1993,1074 1994, 1998, 1999, 2000, 2003, 2002, 2013, 2022, 2028, 2034,1075 20 43, 2049, 2055, 2061, 2067, 2075, 2081, 2089, 2095, 2104,1076 21 05, 2106, 2110, 2114, 2116, 2121, 2122, 2126, 2127, 2132,1077 21 38, 2139, 2142, 2144, 2145, 2149, 2150, 2151, 2152, 2186,1078 21 88, 2189, 2191, 2196, 2201, 2206, 2208, 2210, 2215, 2217,1079 22 19, 2221, 2226, 2228, 2237, 2239, 2240, 2245, 2247, 2249,1080 22 54, 2256, 2258, 2263, 2265, 2267, 2276, 2277, 2278, 2282,1081 22 84, 2286, 2291, 2293, 2295, 2300, 2302, 2304, 2319, 2321,1082 232 2, 2324, 2329, 2330, 2335, 2337, 2339, 2344, 2346, 2348,1083 235 0, 2355, 2357, 2359, 2369, 2371, 2372, 2374, 2379, 2381,1084 23 83, 2388, 2390, 2392, 2394, 2399, 2401, 2403, 2434, 2436,1085 24 37, 2439, 2444, 2449, 2457, 2459, 2461, 2466, 2468, 2473,1086 24 75, 2489, 2490, 2492, 2497, 2499, 2501, 2503, 2505, 2510,1087 251 1, 2513, 2515, 2520, 2522, 2524, 2530, 2532, 2534, 2538,1088 254 0, 2542, 2544, 2558, 2559, 2561, 2566, 2568, 2570, 2572,1089 25 74, 2579, 2580, 2582, 2584, 2589, 2591, 2593, 2599, 2600,1090 260 2, 2611, 2614, 2616, 2619, 2621, 2623, 2636, 2637, 2639,1091 26 44, 2646, 2648, 2650, 2652, 2657, 2658, 2660, 2662, 2667,1092 26 69, 2677, 2678, 2679, 2684, 2685, 2689, 2691, 2693, 2695,1093 2 697, 2699, 2706, 2708, 2710, 2712, 2714, 2716, 2718, 2720,1094 272 2, 2724, 2729, 2731, 2733, 2738, 2764, 2765, 2767, 2771,1095 277 2, 2776, 2778, 2780, 2782, 2784, 2786, 2793, 2795, 2797,1096 2 799, 2801, 2803, 2808, 2813, 2815, 2817, 2835, 2837, 2842,1097 28 431022 0, 299, 299, 305, 314, 315, 316, 320, 321, 322, 1023 326, 327, 331, 332, 336, 337, 341, 342, 353, 355, 1024 357, 359, 364, 365, 371, 375, 377, 378, 380, 381, 1025 383, 385, 387, 396, 397, 403, 404, 408, 409, 413, 1026 417, 419, 421, 423, 428, 431, 433, 435, 440, 453, 1027 455, 457, 459, 461, 463, 465, 467, 469, 471, 473, 1028 480, 481, 487, 488, 489, 490, 494, 495, 497, 502, 1029 503, 505, 507, 512, 513, 515, 520, 521, 523, 528, 1030 529, 531, 533, 535, 540, 541, 543, 548, 549, 554, 1031 555, 560, 561, 566, 567, 572, 573, 578, 579, 582, 1032 584, 589, 594, 595, 597, 603, 604, 608, 609, 610, 1033 611, 612, 613, 614, 615, 616, 617, 618, 624, 626, 1034 628, 630, 635, 636, 641, 642, 648, 649, 655, 656, 1035 657, 658, 659, 660, 661, 662, 663, 673, 680, 682, 1036 692, 693, 698, 700, 706, 708, 712, 713, 718, 723, 1037 726, 728, 730, 740, 742, 753, 754, 756, 761, 763, 1038 767, 768, 773, 774, 778, 783, 784, 788, 790, 796, 1039 797, 801, 803, 805, 807, 813, 814, 818, 820, 825, 1040 827, 829, 834, 836, 841, 843, 847, 850, 854, 857, 1041 861, 863, 865, 867, 872, 874, 876, 885, 887, 889, 1042 891, 893, 898, 900, 902, 904, 909, 922, 923, 928, 1043 930, 935, 939, 941, 943, 945, 947, 953, 954, 960, 1044 961, 965, 966, 971, 973, 979, 980, 982, 987, 989, 1045 996, 998, 1002, 1003, 1008, 1010, 1014, 1015, 1019, 1021, 1046 1025, 1026, 1030, 1031, 1035, 1036, 1051, 1052, 1053, 1054, 1047 1055, 1059, 1064, 1071, 1081, 1086, 1091, 1099, 1104, 1109, 1048 1114, 1119, 1127, 1149, 1154, 1161, 1163, 1170, 1175, 1180, 1049 1191, 1196, 1201, 1206, 1211, 1220, 1225, 1233, 1234, 1235, 1050 1236, 1242, 1247, 1255, 1256, 1257, 1258, 1262, 1263, 1264, 1051 1265, 1270, 1271, 1280, 1281, 1286, 1287, 1292, 1294, 1296, 1052 1298, 1300, 1303, 1302, 1314, 1315, 1317, 1327, 1328, 1333, 1053 1337, 1339, 1341, 1343, 1345, 1347, 1349, 1351, 1356, 1358, 1054 1360, 1362, 1364, 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1055 1380, 1386, 1387, 1389, 1391, 1393, 1398, 1399, 1405, 1406, 1056 1408, 1410, 1415, 1417, 1419, 1421, 1426, 1427, 1429, 1431, 1057 1436, 1437, 1439, 1444, 1445, 1447, 1449, 1454, 1456, 1458, 1058 1463, 1464, 1468, 1470, 1476, 1475, 1479, 1481, 1486, 1488, 1059 1494, 1495, 1500, 1501, 1503, 1504, 1513, 1514, 1516, 1518, 1060 1523, 1525, 1531, 1532, 1534, 1537, 1540, 1545, 1546, 1551, 1061 1556, 1560, 1562, 1568, 1567, 1574, 1576, 1582, 1583, 1591, 1062 1592, 1596, 1597, 1598, 1600, 1602, 1609, 1610, 1612, 1614, 1063 1619, 1620, 1626, 1627, 1631, 1632, 1637, 1638, 1639, 1641, 1064 1649, 1650, 1652, 1655, 1657, 1661, 1662, 1663, 1665, 1667, 1065 1671, 1676, 1684, 1685, 1694, 1696, 1701, 1702, 1703, 1707, 1066 1708, 1709, 1713, 1714, 1715, 1719, 1720, 1721, 1726, 1727, 1067 1728, 1729, 1735, 1736, 1738, 1743, 1744, 1749, 1750, 1751, 1068 1752, 1753, 1768, 1769, 1774, 1775, 1781, 1783, 1786, 1788, 1069 1790, 1813, 1814, 1816, 1818, 1823, 1824, 1826, 1831, 1836, 1070 1837, 1843, 1842, 1846, 1850, 1852, 1854, 1860, 1861, 1866, 1071 1871, 1873, 1878, 1880, 1881, 1883, 1888, 1890, 1892, 1897, 1072 1899, 1904, 1909, 1917, 1923, 1922, 1936, 1937, 1942, 1943, 1073 1947, 1952, 1957, 1965, 1970, 1981, 1982, 1993, 1994, 2000, 1074 2001, 2005, 2006, 2007, 2010, 2009, 2020, 2029, 2035, 2041, 1075 2050, 2056, 2062, 2068, 2074, 2082, 2088, 2096, 2102, 2111, 1076 2112, 2113, 2117, 2121, 2123, 2128, 2129, 2133, 2134, 2139, 1077 2145, 2146, 2149, 2151, 2152, 2156, 2157, 2158, 2159, 2193, 1078 2195, 2196, 2198, 2203, 2208, 2213, 2215, 2217, 2222, 2224, 1079 2226, 2228, 2233, 2235, 2244, 2246, 2247, 2252, 2254, 2256, 1080 2261, 2263, 2265, 2270, 2272, 2274, 2283, 2284, 2285, 2289, 1081 2291, 2293, 2298, 2300, 2302, 2307, 2309, 2311, 2326, 2328, 1082 2329, 2331, 2336, 2337, 2342, 2344, 2346, 2351, 2353, 2355, 1083 2357, 2362, 2364, 2366, 2376, 2378, 2379, 2381, 2386, 2388, 1084 2390, 2395, 2397, 2399, 2401, 2406, 2408, 2410, 2441, 2443, 1085 2444, 2446, 2451, 2456, 2464, 2466, 2468, 2473, 2475, 2480, 1086 2482, 2496, 2497, 2499, 2504, 2506, 2508, 2510, 2512, 2517, 1087 2518, 2520, 2522, 2527, 2529, 2531, 2537, 2539, 2541, 2545, 1088 2547, 2549, 2551, 2565, 2566, 2568, 2573, 2575, 2577, 2579, 1089 2581, 2586, 2587, 2589, 2591, 2596, 2598, 2600, 2606, 2607, 1090 2609, 2618, 2621, 2623, 2626, 2628, 2630, 2643, 2644, 2646, 1091 2651, 2653, 2655, 2657, 2659, 2664, 2665, 2667, 2669, 2674, 1092 2676, 2684, 2685, 2686, 2691, 2692, 2696, 2698, 2700, 2702, 1093 2704, 2706, 2713, 2715, 2717, 2719, 2721, 2723, 2725, 2727, 1094 2729, 2731, 2736, 2738, 2740, 2745, 2771, 2772, 2774, 2778, 1095 2779, 2783, 2785, 2787, 2789, 2791, 2793, 2800, 2802, 2804, 1096 2806, 2808, 2810, 2815, 2820, 2822, 2824, 2842, 2844, 2849, 1097 2850 1098 1098 }; 1099 1099 #endif … … 4960 4960 4961 4961 /* Line 1806 of yacc.c */ 4962 #line 29 8"parser.yy"4962 #line 299 "parser.yy" 4963 4963 { 4964 4964 typedefTable.enterScope(); … … 4969 4969 4970 4970 /* Line 1806 of yacc.c */ 4971 #line 30 4"parser.yy"4971 #line 305 "parser.yy" 4972 4972 { 4973 4973 typedefTable.leaveScope(); … … 4978 4978 4979 4979 /* Line 1806 of yacc.c */ 4980 #line 31 3"parser.yy"4980 #line 314 "parser.yy" 4981 4981 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4982 4982 break; … … 4985 4985 4986 4986 /* Line 1806 of yacc.c */ 4987 #line 31 4"parser.yy"4987 #line 315 "parser.yy" 4988 4988 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4989 4989 break; … … 4992 4992 4993 4993 /* Line 1806 of yacc.c */ 4994 #line 31 5"parser.yy"4994 #line 316 "parser.yy" 4995 4995 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 4996 4996 break; … … 4999 4999 5000 5000 /* Line 1806 of yacc.c */ 5001 #line 34 0"parser.yy"5001 #line 341 "parser.yy" 5002 5002 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].tok) ); } 5003 5003 break; … … 5006 5006 5007 5007 /* Line 1806 of yacc.c */ 5008 #line 34 2"parser.yy"5008 #line 343 "parser.yy" 5009 5009 { 5010 5010 appendStr( (yyvsp[(1) - (2)].constant)->get_constant()->get_value(), (yyvsp[(2) - (2)].tok) ); … … 5017 5017 5018 5018 /* Line 1806 of yacc.c */ 5019 #line 35 3"parser.yy"5019 #line 354 "parser.yy" 5020 5020 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5021 5021 break; … … 5024 5024 5025 5025 /* Line 1806 of yacc.c */ 5026 #line 35 5"parser.yy"5026 #line 356 "parser.yy" 5027 5027 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5028 5028 break; … … 5031 5031 5032 5032 /* Line 1806 of yacc.c */ 5033 #line 35 7"parser.yy"5033 #line 358 "parser.yy" 5034 5034 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5035 5035 break; … … 5038 5038 5039 5039 /* Line 1806 of yacc.c */ 5040 #line 3 59"parser.yy"5040 #line 360 "parser.yy" 5041 5041 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 5042 5042 break; … … 5045 5045 5046 5046 /* Line 1806 of yacc.c */ 5047 #line 3 69"parser.yy"5047 #line 370 "parser.yy" 5048 5048 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 5049 5049 break; … … 5052 5052 5053 5053 /* Line 1806 of yacc.c */ 5054 #line 37 1"parser.yy"5054 #line 372 "parser.yy" 5055 5055 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 5056 5056 break; … … 5059 5059 5060 5060 /* Line 1806 of yacc.c */ 5061 #line 37 5"parser.yy"5061 #line 376 "parser.yy" 5062 5062 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5063 5063 break; … … 5066 5066 5067 5067 /* Line 1806 of yacc.c */ 5068 #line 37 8"parser.yy"5068 #line 379 "parser.yy" 5069 5069 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5070 5070 break; … … 5073 5073 5074 5074 /* Line 1806 of yacc.c */ 5075 #line 38 1"parser.yy"5075 #line 382 "parser.yy" 5076 5076 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 5077 5077 break; … … 5080 5080 5081 5081 /* Line 1806 of yacc.c */ 5082 #line 38 3"parser.yy"5082 #line 384 "parser.yy" 5083 5083 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 5084 5084 break; … … 5087 5087 5088 5088 /* Line 1806 of yacc.c */ 5089 #line 38 5"parser.yy"5089 #line 386 "parser.yy" 5090 5090 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 5091 5091 break; … … 5094 5094 5095 5095 /* Line 1806 of yacc.c */ 5096 #line 38 7"parser.yy"5096 #line 388 "parser.yy" 5097 5097 { 5098 5098 Token fn; 5099 5099 fn.str = new std::string( "?{}" ); // location undefined 5100 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_l ast( (yyvsp[(3) - (4)].en) ) ) );5100 (yyval.en) = new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(1) - (4)].en) )->set_link( (yyvsp[(3) - (4)].en) ) ) ); 5101 5101 } 5102 5102 break; … … 5105 5105 5106 5106 /* Line 1806 of yacc.c */ 5107 #line 39 7"parser.yy"5108 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_l ast( (yyvsp[(3) - (3)].en) )); }5107 #line 398 "parser.yy" 5108 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 5109 5109 break; 5110 5110 … … 5112 5112 5113 5113 /* Line 1806 of yacc.c */ 5114 #line 40 2"parser.yy"5114 #line 403 "parser.yy" 5115 5115 { (yyval.en) = 0; } 5116 5116 break; … … 5119 5119 5120 5120 /* Line 1806 of yacc.c */ 5121 #line 40 8"parser.yy"5122 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ast( (yyvsp[(3) - (3)].en) ); }5121 #line 409 "parser.yy" 5122 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5123 5123 break; 5124 5124 … … 5126 5126 5127 5127 /* Line 1806 of yacc.c */ 5128 #line 41 3"parser.yy"5128 #line 414 "parser.yy" 5129 5129 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5130 5130 break; … … 5133 5133 5134 5134 /* Line 1806 of yacc.c */ 5135 #line 41 7"parser.yy"5135 #line 418 "parser.yy" 5136 5136 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 5137 5137 break; … … 5140 5140 5141 5141 /* Line 1806 of yacc.c */ 5142 #line 4 19"parser.yy"5142 #line 420 "parser.yy" 5143 5143 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 5144 5144 break; … … 5147 5147 5148 5148 /* Line 1806 of yacc.c */ 5149 #line 42 1"parser.yy"5149 #line 422 "parser.yy" 5150 5150 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 5151 5151 break; … … 5154 5154 5155 5155 /* Line 1806 of yacc.c */ 5156 #line 42 3"parser.yy"5156 #line 424 "parser.yy" 5157 5157 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 5158 5158 break; … … 5161 5161 5162 5162 /* Line 1806 of yacc.c */ 5163 #line 43 1"parser.yy"5163 #line 432 "parser.yy" 5164 5164 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5165 5165 break; … … 5168 5168 5169 5169 /* Line 1806 of yacc.c */ 5170 #line 43 3"parser.yy"5170 #line 434 "parser.yy" 5171 5171 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5172 5172 break; … … 5175 5175 5176 5176 /* Line 1806 of yacc.c */ 5177 #line 43 5"parser.yy"5177 #line 436 "parser.yy" 5178 5178 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5179 5179 break; … … 5182 5182 5183 5183 /* Line 1806 of yacc.c */ 5184 #line 44 0"parser.yy"5184 #line 441 "parser.yy" 5185 5185 { 5186 5186 switch ( (yyvsp[(1) - (2)].op) ) { … … 5200 5200 5201 5201 /* Line 1806 of yacc.c */ 5202 #line 45 3"parser.yy"5202 #line 454 "parser.yy" 5203 5203 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5204 5204 break; … … 5207 5207 5208 5208 /* Line 1806 of yacc.c */ 5209 #line 45 5"parser.yy"5209 #line 456 "parser.yy" 5210 5210 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5211 5211 break; … … 5214 5214 5215 5215 /* Line 1806 of yacc.c */ 5216 #line 45 7"parser.yy"5216 #line 458 "parser.yy" 5217 5217 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5218 5218 break; … … 5221 5221 5222 5222 /* Line 1806 of yacc.c */ 5223 #line 4 59"parser.yy"5223 #line 460 "parser.yy" 5224 5224 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5225 5225 break; … … 5228 5228 5229 5229 /* Line 1806 of yacc.c */ 5230 #line 46 1"parser.yy"5230 #line 462 "parser.yy" 5231 5231 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5232 5232 break; … … 5235 5235 5236 5236 /* Line 1806 of yacc.c */ 5237 #line 46 3"parser.yy"5237 #line 464 "parser.yy" 5238 5238 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5239 5239 break; … … 5242 5242 5243 5243 /* Line 1806 of yacc.c */ 5244 #line 46 5"parser.yy"5244 #line 466 "parser.yy" 5245 5245 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5246 5246 break; … … 5249 5249 5250 5250 /* Line 1806 of yacc.c */ 5251 #line 46 7"parser.yy"5251 #line 468 "parser.yy" 5252 5252 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5253 5253 break; … … 5256 5256 5257 5257 /* Line 1806 of yacc.c */ 5258 #line 4 69"parser.yy"5258 #line 470 "parser.yy" 5259 5259 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5260 5260 break; … … 5263 5263 5264 5264 /* Line 1806 of yacc.c */ 5265 #line 47 1"parser.yy"5265 #line 472 "parser.yy" 5266 5266 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5267 5267 break; … … 5270 5270 5271 5271 /* Line 1806 of yacc.c */ 5272 #line 47 3"parser.yy"5272 #line 474 "parser.yy" 5273 5273 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5274 5274 break; … … 5277 5277 5278 5278 /* Line 1806 of yacc.c */ 5279 #line 4 79"parser.yy"5279 #line 480 "parser.yy" 5280 5280 { (yyval.op) = OperKinds::PointTo; } 5281 5281 break; … … 5284 5284 5285 5285 /* Line 1806 of yacc.c */ 5286 #line 48 0"parser.yy"5286 #line 481 "parser.yy" 5287 5287 { (yyval.op) = OperKinds::AddressOf; } 5288 5288 break; … … 5291 5291 5292 5292 /* Line 1806 of yacc.c */ 5293 #line 48 6"parser.yy"5293 #line 487 "parser.yy" 5294 5294 { (yyval.op) = OperKinds::UnPlus; } 5295 5295 break; … … 5298 5298 5299 5299 /* Line 1806 of yacc.c */ 5300 #line 48 7"parser.yy"5300 #line 488 "parser.yy" 5301 5301 { (yyval.op) = OperKinds::UnMinus; } 5302 5302 break; … … 5305 5305 5306 5306 /* Line 1806 of yacc.c */ 5307 #line 48 8"parser.yy"5307 #line 489 "parser.yy" 5308 5308 { (yyval.op) = OperKinds::Neg; } 5309 5309 break; … … 5312 5312 5313 5313 /* Line 1806 of yacc.c */ 5314 #line 4 89"parser.yy"5314 #line 490 "parser.yy" 5315 5315 { (yyval.op) = OperKinds::BitNeg; } 5316 5316 break; … … 5319 5319 5320 5320 /* Line 1806 of yacc.c */ 5321 #line 49 5"parser.yy"5321 #line 496 "parser.yy" 5322 5322 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5323 5323 break; … … 5326 5326 5327 5327 /* Line 1806 of yacc.c */ 5328 #line 49 7"parser.yy"5328 #line 498 "parser.yy" 5329 5329 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5330 5330 break; … … 5333 5333 5334 5334 /* Line 1806 of yacc.c */ 5335 #line 50 3"parser.yy"5335 #line 504 "parser.yy" 5336 5336 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5337 5337 break; … … 5340 5340 5341 5341 /* Line 1806 of yacc.c */ 5342 #line 50 5"parser.yy"5342 #line 506 "parser.yy" 5343 5343 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5344 5344 break; … … 5347 5347 5348 5348 /* Line 1806 of yacc.c */ 5349 #line 50 7"parser.yy"5349 #line 508 "parser.yy" 5350 5350 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5351 5351 break; … … 5354 5354 5355 5355 /* Line 1806 of yacc.c */ 5356 #line 51 3"parser.yy"5356 #line 514 "parser.yy" 5357 5357 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5358 5358 break; … … 5361 5361 5362 5362 /* Line 1806 of yacc.c */ 5363 #line 51 5"parser.yy"5363 #line 516 "parser.yy" 5364 5364 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5365 5365 break; … … 5368 5368 5369 5369 /* Line 1806 of yacc.c */ 5370 #line 52 1"parser.yy"5370 #line 522 "parser.yy" 5371 5371 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5372 5372 break; … … 5375 5375 5376 5376 /* Line 1806 of yacc.c */ 5377 #line 52 3"parser.yy"5377 #line 524 "parser.yy" 5378 5378 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5379 5379 break; … … 5382 5382 5383 5383 /* Line 1806 of yacc.c */ 5384 #line 5 29"parser.yy"5384 #line 530 "parser.yy" 5385 5385 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5386 5386 break; … … 5389 5389 5390 5390 /* Line 1806 of yacc.c */ 5391 #line 53 1"parser.yy"5391 #line 532 "parser.yy" 5392 5392 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5393 5393 break; … … 5396 5396 5397 5397 /* Line 1806 of yacc.c */ 5398 #line 53 3"parser.yy"5398 #line 534 "parser.yy" 5399 5399 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5400 5400 break; … … 5403 5403 5404 5404 /* Line 1806 of yacc.c */ 5405 #line 53 5"parser.yy"5405 #line 536 "parser.yy" 5406 5406 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5407 5407 break; … … 5410 5410 5411 5411 /* Line 1806 of yacc.c */ 5412 #line 54 1"parser.yy"5412 #line 542 "parser.yy" 5413 5413 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5414 5414 break; … … 5417 5417 5418 5418 /* Line 1806 of yacc.c */ 5419 #line 54 3"parser.yy"5419 #line 544 "parser.yy" 5420 5420 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5421 5421 break; … … 5424 5424 5425 5425 /* Line 1806 of yacc.c */ 5426 #line 5 49"parser.yy"5426 #line 550 "parser.yy" 5427 5427 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5428 5428 break; … … 5431 5431 5432 5432 /* Line 1806 of yacc.c */ 5433 #line 55 5"parser.yy"5433 #line 556 "parser.yy" 5434 5434 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5435 5435 break; … … 5438 5438 5439 5439 /* Line 1806 of yacc.c */ 5440 #line 56 1"parser.yy"5440 #line 562 "parser.yy" 5441 5441 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5442 5442 break; … … 5445 5445 5446 5446 /* Line 1806 of yacc.c */ 5447 #line 56 7"parser.yy"5447 #line 568 "parser.yy" 5448 5448 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5449 5449 break; … … 5452 5452 5453 5453 /* Line 1806 of yacc.c */ 5454 #line 57 3"parser.yy"5454 #line 574 "parser.yy" 5455 5455 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5456 5456 break; … … 5459 5459 5460 5460 /* Line 1806 of yacc.c */ 5461 #line 5 79"parser.yy"5461 #line 580 "parser.yy" 5462 5462 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5463 5463 break; … … 5466 5466 5467 5467 /* Line 1806 of yacc.c */ 5468 #line 58 2"parser.yy"5468 #line 583 "parser.yy" 5469 5469 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5470 5470 break; … … 5473 5473 5474 5474 /* Line 1806 of yacc.c */ 5475 #line 58 4"parser.yy"5475 #line 585 "parser.yy" 5476 5476 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5477 5477 break; … … 5480 5480 5481 5481 /* Line 1806 of yacc.c */ 5482 #line 59 5"parser.yy"5482 #line 596 "parser.yy" 5483 5483 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5484 5484 break; … … 5487 5487 5488 5488 /* Line 1806 of yacc.c */ 5489 #line 59 7"parser.yy"5489 #line 598 "parser.yy" 5490 5490 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new ExpressionNode( build_binary_ptr( OperKinds::Assign, (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ) ); } 5491 5491 break; … … 5494 5494 5495 5495 /* Line 1806 of yacc.c */ 5496 #line 60 2"parser.yy"5496 #line 603 "parser.yy" 5497 5497 { (yyval.en) = nullptr; } 5498 5498 break; … … 5501 5501 5502 5502 /* Line 1806 of yacc.c */ 5503 #line 60 7"parser.yy"5503 #line 608 "parser.yy" 5504 5504 { (yyval.op) = OperKinds::Assign; } 5505 5505 break; … … 5508 5508 5509 5509 /* Line 1806 of yacc.c */ 5510 #line 60 8"parser.yy"5510 #line 609 "parser.yy" 5511 5511 { (yyval.op) = OperKinds::MulAssn; } 5512 5512 break; … … 5515 5515 5516 5516 /* Line 1806 of yacc.c */ 5517 #line 6 09"parser.yy"5517 #line 610 "parser.yy" 5518 5518 { (yyval.op) = OperKinds::DivAssn; } 5519 5519 break; … … 5522 5522 5523 5523 /* Line 1806 of yacc.c */ 5524 #line 61 0"parser.yy"5524 #line 611 "parser.yy" 5525 5525 { (yyval.op) = OperKinds::ModAssn; } 5526 5526 break; … … 5529 5529 5530 5530 /* Line 1806 of yacc.c */ 5531 #line 61 1"parser.yy"5531 #line 612 "parser.yy" 5532 5532 { (yyval.op) = OperKinds::PlusAssn; } 5533 5533 break; … … 5536 5536 5537 5537 /* Line 1806 of yacc.c */ 5538 #line 61 2"parser.yy"5538 #line 613 "parser.yy" 5539 5539 { (yyval.op) = OperKinds::MinusAssn; } 5540 5540 break; … … 5543 5543 5544 5544 /* Line 1806 of yacc.c */ 5545 #line 61 3"parser.yy"5545 #line 614 "parser.yy" 5546 5546 { (yyval.op) = OperKinds::LSAssn; } 5547 5547 break; … … 5550 5550 5551 5551 /* Line 1806 of yacc.c */ 5552 #line 61 4"parser.yy"5552 #line 615 "parser.yy" 5553 5553 { (yyval.op) = OperKinds::RSAssn; } 5554 5554 break; … … 5557 5557 5558 5558 /* Line 1806 of yacc.c */ 5559 #line 61 5"parser.yy"5559 #line 616 "parser.yy" 5560 5560 { (yyval.op) = OperKinds::AndAssn; } 5561 5561 break; … … 5564 5564 5565 5565 /* Line 1806 of yacc.c */ 5566 #line 61 6"parser.yy"5566 #line 617 "parser.yy" 5567 5567 { (yyval.op) = OperKinds::ERAssn; } 5568 5568 break; … … 5571 5571 5572 5572 /* Line 1806 of yacc.c */ 5573 #line 61 7"parser.yy"5573 #line 618 "parser.yy" 5574 5574 { (yyval.op) = OperKinds::OrAssn; } 5575 5575 break; … … 5578 5578 5579 5579 /* Line 1806 of yacc.c */ 5580 #line 62 4"parser.yy"5580 #line 625 "parser.yy" 5581 5581 { (yyval.en) = new ExpressionNode( build_tuple() ); } 5582 5582 break; … … 5585 5585 5586 5586 /* Line 1806 of yacc.c */ 5587 #line 62 6"parser.yy"5587 #line 627 "parser.yy" 5588 5588 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5589 5589 break; … … 5592 5592 5593 5593 /* Line 1806 of yacc.c */ 5594 #line 62 8"parser.yy"5595 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_l ast( (yyvsp[(4) - (6)].en) ) ) ); }5594 #line 629 "parser.yy" 5595 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_link( (yyvsp[(4) - (6)].en) ) ) ); } 5596 5596 break; 5597 5597 … … 5599 5599 5600 5600 /* Line 1806 of yacc.c */ 5601 #line 63 0"parser.yy"5602 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_l ast( (yyvsp[(5) - (7)].en) ) ) ); }5601 #line 631 "parser.yy" 5602 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( (yyvsp[(5) - (7)].en) ) ) ); } 5603 5603 break; 5604 5604 … … 5606 5606 5607 5607 /* Line 1806 of yacc.c */ 5608 #line 63 6"parser.yy"5609 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ast( (yyvsp[(3) - (3)].en) ); }5608 #line 637 "parser.yy" 5609 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5610 5610 break; 5611 5611 … … 5613 5613 5614 5614 /* Line 1806 of yacc.c */ 5615 #line 64 2"parser.yy"5615 #line 643 "parser.yy" 5616 5616 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5617 5617 break; … … 5620 5620 5621 5621 /* Line 1806 of yacc.c */ 5622 #line 64 7"parser.yy"5622 #line 648 "parser.yy" 5623 5623 { (yyval.en) = 0; } 5624 5624 break; … … 5627 5627 5628 5628 /* Line 1806 of yacc.c */ 5629 #line 65 6"parser.yy"5629 #line 657 "parser.yy" 5630 5630 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5631 5631 break; … … 5634 5634 5635 5635 /* Line 1806 of yacc.c */ 5636 #line 66 3"parser.yy"5636 #line 664 "parser.yy" 5637 5637 { 5638 5638 Token fn; 5639 5639 fn.str = new std::string( "^?{}" ); // location undefined 5640 (yyval.sn) = new StatementNode2( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_l ast( (yyvsp[(4) - (6)].en) ) ) ) ) );5640 (yyval.sn) = new StatementNode2( build_expr( new ExpressionNode( build_func( new ExpressionNode( build_varref( fn ) ), (ExpressionNode *)( (yyvsp[(2) - (6)].en) )->set_link( (yyvsp[(4) - (6)].en) ) ) ) ) ); 5641 5641 } 5642 5642 break; … … 5645 5645 5646 5646 /* Line 1806 of yacc.c */ 5647 #line 67 3"parser.yy"5647 #line 674 "parser.yy" 5648 5648 { 5649 5649 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5654 5654 5655 5655 /* Line 1806 of yacc.c */ 5656 #line 68 0"parser.yy"5656 #line 681 "parser.yy" 5657 5657 { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); } 5658 5658 break; … … 5661 5661 5662 5662 /* Line 1806 of yacc.c */ 5663 #line 68 7"parser.yy"5663 #line 688 "parser.yy" 5664 5664 { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); } 5665 5665 break; … … 5668 5668 5669 5669 /* Line 1806 of yacc.c */ 5670 #line 69 3"parser.yy"5671 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_l ast( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } }5670 #line 694 "parser.yy" 5671 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5672 5672 break; 5673 5673 … … 5675 5675 5676 5676 /* Line 1806 of yacc.c */ 5677 #line 69 8"parser.yy"5678 { (yyval.sn) = new StatementNode 2( (yyvsp[(1) - (1)].decl) ); }5677 #line 699 "parser.yy" 5678 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5679 5679 break; 5680 5680 … … 5682 5682 5683 5683 /* Line 1806 of yacc.c */ 5684 #line 70 0"parser.yy"5684 #line 701 "parser.yy" 5685 5685 { // mark all fields in list 5686 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_ next() )5686 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 5687 5687 iter->set_extension( true ); 5688 (yyval.sn) = new StatementNode 2( (yyvsp[(2) - (2)].decl) );5688 (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); 5689 5689 } 5690 5690 break; … … 5693 5693 5694 5694 /* Line 1806 of yacc.c */ 5695 #line 70 6"parser.yy"5696 { (yyval.sn) = new StatementNode 2( (yyvsp[(1) - (1)].decl) ); }5695 #line 707 "parser.yy" 5696 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5697 5697 break; 5698 5698 … … 5700 5700 5701 5701 /* Line 1806 of yacc.c */ 5702 #line 71 3"parser.yy"5703 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_l ast( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } }5702 #line 714 "parser.yy" 5703 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5704 5704 break; 5705 5705 … … 5707 5707 5708 5708 /* Line 1806 of yacc.c */ 5709 #line 71 8"parser.yy"5709 #line 719 "parser.yy" 5710 5710 { (yyval.sn) = new StatementNode2( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5711 5711 break; … … 5714 5714 5715 5715 /* Line 1806 of yacc.c */ 5716 #line 72 4"parser.yy"5716 #line 725 "parser.yy" 5717 5717 { (yyval.sn) = new StatementNode2( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5718 5718 break; … … 5721 5721 5722 5722 /* Line 1806 of yacc.c */ 5723 #line 72 6"parser.yy"5723 #line 727 "parser.yy" 5724 5724 { (yyval.sn) = new StatementNode2( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5725 5725 break; … … 5728 5728 5729 5729 /* Line 1806 of yacc.c */ 5730 #line 72 8"parser.yy"5730 #line 729 "parser.yy" 5731 5731 { (yyval.sn) = new StatementNode2( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5732 5732 break; … … 5735 5735 5736 5736 /* Line 1806 of yacc.c */ 5737 #line 73 0"parser.yy"5737 #line 731 "parser.yy" 5738 5738 { 5739 5739 StatementNode *sw = new StatementNode2( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5743 5743 // therefore, are removed from the grammar even though C allows it. The change also applies to choose 5744 5744 // statement. 5745 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode 2( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) : sw;5745 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw; 5746 5746 } 5747 5747 break; … … 5750 5750 5751 5751 /* Line 1806 of yacc.c */ 5752 #line 74 0"parser.yy"5752 #line 741 "parser.yy" 5753 5753 { (yyval.sn) = new StatementNode2( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5754 5754 break; … … 5757 5757 5758 5758 /* Line 1806 of yacc.c */ 5759 #line 74 2"parser.yy"5759 #line 743 "parser.yy" 5760 5760 { 5761 5761 StatementNode *sw = new StatementNode2( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); 5762 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode 2( (yyvsp[(7) - (9)].decl) ))->set_last( sw )) ) : sw;5762 (yyval.sn) = (yyvsp[(7) - (9)].decl) != 0 ? new CompoundStmtNode( (StatementNode *)((new StatementNode( (yyvsp[(7) - (9)].decl) ))->set_link( sw )) ) : sw; 5763 5763 } 5764 5764 break; … … 5767 5767 5768 5768 /* Line 1806 of yacc.c */ 5769 #line 75 2"parser.yy"5769 #line 753 "parser.yy" 5770 5770 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5771 5771 break; … … 5774 5774 5775 5775 /* Line 1806 of yacc.c */ 5776 #line 75 4"parser.yy"5776 #line 755 "parser.yy" 5777 5777 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5778 5778 break; … … 5781 5781 5782 5782 /* Line 1806 of yacc.c */ 5783 #line 7 59"parser.yy"5783 #line 761 "parser.yy" 5784 5784 { (yyval.sn) = new StatementNode2( build_case( (yyvsp[(1) - (1)].en) ) ); } 5785 5785 break; … … 5788 5788 5789 5789 /* Line 1806 of yacc.c */ 5790 #line 76 1"parser.yy"5791 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_l ast( new StatementNode2( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); }5790 #line 763 "parser.yy" 5791 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode2( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5792 5792 break; 5793 5793 … … 5795 5795 5796 5796 /* Line 1806 of yacc.c */ 5797 #line 76 5"parser.yy"5797 #line 767 "parser.yy" 5798 5798 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5799 5799 break; … … 5802 5802 5803 5803 /* Line 1806 of yacc.c */ 5804 #line 76 6"parser.yy"5804 #line 768 "parser.yy" 5805 5805 { (yyval.sn) = new StatementNode2( build_default() ); } 5806 5806 break; … … 5809 5809 5810 5810 /* Line 1806 of yacc.c */ 5811 #line 77 2"parser.yy"5812 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_l ast( (yyvsp[(2) - (2)].sn) )); }5811 #line 774 "parser.yy" 5812 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); } 5813 5813 break; 5814 5814 … … 5816 5816 5817 5817 /* Line 1806 of yacc.c */ 5818 #line 77 6"parser.yy"5818 #line 778 "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 1"parser.yy"5825 #line 783 "parser.yy" 5826 5826 { (yyval.sn) = 0; } 5827 5827 break; … … 5830 5830 5831 5831 /* Line 1806 of yacc.c */ 5832 #line 78 7"parser.yy"5832 #line 789 "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 7 89"parser.yy"5840 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_l ast( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); }5839 #line 791 "parser.yy" 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; 5842 5842 … … 5844 5844 5845 5845 /* Line 1806 of yacc.c */ 5846 #line 79 4"parser.yy"5846 #line 796 "parser.yy" 5847 5847 { (yyval.sn) = 0; } 5848 5848 break; … … 5851 5851 5852 5852 /* Line 1806 of yacc.c */ 5853 #line 80 0"parser.yy"5853 #line 802 "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 2"parser.yy"5860 #line 804 "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 4"parser.yy"5868 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_l ast( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }5867 #line 806 "parser.yy" 5868 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5869 5869 break; 5870 5870 … … 5872 5872 5873 5873 /* Line 1806 of yacc.c */ 5874 #line 80 6"parser.yy"5875 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_l ast( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); }5874 #line 808 "parser.yy" 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; 5877 5877 … … 5879 5879 5880 5880 /* Line 1806 of yacc.c */ 5881 #line 81 1"parser.yy"5881 #line 813 "parser.yy" 5882 5882 { (yyval.sn) = new StatementNode2( build_branch( "", BranchStmt::Break ) ); } 5883 5883 break; 5884 5884 5885 5885 case 177: 5886 5887 /* Line 1806 of yacc.c */5888 #line 817 "parser.yy"5889 { (yyval.sn) = 0; }5890 break;5891 5892 case 178:5893 5886 5894 5887 /* Line 1806 of yacc.c */ … … 5897 5890 break; 5898 5891 5892 case 178: 5893 5894 /* Line 1806 of yacc.c */ 5895 #line 821 "parser.yy" 5896 { (yyval.sn) = 0; } 5897 break; 5898 5899 5899 case 179: 5900 5900 5901 5901 /* Line 1806 of yacc.c */ 5902 #line 82 4"parser.yy"5902 #line 826 "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 6"parser.yy"5909 #line 828 "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 28"parser.yy"5916 #line 830 "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 3"parser.yy"5923 #line 835 "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 5"parser.yy"5930 #line 837 "parser.yy" 5931 5931 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5932 5932 break; … … 5935 5935 5936 5936 /* Line 1806 of yacc.c */ 5937 #line 84 0"parser.yy"5937 #line 842 "parser.yy" 5938 5938 { (yyval.sn) = new StatementNode2( build_branch( *(yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5939 5939 break; … … 5942 5942 5943 5943 /* Line 1806 of yacc.c */ 5944 #line 84 4"parser.yy"5944 #line 846 "parser.yy" 5945 5945 { (yyval.sn) = new StatementNode2( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5946 5946 break; … … 5949 5949 5950 5950 /* Line 1806 of yacc.c */ 5951 #line 84 7"parser.yy"5951 #line 849 "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 1"parser.yy"5958 #line 853 "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 4"parser.yy"5965 #line 856 "parser.yy" 5966 5966 { (yyval.sn) = new StatementNode2( build_branch( "", BranchStmt::Break ) ); } 5967 5967 break; … … 5970 5970 5971 5971 /* Line 1806 of yacc.c */ 5972 #line 8 58"parser.yy"5972 #line 860 "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 0"parser.yy"5979 #line 862 "parser.yy" 5980 5980 { (yyval.sn) = new StatementNode2( build_return( (yyvsp[(2) - (3)].en) ) ); } 5981 5981 break; 5982 5982 5983 5983 case 191: 5984 5985 /* Line 1806 of yacc.c */5986 #line 862 "parser.yy"5987 { (yyval.sn) = new StatementNode2( build_throw( (yyvsp[(2) - (3)].en) ) ); }5988 break;5989 5990 case 192:5991 5984 5992 5985 /* Line 1806 of yacc.c */ … … 5995 5988 break; 5996 5989 5990 case 192: 5991 5992 /* Line 1806 of yacc.c */ 5993 #line 866 "parser.yy" 5994 { (yyval.sn) = new StatementNode2( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5995 break; 5996 5997 5997 case 193: 5998 5998 5999 5999 /* Line 1806 of yacc.c */ 6000 #line 86 6"parser.yy"6000 #line 868 "parser.yy" 6001 6001 { (yyval.sn) = new StatementNode2( build_throw( (yyvsp[(2) - (5)].en) ) ); } 6002 6002 break; … … 6005 6005 6006 6006 /* Line 1806 of yacc.c */ 6007 #line 87 1"parser.yy"6008 { (yyval.sn) = new StatementNode 2( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 )); }6007 #line 873 "parser.yy" 6008 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6009 6009 break; 6010 6010 … … 6012 6012 6013 6013 /* Line 1806 of yacc.c */ 6014 #line 87 3"parser.yy"6015 { (yyval.sn) = new StatementNode 2( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) )); }6014 #line 875 "parser.yy" 6015 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6016 6016 break; 6017 6017 … … 6019 6019 6020 6020 /* Line 1806 of yacc.c */ 6021 #line 875 "parser.yy" 6022 { (yyval.sn) = new StatementNode2( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 6021 #line 877 "parser.yy" 6022 { 6023 (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) ); 6024 (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (4)].sn),*(yyvsp[(3) - (4)].pn) )))); 6025 } 6023 6026 break; 6024 6027 … … 6026 6029 6027 6030 /* Line 1806 of yacc.c */ 6028 #line 88 2"parser.yy"6029 { (yyval. sn) = new StatementNode2( build_catch( 0, (yyvsp[(5) - (5)].sn), true )); }6031 #line 888 "parser.yy" 6032 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6030 6033 break; 6031 6034 … … 6033 6036 6034 6037 /* Line 1806 of yacc.c */ 6035 #line 8 84"parser.yy"6036 { (yyval. sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode2( build_catch( 0, (yyvsp[(6) - (6)].sn), true )) ); }6038 #line 890 "parser.yy" 6039 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6037 6040 break; 6038 6041 … … 6040 6043 6041 6044 /* Line 1806 of yacc.c */ 6042 #line 8 86"parser.yy"6043 { (yyval. sn) = new StatementNode2( build_catch( 0, (yyvsp[(5) - (5)].sn), true )); }6045 #line 892 "parser.yy" 6046 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6044 6047 break; 6045 6048 … … 6047 6050 6048 6051 /* Line 1806 of yacc.c */ 6049 #line 8 88"parser.yy"6050 { (yyval. sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode2( build_catch( 0, (yyvsp[(6) - (6)].sn), true )) ); }6052 #line 894 "parser.yy" 6053 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6051 6054 break; 6052 6055 … … 6054 6057 6055 6058 /* Line 1806 of yacc.c */ 6056 #line 89 3"parser.yy"6057 { (yyval. sn) = new StatementNode2( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn)) ); }6059 #line 899 "parser.yy" 6060 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6058 6061 break; 6059 6062 … … 6061 6064 6062 6065 /* Line 1806 of yacc.c */ 6063 #line 895"parser.yy"6064 { (yyval. sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode2( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn)) ) ); }6066 #line 901 "parser.yy" 6067 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6065 6068 break; 6066 6069 … … 6068 6071 6069 6072 /* Line 1806 of yacc.c */ 6070 #line 897"parser.yy"6071 { (yyval. sn) = new StatementNode2( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn)) ); }6073 #line 903 "parser.yy" 6074 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6072 6075 break; 6073 6076 … … 6075 6078 6076 6079 /* Line 1806 of yacc.c */ 6077 #line 899"parser.yy"6078 { (yyval. sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode2( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn)) ) ); }6080 #line 905 "parser.yy" 6081 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6079 6082 break; 6080 6083 … … 6082 6085 6083 6086 /* Line 1806 of yacc.c */ 6084 #line 9 04"parser.yy"6087 #line 910 "parser.yy" 6085 6088 { 6086 (yyval.sn) = new StatementNode2( build_finally( (yyvsp[(2) - (2)].sn) ) ); 6089 (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) ); 6090 std::cout << "Just created a finally node" << std::endl; 6087 6091 } 6088 6092 break; … … 6091 6095 6092 6096 /* Line 1806 of yacc.c */ 6093 #line 9 17"parser.yy"6097 #line 924 "parser.yy" 6094 6098 { 6095 6099 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6101 6105 6102 6106 /* Line 1806 of yacc.c */ 6103 #line 92 2"parser.yy"6107 #line 929 "parser.yy" 6104 6108 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6105 6109 break; … … 6108 6112 6109 6113 /* Line 1806 of yacc.c */ 6110 #line 9 24"parser.yy"6114 #line 931 "parser.yy" 6111 6115 { 6112 6116 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6118 6122 6119 6123 /* Line 1806 of yacc.c */ 6120 #line 9 33"parser.yy"6121 { (yyval.sn) = new AsmStmtNode( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); }6124 #line 940 "parser.yy" 6125 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); } 6122 6126 break; 6123 6127 … … 6125 6129 6126 6130 /* Line 1806 of yacc.c */ 6127 #line 9 35"parser.yy"6128 { (yyval.sn) = new AsmStmtNode( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }6131 #line 942 "parser.yy" 6132 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); } 6129 6133 break; 6130 6134 … … 6132 6136 6133 6137 /* Line 1806 of yacc.c */ 6134 #line 9 37"parser.yy"6135 { (yyval.sn) = new AsmStmtNode( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }6138 #line 944 "parser.yy" 6139 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); } 6136 6140 break; 6137 6141 … … 6139 6143 6140 6144 /* Line 1806 of yacc.c */ 6141 #line 9 39"parser.yy"6142 { (yyval.sn) = new AsmStmtNode( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ); }6145 #line 946 "parser.yy" 6146 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ); } 6143 6147 break; 6144 6148 … … 6146 6150 6147 6151 /* Line 1806 of yacc.c */ 6148 #line 94 1"parser.yy"6149 { (yyval.sn) = new AsmStmtNode( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ); }6152 #line 948 "parser.yy" 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) ); } 6150 6154 break; 6151 6155 … … 6153 6157 6154 6158 /* Line 1806 of yacc.c */ 6155 #line 9 46"parser.yy"6159 #line 953 "parser.yy" 6156 6160 { (yyval.flag) = false; } 6157 6161 break; … … 6160 6164 6161 6165 /* Line 1806 of yacc.c */ 6162 #line 9 48"parser.yy"6166 #line 955 "parser.yy" 6163 6167 { (yyval.flag) = true; } 6164 6168 break; … … 6167 6171 6168 6172 /* Line 1806 of yacc.c */ 6169 #line 9 53"parser.yy"6173 #line 960 "parser.yy" 6170 6174 { (yyval.en) = 0; } 6171 6175 break; … … 6174 6178 6175 6179 /* Line 1806 of yacc.c */ 6176 #line 96 0"parser.yy"6177 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ast( (yyvsp[(3) - (3)].en) ); }6180 #line 967 "parser.yy" 6181 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 6178 6182 break; 6179 6183 … … 6181 6185 6182 6186 /* Line 1806 of yacc.c */ 6183 #line 9 65"parser.yy"6187 #line 972 "parser.yy" 6184 6188 { (yyval.en) = new ExpressionNode( build_asm( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6185 6189 break; … … 6188 6192 6189 6193 /* Line 1806 of yacc.c */ 6190 #line 9 67"parser.yy"6194 #line 974 "parser.yy" 6191 6195 { (yyval.en) = new ExpressionNode( build_asm( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6192 6196 break; … … 6195 6199 6196 6200 /* Line 1806 of yacc.c */ 6197 #line 97 2"parser.yy"6201 #line 979 "parser.yy" 6198 6202 { (yyval.en) = 0; } 6199 6203 break; … … 6202 6206 6203 6207 /* Line 1806 of yacc.c */ 6204 #line 9 74"parser.yy"6208 #line 981 "parser.yy" 6205 6209 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6206 6210 break; … … 6209 6213 6210 6214 /* Line 1806 of yacc.c */ 6211 #line 9 76"parser.yy"6212 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_l ast( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); }6215 #line 983 "parser.yy" 6216 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6213 6217 break; 6214 6218 … … 6216 6220 6217 6221 /* Line 1806 of yacc.c */ 6218 #line 98 1"parser.yy"6222 #line 988 "parser.yy" 6219 6223 { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); } 6220 6224 break; … … 6223 6227 6224 6228 /* Line 1806 of yacc.c */ 6225 #line 9 83"parser.yy"6229 #line 990 "parser.yy" 6226 6230 { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); } 6227 6231 break; … … 6230 6234 6231 6235 /* Line 1806 of yacc.c */ 6232 #line 99 0"parser.yy"6236 #line 997 "parser.yy" 6233 6237 { (yyval.decl) = 0; } 6234 6238 break; … … 6237 6241 6238 6242 /* Line 1806 of yacc.c */ 6239 #line 997"parser.yy"6243 #line 1004 "parser.yy" 6240 6244 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6241 6245 break; … … 6244 6248 6245 6249 /* Line 1806 of yacc.c */ 6246 #line 100 2"parser.yy"6250 #line 1009 "parser.yy" 6247 6251 { (yyval.decl) = 0; } 6248 6252 break; … … 6251 6255 6252 6256 /* Line 1806 of yacc.c */ 6253 #line 10 09"parser.yy"6257 #line 1016 "parser.yy" 6254 6258 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6255 6259 break; … … 6258 6262 6259 6263 /* Line 1806 of yacc.c */ 6260 #line 10 23"parser.yy"6264 #line 1030 "parser.yy" 6261 6265 {} 6262 6266 break; … … 6265 6269 6266 6270 /* Line 1806 of yacc.c */ 6267 #line 10 24"parser.yy"6271 #line 1031 "parser.yy" 6268 6272 {} 6269 6273 break; … … 6272 6276 6273 6277 /* Line 1806 of yacc.c */ 6274 #line 10 53"parser.yy"6278 #line 1060 "parser.yy" 6275 6279 { 6276 6280 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6282 6286 6283 6287 /* Line 1806 of yacc.c */ 6284 #line 106 0"parser.yy"6288 #line 1067 "parser.yy" 6285 6289 { 6286 6290 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6292 6296 6293 6297 /* Line 1806 of yacc.c */ 6294 #line 10 65"parser.yy"6298 #line 1072 "parser.yy" 6295 6299 { 6296 6300 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6302 6306 6303 6307 /* Line 1806 of yacc.c */ 6304 #line 10 75"parser.yy"6308 #line 1082 "parser.yy" 6305 6309 { 6306 6310 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6312 6316 6313 6317 /* Line 1806 of yacc.c */ 6314 #line 108 0"parser.yy"6318 #line 1087 "parser.yy" 6315 6319 { 6316 6320 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6322 6326 6323 6327 /* Line 1806 of yacc.c */ 6324 #line 10 85"parser.yy"6328 #line 1092 "parser.yy" 6325 6329 { 6326 6330 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6332 6336 6333 6337 /* Line 1806 of yacc.c */ 6334 #line 1 093"parser.yy"6338 #line 1100 "parser.yy" 6335 6339 { 6336 6340 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6342 6346 6343 6347 /* Line 1806 of yacc.c */ 6344 #line 1 098"parser.yy"6348 #line 1105 "parser.yy" 6345 6349 { 6346 6350 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6352 6356 6353 6357 /* Line 1806 of yacc.c */ 6354 #line 11 03"parser.yy"6358 #line 1110 "parser.yy" 6355 6359 { 6356 6360 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6362 6366 6363 6367 /* Line 1806 of yacc.c */ 6364 #line 11 08"parser.yy"6368 #line 1115 "parser.yy" 6365 6369 { 6366 6370 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6372 6376 6373 6377 /* Line 1806 of yacc.c */ 6374 #line 11 13"parser.yy"6378 #line 1120 "parser.yy" 6375 6379 { 6376 6380 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6382 6386 6383 6387 /* Line 1806 of yacc.c */ 6384 #line 112 1"parser.yy"6388 #line 1128 "parser.yy" 6385 6389 { 6386 6390 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6391 6395 6392 6396 /* Line 1806 of yacc.c */ 6393 #line 11 44"parser.yy"6397 #line 1151 "parser.yy" 6394 6398 { 6395 6399 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6400 6404 6401 6405 /* Line 1806 of yacc.c */ 6402 #line 11 48"parser.yy"6406 #line 1155 "parser.yy" 6403 6407 { 6404 6408 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6409 6413 6410 6414 /* Line 1806 of yacc.c */ 6411 #line 11 55"parser.yy"6415 #line 1162 "parser.yy" 6412 6416 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6413 6417 break; … … 6416 6420 6417 6421 /* Line 1806 of yacc.c */ 6418 #line 11 59"parser.yy"6422 #line 1166 "parser.yy" 6419 6423 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6420 6424 break; … … 6423 6427 6424 6428 /* Line 1806 of yacc.c */ 6425 #line 11 64"parser.yy"6429 #line 1171 "parser.yy" 6426 6430 { 6427 6431 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6433 6437 6434 6438 /* Line 1806 of yacc.c */ 6435 #line 11 69"parser.yy"6439 #line 1176 "parser.yy" 6436 6440 { 6437 6441 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6443 6447 6444 6448 /* Line 1806 of yacc.c */ 6445 #line 11 74"parser.yy"6449 #line 1181 "parser.yy" 6446 6450 { 6447 6451 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6453 6457 6454 6458 /* Line 1806 of yacc.c */ 6455 #line 11 85"parser.yy"6459 #line 1192 "parser.yy" 6456 6460 { 6457 6461 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6463 6467 6464 6468 /* Line 1806 of yacc.c */ 6465 #line 119 0"parser.yy"6469 #line 1197 "parser.yy" 6466 6470 { 6467 6471 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6473 6477 6474 6478 /* Line 1806 of yacc.c */ 6475 #line 1 195"parser.yy"6479 #line 1202 "parser.yy" 6476 6480 { 6477 6481 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6483 6487 6484 6488 /* Line 1806 of yacc.c */ 6485 #line 120 0"parser.yy"6489 #line 1207 "parser.yy" 6486 6490 { 6487 6491 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6493 6497 6494 6498 /* Line 1806 of yacc.c */ 6495 #line 12 05"parser.yy"6499 #line 1212 "parser.yy" 6496 6500 { 6497 6501 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6503 6507 6504 6508 /* Line 1806 of yacc.c */ 6505 #line 12 14"parser.yy"6509 #line 1221 "parser.yy" 6506 6510 { 6507 6511 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6513 6517 6514 6518 /* Line 1806 of yacc.c */ 6515 #line 12 19"parser.yy"6519 #line 1226 "parser.yy" 6516 6520 { 6517 6521 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6523 6527 6524 6528 /* Line 1806 of yacc.c */ 6525 #line 12 36"parser.yy"6529 #line 1243 "parser.yy" 6526 6530 { 6527 6531 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6533 6537 6534 6538 /* Line 1806 of yacc.c */ 6535 #line 124 1"parser.yy"6539 #line 1248 "parser.yy" 6536 6540 { 6537 6541 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6543 6547 6544 6548 /* Line 1806 of yacc.c */ 6545 #line 12 63"parser.yy"6549 #line 1270 "parser.yy" 6546 6550 { (yyval.decl) = 0; } 6547 6551 break; … … 6550 6554 6551 6555 /* Line 1806 of yacc.c */ 6552 #line 12 75"parser.yy"6556 #line 1282 "parser.yy" 6553 6557 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6554 6558 break; … … 6557 6561 6558 6562 /* Line 1806 of yacc.c */ 6559 #line 12 86"parser.yy"6563 #line 1293 "parser.yy" 6560 6564 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6561 6565 break; … … 6564 6568 6565 6569 /* Line 1806 of yacc.c */ 6566 #line 12 88"parser.yy"6570 #line 1295 "parser.yy" 6567 6571 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6568 6572 break; … … 6571 6575 6572 6576 /* Line 1806 of yacc.c */ 6573 #line 129 0"parser.yy"6577 #line 1297 "parser.yy" 6574 6578 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6575 6579 break; … … 6578 6582 6579 6583 /* Line 1806 of yacc.c */ 6580 #line 129 2"parser.yy"6584 #line 1299 "parser.yy" 6581 6585 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6582 6586 break; … … 6585 6589 6586 6590 /* Line 1806 of yacc.c */ 6587 #line 1 294"parser.yy"6591 #line 1301 "parser.yy" 6588 6592 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6589 6593 break; … … 6592 6596 6593 6597 /* Line 1806 of yacc.c */ 6594 #line 1 296"parser.yy"6598 #line 1303 "parser.yy" 6595 6599 { 6596 6600 typedefTable.enterScope(); … … 6601 6605 6602 6606 /* Line 1806 of yacc.c */ 6603 #line 130 0"parser.yy"6607 #line 1307 "parser.yy" 6604 6608 { 6605 6609 typedefTable.leaveScope(); … … 6611 6615 6612 6616 /* Line 1806 of yacc.c */ 6613 #line 13 09"parser.yy"6617 #line 1316 "parser.yy" 6614 6618 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6615 6619 break; … … 6618 6622 6619 6623 /* Line 1806 of yacc.c */ 6620 #line 131 1"parser.yy"6624 #line 1318 "parser.yy" 6621 6625 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6622 6626 break; … … 6625 6629 6626 6630 /* Line 1806 of yacc.c */ 6627 #line 132 2"parser.yy"6631 #line 1329 "parser.yy" 6628 6632 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6629 6633 break; … … 6632 6636 6633 6637 /* Line 1806 of yacc.c */ 6634 #line 133 1"parser.yy"6638 #line 1338 "parser.yy" 6635 6639 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6636 6640 break; … … 6639 6643 6640 6644 /* Line 1806 of yacc.c */ 6641 #line 13 33"parser.yy"6645 #line 1340 "parser.yy" 6642 6646 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6643 6647 break; … … 6646 6650 6647 6651 /* Line 1806 of yacc.c */ 6648 #line 13 35"parser.yy"6652 #line 1342 "parser.yy" 6649 6653 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6650 6654 break; … … 6653 6657 6654 6658 /* Line 1806 of yacc.c */ 6655 #line 13 37"parser.yy"6659 #line 1344 "parser.yy" 6656 6660 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6657 6661 break; … … 6660 6664 6661 6665 /* Line 1806 of yacc.c */ 6662 #line 13 39"parser.yy"6666 #line 1346 "parser.yy" 6663 6667 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6664 6668 break; … … 6667 6671 6668 6672 /* Line 1806 of yacc.c */ 6669 #line 134 1"parser.yy"6673 #line 1348 "parser.yy" 6670 6674 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6671 6675 break; … … 6674 6678 6675 6679 /* Line 1806 of yacc.c */ 6676 #line 13 43"parser.yy"6680 #line 1350 "parser.yy" 6677 6681 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6678 6682 break; … … 6681 6685 6682 6686 /* Line 1806 of yacc.c */ 6683 #line 13 45"parser.yy"6687 #line 1352 "parser.yy" 6684 6688 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6685 6689 break; … … 6688 6692 6689 6693 /* Line 1806 of yacc.c */ 6690 #line 135 0"parser.yy"6694 #line 1357 "parser.yy" 6691 6695 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6692 6696 break; … … 6695 6699 6696 6700 /* Line 1806 of yacc.c */ 6697 #line 135 2"parser.yy"6701 #line 1359 "parser.yy" 6698 6702 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6699 6703 break; … … 6702 6706 6703 6707 /* Line 1806 of yacc.c */ 6704 #line 13 54"parser.yy"6708 #line 1361 "parser.yy" 6705 6709 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6706 6710 break; … … 6709 6713 6710 6714 /* Line 1806 of yacc.c */ 6711 #line 13 56"parser.yy"6715 #line 1363 "parser.yy" 6712 6716 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6713 6717 break; … … 6716 6720 6717 6721 /* Line 1806 of yacc.c */ 6718 #line 13 58"parser.yy"6722 #line 1365 "parser.yy" 6719 6723 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6720 6724 break; … … 6723 6727 6724 6728 /* Line 1806 of yacc.c */ 6725 #line 136 0"parser.yy"6729 #line 1367 "parser.yy" 6726 6730 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6727 6731 break; … … 6730 6734 6731 6735 /* Line 1806 of yacc.c */ 6732 #line 136 2"parser.yy"6736 #line 1369 "parser.yy" 6733 6737 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6734 6738 break; … … 6737 6741 6738 6742 /* Line 1806 of yacc.c */ 6739 #line 13 64"parser.yy"6743 #line 1371 "parser.yy" 6740 6744 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6741 6745 break; … … 6744 6748 6745 6749 /* Line 1806 of yacc.c */ 6746 #line 13 66"parser.yy"6750 #line 1373 "parser.yy" 6747 6751 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6748 6752 break; … … 6751 6755 6752 6756 /* Line 1806 of yacc.c */ 6753 #line 13 68"parser.yy"6757 #line 1375 "parser.yy" 6754 6758 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6755 6759 break; … … 6758 6762 6759 6763 /* Line 1806 of yacc.c */ 6760 #line 137 0"parser.yy"6764 #line 1377 "parser.yy" 6761 6765 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6762 6766 break; … … 6765 6769 6766 6770 /* Line 1806 of yacc.c */ 6767 #line 137 2"parser.yy"6771 #line 1379 "parser.yy" 6768 6772 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6769 6773 break; … … 6772 6776 6773 6777 /* Line 1806 of yacc.c */ 6774 #line 13 74"parser.yy"6778 #line 1381 "parser.yy" 6775 6779 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6776 6780 break; … … 6779 6783 6780 6784 /* Line 1806 of yacc.c */ 6781 #line 138 1"parser.yy"6785 #line 1388 "parser.yy" 6782 6786 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6783 6787 break; … … 6786 6790 6787 6791 /* Line 1806 of yacc.c */ 6788 #line 13 83"parser.yy"6792 #line 1390 "parser.yy" 6789 6793 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6790 6794 break; … … 6793 6797 6794 6798 /* Line 1806 of yacc.c */ 6795 #line 13 85"parser.yy"6799 #line 1392 "parser.yy" 6796 6800 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6797 6801 break; … … 6800 6804 6801 6805 /* Line 1806 of yacc.c */ 6802 #line 13 87"parser.yy"6806 #line 1394 "parser.yy" 6803 6807 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6804 6808 break; … … 6807 6811 6808 6812 /* Line 1806 of yacc.c */ 6809 #line 1 393"parser.yy"6813 #line 1400 "parser.yy" 6810 6814 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6811 6815 break; … … 6814 6818 6815 6819 /* Line 1806 of yacc.c */ 6816 #line 140 0"parser.yy"6820 #line 1407 "parser.yy" 6817 6821 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6818 6822 break; … … 6821 6825 6822 6826 /* Line 1806 of yacc.c */ 6823 #line 140 2"parser.yy"6827 #line 1409 "parser.yy" 6824 6828 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6825 6829 break; … … 6828 6832 6829 6833 /* Line 1806 of yacc.c */ 6830 #line 14 04"parser.yy"6834 #line 1411 "parser.yy" 6831 6835 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6832 6836 break; … … 6835 6839 6836 6840 /* Line 1806 of yacc.c */ 6837 #line 14 09"parser.yy"6841 #line 1416 "parser.yy" 6838 6842 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6839 6843 break; … … 6842 6846 6843 6847 /* Line 1806 of yacc.c */ 6844 #line 141 1"parser.yy"6848 #line 1418 "parser.yy" 6845 6849 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6846 6850 break; … … 6849 6853 6850 6854 /* Line 1806 of yacc.c */ 6851 #line 14 13"parser.yy"6855 #line 1420 "parser.yy" 6852 6856 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6853 6857 break; … … 6856 6860 6857 6861 /* Line 1806 of yacc.c */ 6858 #line 14 15"parser.yy"6862 #line 1422 "parser.yy" 6859 6863 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6860 6864 break; … … 6863 6867 6864 6868 /* Line 1806 of yacc.c */ 6865 #line 142 1"parser.yy"6869 #line 1428 "parser.yy" 6866 6870 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6867 6871 break; … … 6870 6874 6871 6875 /* Line 1806 of yacc.c */ 6872 #line 14 23"parser.yy"6876 #line 1430 "parser.yy" 6873 6877 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6874 6878 break; … … 6877 6881 6878 6882 /* Line 1806 of yacc.c */ 6879 #line 14 25"parser.yy"6883 #line 1432 "parser.yy" 6880 6884 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6881 6885 break; … … 6884 6888 6885 6889 /* Line 1806 of yacc.c */ 6886 #line 143 1"parser.yy"6890 #line 1438 "parser.yy" 6887 6891 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6888 6892 break; … … 6891 6895 6892 6896 /* Line 1806 of yacc.c */ 6893 #line 14 33"parser.yy"6897 #line 1440 "parser.yy" 6894 6898 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6895 6899 break; … … 6898 6902 6899 6903 /* Line 1806 of yacc.c */ 6900 #line 14 39"parser.yy"6904 #line 1446 "parser.yy" 6901 6905 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6902 6906 break; … … 6905 6909 6906 6910 /* Line 1806 of yacc.c */ 6907 #line 144 1"parser.yy"6911 #line 1448 "parser.yy" 6908 6912 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6909 6913 break; … … 6912 6916 6913 6917 /* Line 1806 of yacc.c */ 6914 #line 14 43"parser.yy"6918 #line 1450 "parser.yy" 6915 6919 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6916 6920 break; … … 6919 6923 6920 6924 /* Line 1806 of yacc.c */ 6921 #line 14 48"parser.yy"6925 #line 1455 "parser.yy" 6922 6926 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6923 6927 break; … … 6926 6930 6927 6931 /* Line 1806 of yacc.c */ 6928 #line 145 0"parser.yy"6932 #line 1457 "parser.yy" 6929 6933 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6930 6934 break; … … 6933 6937 6934 6938 /* Line 1806 of yacc.c */ 6935 #line 145 2"parser.yy"6939 #line 1459 "parser.yy" 6936 6940 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6937 6941 break; … … 6940 6944 6941 6945 /* Line 1806 of yacc.c */ 6942 #line 146 2"parser.yy"6946 #line 1469 "parser.yy" 6943 6947 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); } 6944 6948 break; … … 6947 6951 6948 6952 /* Line 1806 of yacc.c */ 6949 #line 14 64"parser.yy"6953 #line 1471 "parser.yy" 6950 6954 { 6951 6955 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6957 6961 6958 6962 /* Line 1806 of yacc.c */ 6959 #line 14 69"parser.yy"6963 #line 1476 "parser.yy" 6960 6964 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6961 6965 break; … … 6964 6968 6965 6969 /* Line 1806 of yacc.c */ 6966 #line 147 1"parser.yy"6970 #line 1478 "parser.yy" 6967 6971 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); } 6968 6972 break; … … 6971 6975 6972 6976 /* Line 1806 of yacc.c */ 6973 #line 14 73"parser.yy"6977 #line 1480 "parser.yy" 6974 6978 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 6975 6979 break; … … 6978 6982 6979 6983 /* Line 1806 of yacc.c */ 6980 #line 14 75"parser.yy"6984 #line 1482 "parser.yy" 6981 6985 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6982 6986 break; … … 6985 6989 6986 6990 /* Line 1806 of yacc.c */ 6987 #line 148 0"parser.yy"6991 #line 1487 "parser.yy" 6988 6992 { (yyval.aggKey) = DeclarationNode::Struct; } 6989 6993 break; … … 6992 6996 6993 6997 /* Line 1806 of yacc.c */ 6994 #line 148 2"parser.yy"6998 #line 1489 "parser.yy" 6995 6999 { (yyval.aggKey) = DeclarationNode::Union; } 6996 7000 break; … … 6999 7003 7000 7004 /* Line 1806 of yacc.c */ 7001 #line 14 87"parser.yy"7005 #line 1494 "parser.yy" 7002 7006 { (yyval.decl) = 0; } 7003 7007 break; … … 7006 7010 7007 7011 /* Line 1806 of yacc.c */ 7008 #line 14 89"parser.yy"7012 #line 1496 "parser.yy" 7009 7013 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7010 7014 break; … … 7013 7017 7014 7018 /* Line 1806 of yacc.c */ 7015 #line 1 495"parser.yy"7019 #line 1502 "parser.yy" 7016 7020 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7017 7021 break; … … 7020 7024 7021 7025 /* Line 1806 of yacc.c */ 7022 #line 1 498"parser.yy"7026 #line 1505 "parser.yy" 7023 7027 { // mark all fields in list 7024 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_ next() )7028 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 7025 7029 iter->set_extension( true ); 7026 7030 (yyval.decl) = (yyvsp[(2) - (3)].decl); … … 7031 7035 7032 7036 /* Line 1806 of yacc.c */ 7033 #line 15 08"parser.yy"7037 #line 1515 "parser.yy" 7034 7038 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7035 7039 break; … … 7038 7042 7039 7043 /* Line 1806 of yacc.c */ 7040 #line 151 0"parser.yy"7044 #line 1517 "parser.yy" 7041 7045 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7042 7046 break; … … 7045 7049 7046 7050 /* Line 1806 of yacc.c */ 7047 #line 151 2"parser.yy"7051 #line 1519 "parser.yy" 7048 7052 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7049 7053 break; … … 7052 7056 7053 7057 /* Line 1806 of yacc.c */ 7054 #line 15 17"parser.yy"7058 #line 1524 "parser.yy" 7055 7059 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7056 7060 break; … … 7059 7063 7060 7064 /* Line 1806 of yacc.c */ 7061 #line 15 19"parser.yy"7065 #line 1526 "parser.yy" 7062 7066 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7063 7067 break; … … 7066 7070 7067 7071 /* Line 1806 of yacc.c */ 7068 #line 15 24"parser.yy"7072 #line 1531 "parser.yy" 7069 7073 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7070 7074 break; … … 7073 7077 7074 7078 /* Line 1806 of yacc.c */ 7075 #line 15 26"parser.yy"7079 #line 1533 "parser.yy" 7076 7080 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7077 7081 break; … … 7080 7084 7081 7085 /* Line 1806 of yacc.c */ 7082 #line 15 29"parser.yy"7086 #line 1536 "parser.yy" 7083 7087 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7084 7088 break; … … 7087 7091 7088 7092 /* Line 1806 of yacc.c */ 7089 #line 153 2"parser.yy"7093 #line 1539 "parser.yy" 7090 7094 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7091 7095 break; … … 7094 7098 7095 7099 /* Line 1806 of yacc.c */ 7096 #line 15 38"parser.yy"7100 #line 1545 "parser.yy" 7097 7101 { (yyval.en) = 0; } 7098 7102 break; … … 7101 7105 7102 7106 /* Line 1806 of yacc.c */ 7103 #line 154 0"parser.yy"7107 #line 1547 "parser.yy" 7104 7108 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7105 7109 break; … … 7108 7112 7109 7113 /* Line 1806 of yacc.c */ 7110 #line 15 45"parser.yy"7114 #line 1552 "parser.yy" 7111 7115 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7112 7116 break; … … 7115 7119 7116 7120 /* Line 1806 of yacc.c */ 7117 #line 15 54"parser.yy"7121 #line 1561 "parser.yy" 7118 7122 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7119 7123 break; … … 7122 7126 7123 7127 /* Line 1806 of yacc.c */ 7124 #line 15 56"parser.yy"7128 #line 1563 "parser.yy" 7125 7129 { 7126 7130 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7132 7136 7133 7137 /* Line 1806 of yacc.c */ 7134 #line 156 1"parser.yy"7138 #line 1568 "parser.yy" 7135 7139 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7136 7140 break; … … 7139 7143 7140 7144 /* Line 1806 of yacc.c */ 7141 #line 15 63"parser.yy"7145 #line 1570 "parser.yy" 7142 7146 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7143 7147 break; … … 7146 7150 7147 7151 /* Line 1806 of yacc.c */ 7148 #line 15 68"parser.yy"7152 #line 1575 "parser.yy" 7149 7153 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7150 7154 break; … … 7153 7157 7154 7158 /* Line 1806 of yacc.c */ 7155 #line 157 0"parser.yy"7159 #line 1577 "parser.yy" 7156 7160 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7157 7161 break; … … 7160 7164 7161 7165 /* Line 1806 of yacc.c */ 7162 #line 15 75"parser.yy"7166 #line 1582 "parser.yy" 7163 7167 { (yyval.en) = 0; } 7164 7168 break; … … 7167 7171 7168 7172 /* Line 1806 of yacc.c */ 7169 #line 15 77"parser.yy"7173 #line 1584 "parser.yy" 7170 7174 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7171 7175 break; … … 7174 7178 7175 7179 /* Line 1806 of yacc.c */ 7176 #line 15 84"parser.yy"7180 #line 1591 "parser.yy" 7177 7181 { (yyval.decl) = 0; } 7178 7182 break; … … 7181 7185 7182 7186 /* Line 1806 of yacc.c */ 7183 #line 159 2"parser.yy"7187 #line 1599 "parser.yy" 7184 7188 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7185 7189 break; … … 7188 7192 7189 7193 /* Line 1806 of yacc.c */ 7190 #line 1 594"parser.yy"7194 #line 1601 "parser.yy" 7191 7195 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7192 7196 break; … … 7195 7199 7196 7200 /* Line 1806 of yacc.c */ 7197 #line 1 596"parser.yy"7201 #line 1603 "parser.yy" 7198 7202 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7199 7203 break; … … 7202 7206 7203 7207 /* Line 1806 of yacc.c */ 7204 #line 16 04"parser.yy"7208 #line 1611 "parser.yy" 7205 7209 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7206 7210 break; … … 7209 7213 7210 7214 /* Line 1806 of yacc.c */ 7211 #line 16 06"parser.yy"7215 #line 1613 "parser.yy" 7212 7216 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7213 7217 break; … … 7216 7220 7217 7221 /* Line 1806 of yacc.c */ 7218 #line 16 08"parser.yy"7222 #line 1615 "parser.yy" 7219 7223 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7220 7224 break; … … 7223 7227 7224 7228 /* Line 1806 of yacc.c */ 7225 #line 16 14"parser.yy"7229 #line 1621 "parser.yy" 7226 7230 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7227 7231 break; … … 7230 7234 7231 7235 /* Line 1806 of yacc.c */ 7232 #line 16 19"parser.yy"7236 #line 1626 "parser.yy" 7233 7237 { (yyval.decl) = 0; } 7234 7238 break; … … 7237 7241 7238 7242 /* Line 1806 of yacc.c */ 7239 #line 16 26"parser.yy"7243 #line 1633 "parser.yy" 7240 7244 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7241 7245 break; … … 7244 7248 7245 7249 /* Line 1806 of yacc.c */ 7246 #line 16 33"parser.yy"7250 #line 1640 "parser.yy" 7247 7251 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7248 7252 break; … … 7251 7255 7252 7256 /* Line 1806 of yacc.c */ 7253 #line 16 35"parser.yy"7257 #line 1642 "parser.yy" 7254 7258 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7255 7259 break; … … 7258 7262 7259 7263 /* Line 1806 of yacc.c */ 7260 #line 16 44"parser.yy"7264 #line 1651 "parser.yy" 7261 7265 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7262 7266 break; … … 7265 7269 7266 7270 /* Line 1806 of yacc.c */ 7267 #line 16 47"parser.yy"7271 #line 1654 "parser.yy" 7268 7272 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7269 7273 break; … … 7272 7276 7273 7277 /* Line 1806 of yacc.c */ 7274 #line 16 49"parser.yy"7278 #line 1656 "parser.yy" 7275 7279 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7276 7280 break; … … 7279 7283 7280 7284 /* Line 1806 of yacc.c */ 7281 #line 16 59"parser.yy"7285 #line 1666 "parser.yy" 7282 7286 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7283 7287 break; … … 7286 7290 7287 7291 /* Line 1806 of yacc.c */ 7288 #line 16 65"parser.yy"7292 #line 1672 "parser.yy" 7289 7293 { 7290 7294 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7296 7300 7297 7301 /* Line 1806 of yacc.c */ 7298 #line 167 0"parser.yy"7302 #line 1677 "parser.yy" 7299 7303 { 7300 7304 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7306 7310 7307 7311 /* Line 1806 of yacc.c */ 7308 #line 16 79"parser.yy"7312 #line 1686 "parser.yy" 7309 7313 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7310 7314 break; … … 7313 7317 7314 7318 /* Line 1806 of yacc.c */ 7315 #line 16 88"parser.yy"7319 #line 1695 "parser.yy" 7316 7320 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7317 7321 break; … … 7320 7324 7321 7325 /* Line 1806 of yacc.c */ 7322 #line 169 0"parser.yy"7326 #line 1697 "parser.yy" 7323 7327 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7324 7328 break; … … 7327 7331 7328 7332 /* Line 1806 of yacc.c */ 7329 #line 17 15"parser.yy"7333 #line 1722 "parser.yy" 7330 7334 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7331 7335 break; … … 7334 7338 7335 7339 /* Line 1806 of yacc.c */ 7336 #line 17 23"parser.yy"7340 #line 1730 "parser.yy" 7337 7341 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7338 7342 break; … … 7341 7345 7342 7346 /* Line 1806 of yacc.c */ 7343 #line 17 28"parser.yy"7347 #line 1735 "parser.yy" 7344 7348 { (yyval.in) = 0; } 7345 7349 break; … … 7348 7352 7349 7353 /* Line 1806 of yacc.c */ 7350 #line 173 0"parser.yy"7354 #line 1737 "parser.yy" 7351 7355 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7352 7356 break; … … 7355 7359 7356 7360 /* Line 1806 of yacc.c */ 7357 #line 173 2"parser.yy"7361 #line 1739 "parser.yy" 7358 7362 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7359 7363 break; … … 7362 7366 7363 7367 /* Line 1806 of yacc.c */ 7364 #line 17 36"parser.yy"7368 #line 1743 "parser.yy" 7365 7369 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7366 7370 break; … … 7369 7373 7370 7374 /* Line 1806 of yacc.c */ 7371 #line 17 37"parser.yy"7375 #line 1744 "parser.yy" 7372 7376 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7373 7377 break; … … 7376 7380 7377 7381 /* Line 1806 of yacc.c */ 7378 #line 174 2"parser.yy"7382 #line 1749 "parser.yy" 7379 7383 { (yyval.in) = 0; } 7380 7384 break; … … 7383 7387 7384 7388 /* Line 1806 of yacc.c */ 7385 #line 17 44"parser.yy"7389 #line 1751 "parser.yy" 7386 7390 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7387 7391 break; … … 7390 7394 7391 7395 /* Line 1806 of yacc.c */ 7392 #line 17 45"parser.yy"7393 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_l ast( (yyvsp[(3) - (3)].in) ) ); }7396 #line 1752 "parser.yy" 7397 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7394 7398 break; 7395 7399 … … 7397 7401 7398 7402 /* Line 1806 of yacc.c */ 7399 #line 17 47"parser.yy"7400 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_l ast( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); }7403 #line 1754 "parser.yy" 7404 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7401 7405 break; 7402 7406 … … 7404 7408 7405 7409 /* Line 1806 of yacc.c */ 7406 #line 17 63"parser.yy"7410 #line 1770 "parser.yy" 7407 7411 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7408 7412 break; … … 7411 7415 7412 7416 /* Line 1806 of yacc.c */ 7413 #line 17 69"parser.yy"7414 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_l ast( (yyvsp[(2) - (2)].en) ) ); }7417 #line 1776 "parser.yy" 7418 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) ) ); } 7415 7419 break; 7416 7420 … … 7418 7422 7419 7423 /* Line 1806 of yacc.c */ 7420 #line 17 75"parser.yy"7424 #line 1782 "parser.yy" 7421 7425 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7422 7426 break; … … 7425 7429 7426 7430 /* Line 1806 of yacc.c */ 7427 #line 17 78"parser.yy"7431 #line 1785 "parser.yy" 7428 7432 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7429 7433 break; … … 7432 7436 7433 7437 /* Line 1806 of yacc.c */ 7434 #line 178 0"parser.yy"7438 #line 1787 "parser.yy" 7435 7439 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7436 7440 break; … … 7439 7443 7440 7444 /* Line 1806 of yacc.c */ 7441 #line 178 2"parser.yy"7445 #line 1789 "parser.yy" 7442 7446 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7443 7447 break; … … 7446 7450 7447 7451 /* Line 1806 of yacc.c */ 7448 #line 17 84"parser.yy"7452 #line 1791 "parser.yy" 7449 7453 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7450 7454 break; … … 7453 7457 7454 7458 /* Line 1806 of yacc.c */ 7455 #line 18 08"parser.yy"7459 #line 1815 "parser.yy" 7456 7460 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7457 7461 break; … … 7460 7464 7461 7465 /* Line 1806 of yacc.c */ 7462 #line 181 0"parser.yy"7466 #line 1817 "parser.yy" 7463 7467 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7464 7468 break; … … 7467 7471 7468 7472 /* Line 1806 of yacc.c */ 7469 #line 181 2"parser.yy"7473 #line 1819 "parser.yy" 7470 7474 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7471 7475 break; … … 7474 7478 7475 7479 /* Line 1806 of yacc.c */ 7476 #line 18 18"parser.yy"7480 #line 1825 "parser.yy" 7477 7481 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7478 7482 break; … … 7481 7485 7482 7486 /* Line 1806 of yacc.c */ 7483 #line 182 0"parser.yy"7487 #line 1827 "parser.yy" 7484 7488 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7485 7489 break; … … 7488 7492 7489 7493 /* Line 1806 of yacc.c */ 7490 #line 18 25"parser.yy"7494 #line 1832 "parser.yy" 7491 7495 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7492 7496 break; … … 7495 7499 7496 7500 /* Line 1806 of yacc.c */ 7497 #line 183 1"parser.yy"7501 #line 1838 "parser.yy" 7498 7502 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7499 7503 break; … … 7502 7506 7503 7507 /* Line 1806 of yacc.c */ 7504 #line 18 36"parser.yy"7508 #line 1843 "parser.yy" 7505 7509 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7506 7510 break; … … 7509 7513 7510 7514 /* Line 1806 of yacc.c */ 7511 #line 18 38"parser.yy"7515 #line 1845 "parser.yy" 7512 7516 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7513 7517 break; … … 7516 7520 7517 7521 /* Line 1806 of yacc.c */ 7518 #line 18 44"parser.yy"7522 #line 1851 "parser.yy" 7519 7523 { (yyval.tclass) = DeclarationNode::Type; } 7520 7524 break; … … 7523 7527 7524 7528 /* Line 1806 of yacc.c */ 7525 #line 18 46"parser.yy"7529 #line 1853 "parser.yy" 7526 7530 { (yyval.tclass) = DeclarationNode::Ftype; } 7527 7531 break; … … 7530 7534 7531 7535 /* Line 1806 of yacc.c */ 7532 #line 18 48"parser.yy"7536 #line 1855 "parser.yy" 7533 7537 { (yyval.tclass) = DeclarationNode::Dtype; } 7534 7538 break; … … 7537 7541 7538 7542 /* Line 1806 of yacc.c */ 7539 #line 18 53"parser.yy"7543 #line 1860 "parser.yy" 7540 7544 { (yyval.decl) = 0; } 7541 7545 break; … … 7544 7548 7545 7549 /* Line 1806 of yacc.c */ 7546 #line 18 55"parser.yy"7550 #line 1862 "parser.yy" 7547 7551 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7548 7552 break; … … 7551 7555 7552 7556 /* Line 1806 of yacc.c */ 7553 #line 186 0"parser.yy"7557 #line 1867 "parser.yy" 7554 7558 { 7555 7559 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7561 7565 7562 7566 /* Line 1806 of yacc.c */ 7563 #line 18 65"parser.yy"7567 #line 1872 "parser.yy" 7564 7568 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7565 7569 break; … … 7568 7572 7569 7573 /* Line 1806 of yacc.c */ 7570 #line 18 67"parser.yy"7574 #line 1874 "parser.yy" 7571 7575 { (yyval.decl) = 0; } 7572 7576 break; … … 7575 7579 7576 7580 /* Line 1806 of yacc.c */ 7577 #line 187 2"parser.yy"7581 #line 1879 "parser.yy" 7578 7582 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7579 7583 break; … … 7582 7586 7583 7587 /* Line 1806 of yacc.c */ 7584 #line 18 75"parser.yy"7585 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_l ast( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); }7588 #line 1882 "parser.yy" 7589 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7586 7590 break; 7587 7591 … … 7589 7593 7590 7594 /* Line 1806 of yacc.c */ 7591 #line 18 77"parser.yy"7592 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_l ast( (yyvsp[(3) - (3)].en) )); }7595 #line 1884 "parser.yy" 7596 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 7593 7597 break; 7594 7598 … … 7596 7600 7597 7601 /* Line 1806 of yacc.c */ 7598 #line 188 2"parser.yy"7602 #line 1889 "parser.yy" 7599 7603 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7600 7604 break; … … 7603 7607 7604 7608 /* Line 1806 of yacc.c */ 7605 #line 18 84"parser.yy"7609 #line 1891 "parser.yy" 7606 7610 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7607 7611 break; … … 7610 7614 7611 7615 /* Line 1806 of yacc.c */ 7612 #line 18 86"parser.yy"7616 #line 1893 "parser.yy" 7613 7617 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7614 7618 break; … … 7617 7621 7618 7622 /* Line 1806 of yacc.c */ 7619 #line 189 1"parser.yy"7623 #line 1898 "parser.yy" 7620 7624 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7621 7625 break; … … 7624 7628 7625 7629 /* Line 1806 of yacc.c */ 7626 #line 1 893"parser.yy"7630 #line 1900 "parser.yy" 7627 7631 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7628 7632 break; … … 7631 7635 7632 7636 /* Line 1806 of yacc.c */ 7633 #line 1 898"parser.yy"7637 #line 1905 "parser.yy" 7634 7638 { 7635 7639 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7641 7645 7642 7646 /* Line 1806 of yacc.c */ 7643 #line 19 03"parser.yy"7647 #line 1910 "parser.yy" 7644 7648 { 7645 7649 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7651 7655 7652 7656 /* Line 1806 of yacc.c */ 7653 #line 191 1"parser.yy"7657 #line 1918 "parser.yy" 7654 7658 { 7655 7659 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7661 7665 7662 7666 /* Line 1806 of yacc.c */ 7663 #line 19 16"parser.yy"7667 #line 1923 "parser.yy" 7664 7668 { 7665 7669 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7671 7675 7672 7676 /* Line 1806 of yacc.c */ 7673 #line 192 1"parser.yy"7677 #line 1928 "parser.yy" 7674 7678 { 7675 7679 typedefTable.leaveTrait(); … … 7682 7686 7683 7687 /* Line 1806 of yacc.c */ 7684 #line 193 1"parser.yy"7688 #line 1938 "parser.yy" 7685 7689 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7686 7690 break; … … 7689 7693 7690 7694 /* Line 1806 of yacc.c */ 7691 #line 194 1"parser.yy"7695 #line 1948 "parser.yy" 7692 7696 { 7693 7697 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7699 7703 7700 7704 /* Line 1806 of yacc.c */ 7701 #line 19 46"parser.yy"7705 #line 1953 "parser.yy" 7702 7706 { 7703 7707 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7709 7713 7710 7714 /* Line 1806 of yacc.c */ 7711 #line 195 1"parser.yy"7715 #line 1958 "parser.yy" 7712 7716 { 7713 7717 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7719 7723 7720 7724 /* Line 1806 of yacc.c */ 7721 #line 19 59"parser.yy"7725 #line 1966 "parser.yy" 7722 7726 { 7723 7727 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7729 7733 7730 7734 /* Line 1806 of yacc.c */ 7731 #line 19 64"parser.yy"7735 #line 1971 "parser.yy" 7732 7736 { 7733 7737 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7739 7743 7740 7744 /* Line 1806 of yacc.c */ 7741 #line 19 74"parser.yy"7745 #line 1981 "parser.yy" 7742 7746 {} 7743 7747 break; … … 7746 7750 7747 7751 /* Line 1806 of yacc.c */ 7748 #line 19 76"parser.yy"7752 #line 1983 "parser.yy" 7749 7753 { 7750 7754 if ( theTree ) { … … 7759 7763 7760 7764 /* Line 1806 of yacc.c */ 7761 #line 19 88"parser.yy"7765 #line 1995 "parser.yy" 7762 7766 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7763 7767 break; … … 7766 7770 7767 7771 /* Line 1806 of yacc.c */ 7768 #line 1993"parser.yy"7772 #line 2000 "parser.yy" 7769 7773 { (yyval.decl) = 0; } 7770 7774 break; … … 7773 7777 7774 7778 /* Line 1806 of yacc.c */ 7775 #line 200 1"parser.yy"7779 #line 2008 "parser.yy" 7776 7780 {} 7777 7781 break; … … 7780 7784 7781 7785 /* Line 1806 of yacc.c */ 7782 #line 20 03"parser.yy"7786 #line 2010 "parser.yy" 7783 7787 { 7784 7788 linkageStack.push( linkage ); … … 7790 7794 7791 7795 /* Line 1806 of yacc.c */ 7792 #line 20 08"parser.yy"7796 #line 2015 "parser.yy" 7793 7797 { 7794 7798 linkage = linkageStack.top(); … … 7801 7805 7802 7806 /* Line 1806 of yacc.c */ 7803 #line 20 14"parser.yy"7807 #line 2021 "parser.yy" 7804 7808 { // mark all fields in list 7805 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_ next() )7809 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 7806 7810 iter->set_extension( true ); 7807 7811 (yyval.decl) = (yyvsp[(2) - (2)].decl); … … 7812 7816 7813 7817 /* Line 1806 of yacc.c */ 7814 #line 20 29"parser.yy"7818 #line 2036 "parser.yy" 7815 7819 { 7816 7820 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7823 7827 7824 7828 /* Line 1806 of yacc.c */ 7825 #line 20 35"parser.yy"7829 #line 2042 "parser.yy" 7826 7830 { 7827 7831 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7834 7838 7835 7839 /* Line 1806 of yacc.c */ 7836 #line 20 44"parser.yy"7840 #line 2051 "parser.yy" 7837 7841 { 7838 7842 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7845 7849 7846 7850 /* Line 1806 of yacc.c */ 7847 #line 205 0"parser.yy"7851 #line 2057 "parser.yy" 7848 7852 { 7849 7853 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7856 7860 7857 7861 /* Line 1806 of yacc.c */ 7858 #line 20 56"parser.yy"7862 #line 2063 "parser.yy" 7859 7863 { 7860 7864 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7867 7871 7868 7872 /* Line 1806 of yacc.c */ 7869 #line 206 2"parser.yy"7873 #line 2069 "parser.yy" 7870 7874 { 7871 7875 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7878 7882 7879 7883 /* Line 1806 of yacc.c */ 7880 #line 20 68"parser.yy"7884 #line 2075 "parser.yy" 7881 7885 { 7882 7886 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7889 7893 7890 7894 /* Line 1806 of yacc.c */ 7891 #line 20 76"parser.yy"7895 #line 2083 "parser.yy" 7892 7896 { 7893 7897 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7900 7904 7901 7905 /* Line 1806 of yacc.c */ 7902 #line 208 2"parser.yy"7906 #line 2089 "parser.yy" 7903 7907 { 7904 7908 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7911 7915 7912 7916 /* Line 1806 of yacc.c */ 7913 #line 209 0"parser.yy"7917 #line 2097 "parser.yy" 7914 7918 { 7915 7919 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7922 7926 7923 7927 /* Line 1806 of yacc.c */ 7924 #line 2 096"parser.yy"7928 #line 2103 "parser.yy" 7925 7929 { 7926 7930 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7933 7937 7934 7938 /* Line 1806 of yacc.c */ 7935 #line 211 1"parser.yy"7939 #line 2118 "parser.yy" 7936 7940 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7937 7941 break; … … 7940 7944 7941 7945 /* Line 1806 of yacc.c */ 7942 #line 212 1"parser.yy"7946 #line 2128 "parser.yy" 7943 7947 { (yyval.decl) = 0; } 7944 7948 break; … … 7947 7951 7948 7952 /* Line 1806 of yacc.c */ 7949 #line 21 28"parser.yy"7953 #line 2135 "parser.yy" 7950 7954 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7951 7955 break; … … 7954 7958 7955 7959 /* Line 1806 of yacc.c */ 7956 #line 21 34"parser.yy"7960 #line 2141 "parser.yy" 7957 7961 { (yyval.decl) = 0; } 7958 7962 break; … … 7961 7965 7962 7966 /* Line 1806 of yacc.c */ 7963 #line 21 49"parser.yy"7967 #line 2156 "parser.yy" 7964 7968 {} 7965 7969 break; … … 7968 7972 7969 7973 /* Line 1806 of yacc.c */ 7970 #line 215 0"parser.yy"7974 #line 2157 "parser.yy" 7971 7975 {} 7972 7976 break; … … 7975 7979 7976 7980 /* Line 1806 of yacc.c */ 7977 #line 215 1"parser.yy"7981 #line 2158 "parser.yy" 7978 7982 {} 7979 7983 break; … … 7982 7986 7983 7987 /* Line 1806 of yacc.c */ 7984 #line 215 2"parser.yy"7988 #line 2159 "parser.yy" 7985 7989 {} 7986 7990 break; … … 7989 7993 7990 7994 /* Line 1806 of yacc.c */ 7991 #line 21 87"parser.yy"7995 #line 2194 "parser.yy" 7992 7996 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7993 7997 break; … … 7996 8000 7997 8001 /* Line 1806 of yacc.c */ 7998 #line 219 0"parser.yy"8002 #line 2197 "parser.yy" 7999 8003 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8000 8004 break; … … 8003 8007 8004 8008 /* Line 1806 of yacc.c */ 8005 #line 219 2"parser.yy"8009 #line 2199 "parser.yy" 8006 8010 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8007 8011 break; … … 8010 8014 8011 8015 /* Line 1806 of yacc.c */ 8012 #line 2 197"parser.yy"8016 #line 2204 "parser.yy" 8013 8017 { 8014 8018 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8020 8024 8021 8025 /* Line 1806 of yacc.c */ 8022 #line 220 2"parser.yy"8026 #line 2209 "parser.yy" 8023 8027 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8024 8028 break; … … 8027 8031 8028 8032 /* Line 1806 of yacc.c */ 8029 #line 22 07"parser.yy"8033 #line 2214 "parser.yy" 8030 8034 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8031 8035 break; … … 8034 8038 8035 8039 /* Line 1806 of yacc.c */ 8036 #line 22 09"parser.yy"8040 #line 2216 "parser.yy" 8037 8041 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8038 8042 break; … … 8041 8045 8042 8046 /* Line 1806 of yacc.c */ 8043 #line 221 1"parser.yy"8047 #line 2218 "parser.yy" 8044 8048 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8045 8049 break; … … 8048 8052 8049 8053 /* Line 1806 of yacc.c */ 8050 #line 22 16"parser.yy"8054 #line 2223 "parser.yy" 8051 8055 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8052 8056 break; … … 8055 8059 8056 8060 /* Line 1806 of yacc.c */ 8057 #line 22 18"parser.yy"8061 #line 2225 "parser.yy" 8058 8062 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8059 8063 break; … … 8062 8066 8063 8067 /* Line 1806 of yacc.c */ 8064 #line 222 0"parser.yy"8068 #line 2227 "parser.yy" 8065 8069 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8066 8070 break; 8067 8071 8068 8072 case 571: 8069 8070 /* Line 1806 of yacc.c */8071 #line 2222 "parser.yy"8072 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8073 break;8074 8075 case 572:8076 8077 /* Line 1806 of yacc.c */8078 #line 2227 "parser.yy"8079 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8080 break;8081 8082 case 573:8083 8073 8084 8074 /* Line 1806 of yacc.c */ … … 8087 8077 break; 8088 8078 8079 case 572: 8080 8081 /* Line 1806 of yacc.c */ 8082 #line 2234 "parser.yy" 8083 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8084 break; 8085 8086 case 573: 8087 8088 /* Line 1806 of yacc.c */ 8089 #line 2236 "parser.yy" 8090 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8091 break; 8092 8089 8093 case 574: 8090 8094 8091 8095 /* Line 1806 of yacc.c */ 8092 #line 22 38"parser.yy"8096 #line 2245 "parser.yy" 8093 8097 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8094 8098 break; … … 8097 8101 8098 8102 /* Line 1806 of yacc.c */ 8099 #line 224 1"parser.yy"8103 #line 2248 "parser.yy" 8100 8104 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8101 8105 break; … … 8104 8108 8105 8109 /* Line 1806 of yacc.c */ 8106 #line 22 46"parser.yy"8110 #line 2253 "parser.yy" 8107 8111 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8108 8112 break; … … 8111 8115 8112 8116 /* Line 1806 of yacc.c */ 8113 #line 22 48"parser.yy"8117 #line 2255 "parser.yy" 8114 8118 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8115 8119 break; … … 8118 8122 8119 8123 /* Line 1806 of yacc.c */ 8120 #line 225 0"parser.yy"8124 #line 2257 "parser.yy" 8121 8125 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8122 8126 break; … … 8125 8129 8126 8130 /* Line 1806 of yacc.c */ 8127 #line 22 55"parser.yy"8131 #line 2262 "parser.yy" 8128 8132 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8129 8133 break; … … 8132 8136 8133 8137 /* Line 1806 of yacc.c */ 8134 #line 22 57"parser.yy"8138 #line 2264 "parser.yy" 8135 8139 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8136 8140 break; … … 8139 8143 8140 8144 /* Line 1806 of yacc.c */ 8141 #line 22 59"parser.yy"8145 #line 2266 "parser.yy" 8142 8146 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8143 8147 break; … … 8146 8150 8147 8151 /* Line 1806 of yacc.c */ 8148 #line 22 64"parser.yy"8152 #line 2271 "parser.yy" 8149 8153 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8150 8154 break; … … 8153 8157 8154 8158 /* Line 1806 of yacc.c */ 8155 #line 22 66"parser.yy"8159 #line 2273 "parser.yy" 8156 8160 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8157 8161 break; … … 8160 8164 8161 8165 /* Line 1806 of yacc.c */ 8162 #line 22 68"parser.yy"8166 #line 2275 "parser.yy" 8163 8167 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8164 8168 break; … … 8167 8171 8168 8172 /* Line 1806 of yacc.c */ 8169 #line 22 83"parser.yy"8173 #line 2290 "parser.yy" 8170 8174 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8171 8175 break; … … 8174 8178 8175 8179 /* Line 1806 of yacc.c */ 8176 #line 22 85"parser.yy"8180 #line 2292 "parser.yy" 8177 8181 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8178 8182 break; … … 8181 8185 8182 8186 /* Line 1806 of yacc.c */ 8183 #line 22 87"parser.yy"8187 #line 2294 "parser.yy" 8184 8188 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8185 8189 break; … … 8188 8192 8189 8193 /* Line 1806 of yacc.c */ 8190 #line 229 2"parser.yy"8194 #line 2299 "parser.yy" 8191 8195 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8192 8196 break; … … 8195 8199 8196 8200 /* Line 1806 of yacc.c */ 8197 #line 2 294"parser.yy"8201 #line 2301 "parser.yy" 8198 8202 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8199 8203 break; … … 8202 8206 8203 8207 /* Line 1806 of yacc.c */ 8204 #line 2 296"parser.yy"8208 #line 2303 "parser.yy" 8205 8209 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8206 8210 break; … … 8209 8213 8210 8214 /* Line 1806 of yacc.c */ 8211 #line 230 1"parser.yy"8215 #line 2308 "parser.yy" 8212 8216 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8213 8217 break; … … 8216 8220 8217 8221 /* Line 1806 of yacc.c */ 8218 #line 23 03"parser.yy"8222 #line 2310 "parser.yy" 8219 8223 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8220 8224 break; … … 8223 8227 8224 8228 /* Line 1806 of yacc.c */ 8225 #line 23 05"parser.yy"8229 #line 2312 "parser.yy" 8226 8230 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8227 8231 break; … … 8230 8234 8231 8235 /* Line 1806 of yacc.c */ 8232 #line 232 0"parser.yy"8236 #line 2327 "parser.yy" 8233 8237 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8234 8238 break; … … 8237 8241 8238 8242 /* Line 1806 of yacc.c */ 8239 #line 23 23"parser.yy"8243 #line 2330 "parser.yy" 8240 8244 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8241 8245 break; … … 8244 8248 8245 8249 /* Line 1806 of yacc.c */ 8246 #line 23 25"parser.yy"8250 #line 2332 "parser.yy" 8247 8251 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8248 8252 break; … … 8251 8255 8252 8256 /* Line 1806 of yacc.c */ 8253 #line 233 1"parser.yy"8257 #line 2338 "parser.yy" 8254 8258 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8255 8259 break; … … 8258 8262 8259 8263 /* Line 1806 of yacc.c */ 8260 #line 23 36"parser.yy"8264 #line 2343 "parser.yy" 8261 8265 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8262 8266 break; … … 8265 8269 8266 8270 /* Line 1806 of yacc.c */ 8267 #line 23 38"parser.yy"8271 #line 2345 "parser.yy" 8268 8272 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8269 8273 break; … … 8272 8276 8273 8277 /* Line 1806 of yacc.c */ 8274 #line 234 0"parser.yy"8278 #line 2347 "parser.yy" 8275 8279 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8276 8280 break; … … 8279 8283 8280 8284 /* Line 1806 of yacc.c */ 8281 #line 23 45"parser.yy"8285 #line 2352 "parser.yy" 8282 8286 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8283 8287 break; … … 8286 8290 8287 8291 /* Line 1806 of yacc.c */ 8288 #line 23 47"parser.yy"8292 #line 2354 "parser.yy" 8289 8293 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8290 8294 break; … … 8293 8297 8294 8298 /* Line 1806 of yacc.c */ 8295 #line 23 49"parser.yy"8299 #line 2356 "parser.yy" 8296 8300 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8297 8301 break; … … 8300 8304 8301 8305 /* Line 1806 of yacc.c */ 8302 #line 235 1"parser.yy"8306 #line 2358 "parser.yy" 8303 8307 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8304 8308 break; … … 8307 8311 8308 8312 /* Line 1806 of yacc.c */ 8309 #line 23 56"parser.yy"8313 #line 2363 "parser.yy" 8310 8314 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8311 8315 break; … … 8314 8318 8315 8319 /* Line 1806 of yacc.c */ 8316 #line 23 58"parser.yy"8320 #line 2365 "parser.yy" 8317 8321 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8318 8322 break; … … 8321 8325 8322 8326 /* Line 1806 of yacc.c */ 8323 #line 236 0"parser.yy"8327 #line 2367 "parser.yy" 8324 8328 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8325 8329 break; … … 8328 8332 8329 8333 /* Line 1806 of yacc.c */ 8330 #line 237 0"parser.yy"8334 #line 2377 "parser.yy" 8331 8335 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8332 8336 break; … … 8335 8339 8336 8340 /* Line 1806 of yacc.c */ 8337 #line 23 73"parser.yy"8341 #line 2380 "parser.yy" 8338 8342 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8339 8343 break; … … 8342 8346 8343 8347 /* Line 1806 of yacc.c */ 8344 #line 23 75"parser.yy"8348 #line 2382 "parser.yy" 8345 8349 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8346 8350 break; … … 8349 8353 8350 8354 /* Line 1806 of yacc.c */ 8351 #line 238 0"parser.yy"8355 #line 2387 "parser.yy" 8352 8356 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8353 8357 break; … … 8356 8360 8357 8361 /* Line 1806 of yacc.c */ 8358 #line 238 2"parser.yy"8362 #line 2389 "parser.yy" 8359 8363 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8360 8364 break; … … 8363 8367 8364 8368 /* Line 1806 of yacc.c */ 8365 #line 23 84"parser.yy"8369 #line 2391 "parser.yy" 8366 8370 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8367 8371 break; … … 8370 8374 8371 8375 /* Line 1806 of yacc.c */ 8372 #line 23 89"parser.yy"8376 #line 2396 "parser.yy" 8373 8377 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8374 8378 break; … … 8377 8381 8378 8382 /* Line 1806 of yacc.c */ 8379 #line 239 1"parser.yy"8383 #line 2398 "parser.yy" 8380 8384 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8381 8385 break; … … 8384 8388 8385 8389 /* Line 1806 of yacc.c */ 8386 #line 2 393"parser.yy"8390 #line 2400 "parser.yy" 8387 8391 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8388 8392 break; … … 8391 8395 8392 8396 /* Line 1806 of yacc.c */ 8393 #line 2 395"parser.yy"8397 #line 2402 "parser.yy" 8394 8398 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8395 8399 break; … … 8398 8402 8399 8403 /* Line 1806 of yacc.c */ 8400 #line 240 0"parser.yy"8404 #line 2407 "parser.yy" 8401 8405 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8402 8406 break; … … 8405 8409 8406 8410 /* Line 1806 of yacc.c */ 8407 #line 240 2"parser.yy"8411 #line 2409 "parser.yy" 8408 8412 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8409 8413 break; … … 8412 8416 8413 8417 /* Line 1806 of yacc.c */ 8414 #line 24 04"parser.yy"8418 #line 2411 "parser.yy" 8415 8419 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8416 8420 break; … … 8419 8423 8420 8424 /* Line 1806 of yacc.c */ 8421 #line 24 35"parser.yy"8425 #line 2442 "parser.yy" 8422 8426 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8423 8427 break; … … 8426 8430 8427 8431 /* Line 1806 of yacc.c */ 8428 #line 24 38"parser.yy"8432 #line 2445 "parser.yy" 8429 8433 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8430 8434 break; … … 8433 8437 8434 8438 /* Line 1806 of yacc.c */ 8435 #line 244 0"parser.yy"8439 #line 2447 "parser.yy" 8436 8440 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8437 8441 break; … … 8440 8444 8441 8445 /* Line 1806 of yacc.c */ 8442 #line 24 45"parser.yy"8446 #line 2452 "parser.yy" 8443 8447 { 8444 8448 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8450 8454 8451 8455 /* Line 1806 of yacc.c */ 8452 #line 245 0"parser.yy"8456 #line 2457 "parser.yy" 8453 8457 { 8454 8458 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8460 8464 8461 8465 /* Line 1806 of yacc.c */ 8462 #line 24 58"parser.yy"8466 #line 2465 "parser.yy" 8463 8467 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8464 8468 break; … … 8467 8471 8468 8472 /* Line 1806 of yacc.c */ 8469 #line 246 0"parser.yy"8473 #line 2467 "parser.yy" 8470 8474 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8471 8475 break; … … 8474 8478 8475 8479 /* Line 1806 of yacc.c */ 8476 #line 246 2"parser.yy"8480 #line 2469 "parser.yy" 8477 8481 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8478 8482 break; … … 8481 8485 8482 8486 /* Line 1806 of yacc.c */ 8483 #line 24 67"parser.yy"8487 #line 2474 "parser.yy" 8484 8488 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8485 8489 break; … … 8488 8492 8489 8493 /* Line 1806 of yacc.c */ 8490 #line 24 69"parser.yy"8494 #line 2476 "parser.yy" 8491 8495 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8492 8496 break; … … 8495 8499 8496 8500 /* Line 1806 of yacc.c */ 8497 #line 24 74"parser.yy"8501 #line 2481 "parser.yy" 8498 8502 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8499 8503 break; … … 8502 8506 8503 8507 /* Line 1806 of yacc.c */ 8504 #line 24 76"parser.yy"8508 #line 2483 "parser.yy" 8505 8509 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8506 8510 break; … … 8509 8513 8510 8514 /* Line 1806 of yacc.c */ 8511 #line 249 1"parser.yy"8515 #line 2498 "parser.yy" 8512 8516 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8513 8517 break; … … 8516 8520 8517 8521 /* Line 1806 of yacc.c */ 8518 #line 2 493"parser.yy"8522 #line 2500 "parser.yy" 8519 8523 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8520 8524 break; … … 8523 8527 8524 8528 /* Line 1806 of yacc.c */ 8525 #line 2 498"parser.yy"8529 #line 2505 "parser.yy" 8526 8530 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8527 8531 break; … … 8530 8534 8531 8535 /* Line 1806 of yacc.c */ 8532 #line 250 0"parser.yy"8536 #line 2507 "parser.yy" 8533 8537 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8534 8538 break; … … 8537 8541 8538 8542 /* Line 1806 of yacc.c */ 8539 #line 250 2"parser.yy"8543 #line 2509 "parser.yy" 8540 8544 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8541 8545 break; … … 8544 8548 8545 8549 /* Line 1806 of yacc.c */ 8546 #line 25 04"parser.yy"8550 #line 2511 "parser.yy" 8547 8551 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8548 8552 break; … … 8551 8555 8552 8556 /* Line 1806 of yacc.c */ 8553 #line 25 06"parser.yy"8557 #line 2513 "parser.yy" 8554 8558 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8555 8559 break; … … 8558 8562 8559 8563 /* Line 1806 of yacc.c */ 8560 #line 251 2"parser.yy"8564 #line 2519 "parser.yy" 8561 8565 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8562 8566 break; … … 8565 8569 8566 8570 /* Line 1806 of yacc.c */ 8567 #line 25 14"parser.yy"8571 #line 2521 "parser.yy" 8568 8572 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8569 8573 break; … … 8572 8576 8573 8577 /* Line 1806 of yacc.c */ 8574 #line 25 16"parser.yy"8578 #line 2523 "parser.yy" 8575 8579 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8576 8580 break; … … 8579 8583 8580 8584 /* Line 1806 of yacc.c */ 8581 #line 252 1"parser.yy"8585 #line 2528 "parser.yy" 8582 8586 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8583 8587 break; … … 8586 8590 8587 8591 /* Line 1806 of yacc.c */ 8588 #line 25 23"parser.yy"8592 #line 2530 "parser.yy" 8589 8593 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8590 8594 break; … … 8593 8597 8594 8598 /* Line 1806 of yacc.c */ 8595 #line 25 25"parser.yy"8599 #line 2532 "parser.yy" 8596 8600 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8597 8601 break; … … 8600 8604 8601 8605 /* Line 1806 of yacc.c */ 8602 #line 253 1"parser.yy"8606 #line 2538 "parser.yy" 8603 8607 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8604 8608 break; … … 8607 8611 8608 8612 /* Line 1806 of yacc.c */ 8609 #line 25 33"parser.yy"8613 #line 2540 "parser.yy" 8610 8614 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8611 8615 break; … … 8614 8618 8615 8619 /* Line 1806 of yacc.c */ 8616 #line 25 39"parser.yy"8620 #line 2546 "parser.yy" 8617 8621 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8618 8622 break; … … 8621 8625 8622 8626 /* Line 1806 of yacc.c */ 8623 #line 254 1"parser.yy"8627 #line 2548 "parser.yy" 8624 8628 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8625 8629 break; … … 8628 8632 8629 8633 /* Line 1806 of yacc.c */ 8630 #line 25 43"parser.yy"8634 #line 2550 "parser.yy" 8631 8635 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8632 8636 break; … … 8635 8639 8636 8640 /* Line 1806 of yacc.c */ 8637 #line 25 45"parser.yy"8641 #line 2552 "parser.yy" 8638 8642 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8639 8643 break; … … 8642 8646 8643 8647 /* Line 1806 of yacc.c */ 8644 #line 256 0"parser.yy"8648 #line 2567 "parser.yy" 8645 8649 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8646 8650 break; … … 8649 8653 8650 8654 /* Line 1806 of yacc.c */ 8651 #line 256 2"parser.yy"8655 #line 2569 "parser.yy" 8652 8656 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8653 8657 break; … … 8656 8660 8657 8661 /* Line 1806 of yacc.c */ 8658 #line 25 67"parser.yy"8662 #line 2574 "parser.yy" 8659 8663 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8660 8664 break; … … 8663 8667 8664 8668 /* Line 1806 of yacc.c */ 8665 #line 25 69"parser.yy"8669 #line 2576 "parser.yy" 8666 8670 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8667 8671 break; … … 8670 8674 8671 8675 /* Line 1806 of yacc.c */ 8672 #line 257 1"parser.yy"8676 #line 2578 "parser.yy" 8673 8677 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8674 8678 break; … … 8677 8681 8678 8682 /* Line 1806 of yacc.c */ 8679 #line 25 73"parser.yy"8683 #line 2580 "parser.yy" 8680 8684 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8681 8685 break; … … 8684 8688 8685 8689 /* Line 1806 of yacc.c */ 8686 #line 25 75"parser.yy"8690 #line 2582 "parser.yy" 8687 8691 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8688 8692 break; … … 8691 8695 8692 8696 /* Line 1806 of yacc.c */ 8693 #line 258 1"parser.yy"8697 #line 2588 "parser.yy" 8694 8698 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8695 8699 break; … … 8698 8702 8699 8703 /* Line 1806 of yacc.c */ 8700 #line 25 83"parser.yy"8704 #line 2590 "parser.yy" 8701 8705 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8702 8706 break; … … 8705 8709 8706 8710 /* Line 1806 of yacc.c */ 8707 #line 25 85"parser.yy"8711 #line 2592 "parser.yy" 8708 8712 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8709 8713 break; … … 8712 8716 8713 8717 /* Line 1806 of yacc.c */ 8714 #line 259 0"parser.yy"8718 #line 2597 "parser.yy" 8715 8719 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8716 8720 break; … … 8719 8723 8720 8724 /* Line 1806 of yacc.c */ 8721 #line 259 2"parser.yy"8725 #line 2599 "parser.yy" 8722 8726 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8723 8727 break; … … 8726 8730 8727 8731 /* Line 1806 of yacc.c */ 8728 #line 2 594"parser.yy"8732 #line 2601 "parser.yy" 8729 8733 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8730 8734 break; … … 8733 8737 8734 8738 /* Line 1806 of yacc.c */ 8735 #line 260 1"parser.yy"8739 #line 2608 "parser.yy" 8736 8740 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8737 8741 break; … … 8740 8744 8741 8745 /* Line 1806 of yacc.c */ 8742 #line 261 2"parser.yy"8746 #line 2619 "parser.yy" 8743 8747 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8744 8748 break; … … 8747 8751 8748 8752 /* Line 1806 of yacc.c */ 8749 #line 26 15"parser.yy"8753 #line 2622 "parser.yy" 8750 8754 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8751 8755 break; … … 8754 8758 8755 8759 /* Line 1806 of yacc.c */ 8756 #line 26 17"parser.yy"8760 #line 2624 "parser.yy" 8757 8761 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8758 8762 break; … … 8761 8765 8762 8766 /* Line 1806 of yacc.c */ 8763 #line 262 0"parser.yy"8767 #line 2627 "parser.yy" 8764 8768 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8765 8769 break; … … 8768 8772 8769 8773 /* Line 1806 of yacc.c */ 8770 #line 262 2"parser.yy"8774 #line 2629 "parser.yy" 8771 8775 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8772 8776 break; … … 8775 8779 8776 8780 /* Line 1806 of yacc.c */ 8777 #line 26 24"parser.yy"8781 #line 2631 "parser.yy" 8778 8782 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8779 8783 break; … … 8782 8786 8783 8787 /* Line 1806 of yacc.c */ 8784 #line 26 38"parser.yy"8788 #line 2645 "parser.yy" 8785 8789 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8786 8790 break; … … 8789 8793 8790 8794 /* Line 1806 of yacc.c */ 8791 #line 264 0"parser.yy"8795 #line 2647 "parser.yy" 8792 8796 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8793 8797 break; … … 8796 8800 8797 8801 /* Line 1806 of yacc.c */ 8798 #line 26 45"parser.yy"8802 #line 2652 "parser.yy" 8799 8803 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8800 8804 break; … … 8803 8807 8804 8808 /* Line 1806 of yacc.c */ 8805 #line 26 47"parser.yy"8809 #line 2654 "parser.yy" 8806 8810 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8807 8811 break; … … 8810 8814 8811 8815 /* Line 1806 of yacc.c */ 8812 #line 26 49"parser.yy"8816 #line 2656 "parser.yy" 8813 8817 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8814 8818 break; … … 8817 8821 8818 8822 /* Line 1806 of yacc.c */ 8819 #line 265 1"parser.yy"8823 #line 2658 "parser.yy" 8820 8824 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8821 8825 break; … … 8824 8828 8825 8829 /* Line 1806 of yacc.c */ 8826 #line 26 53"parser.yy"8830 #line 2660 "parser.yy" 8827 8831 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8828 8832 break; … … 8831 8835 8832 8836 /* Line 1806 of yacc.c */ 8833 #line 26 59"parser.yy"8837 #line 2666 "parser.yy" 8834 8838 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8835 8839 break; … … 8838 8842 8839 8843 /* Line 1806 of yacc.c */ 8840 #line 266 1"parser.yy"8844 #line 2668 "parser.yy" 8841 8845 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8842 8846 break; 8843 8847 8844 8848 case 698: 8845 8846 /* Line 1806 of yacc.c */8847 #line 2663 "parser.yy"8848 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8849 break;8850 8851 case 699:8852 8853 /* Line 1806 of yacc.c */8854 #line 2668 "parser.yy"8855 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8856 break;8857 8858 case 700:8859 8849 8860 8850 /* Line 1806 of yacc.c */ … … 8863 8853 break; 8864 8854 8855 case 699: 8856 8857 /* Line 1806 of yacc.c */ 8858 #line 2675 "parser.yy" 8859 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8860 break; 8861 8862 case 700: 8863 8864 /* Line 1806 of yacc.c */ 8865 #line 2677 "parser.yy" 8866 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8867 break; 8868 8865 8869 case 703: 8866 8870 8867 8871 /* Line 1806 of yacc.c */ 8868 #line 268 0"parser.yy"8872 #line 2687 "parser.yy" 8869 8873 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8870 8874 break; … … 8873 8877 8874 8878 /* Line 1806 of yacc.c */ 8875 #line 269 0"parser.yy"8879 #line 2697 "parser.yy" 8876 8880 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8877 8881 break; … … 8880 8884 8881 8885 /* Line 1806 of yacc.c */ 8882 #line 269 2"parser.yy"8886 #line 2699 "parser.yy" 8883 8887 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8884 8888 break; … … 8887 8891 8888 8892 /* Line 1806 of yacc.c */ 8889 #line 2 694"parser.yy"8893 #line 2701 "parser.yy" 8890 8894 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8891 8895 break; … … 8894 8898 8895 8899 /* Line 1806 of yacc.c */ 8896 #line 2 696"parser.yy"8900 #line 2703 "parser.yy" 8897 8901 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8898 8902 break; … … 8901 8905 8902 8906 /* Line 1806 of yacc.c */ 8903 #line 2 698"parser.yy"8907 #line 2705 "parser.yy" 8904 8908 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8905 8909 break; … … 8908 8912 8909 8913 /* Line 1806 of yacc.c */ 8910 #line 270 0"parser.yy"8914 #line 2707 "parser.yy" 8911 8915 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8912 8916 break; … … 8915 8919 8916 8920 /* Line 1806 of yacc.c */ 8917 #line 27 07"parser.yy"8921 #line 2714 "parser.yy" 8918 8922 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8919 8923 break; … … 8922 8926 8923 8927 /* Line 1806 of yacc.c */ 8924 #line 27 09"parser.yy"8928 #line 2716 "parser.yy" 8925 8929 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8926 8930 break; … … 8929 8933 8930 8934 /* Line 1806 of yacc.c */ 8931 #line 271 1"parser.yy"8935 #line 2718 "parser.yy" 8932 8936 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8933 8937 break; … … 8936 8940 8937 8941 /* Line 1806 of yacc.c */ 8938 #line 27 13"parser.yy"8942 #line 2720 "parser.yy" 8939 8943 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8940 8944 break; … … 8943 8947 8944 8948 /* Line 1806 of yacc.c */ 8945 #line 27 15"parser.yy"8949 #line 2722 "parser.yy" 8946 8950 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8947 8951 break; … … 8950 8954 8951 8955 /* Line 1806 of yacc.c */ 8952 #line 27 17"parser.yy"8956 #line 2724 "parser.yy" 8953 8957 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8954 8958 break; … … 8957 8961 8958 8962 /* Line 1806 of yacc.c */ 8959 #line 27 19"parser.yy"8963 #line 2726 "parser.yy" 8960 8964 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8961 8965 break; … … 8964 8968 8965 8969 /* Line 1806 of yacc.c */ 8966 #line 272 1"parser.yy"8970 #line 2728 "parser.yy" 8967 8971 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8968 8972 break; … … 8971 8975 8972 8976 /* Line 1806 of yacc.c */ 8973 #line 27 23"parser.yy"8977 #line 2730 "parser.yy" 8974 8978 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8975 8979 break; … … 8978 8982 8979 8983 /* Line 1806 of yacc.c */ 8980 #line 27 25"parser.yy"8984 #line 2732 "parser.yy" 8981 8985 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8982 8986 break; … … 8985 8989 8986 8990 /* Line 1806 of yacc.c */ 8987 #line 273 0"parser.yy"8991 #line 2737 "parser.yy" 8988 8992 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8989 8993 break; … … 8992 8996 8993 8997 /* Line 1806 of yacc.c */ 8994 #line 273 2"parser.yy"8998 #line 2739 "parser.yy" 8995 8999 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8996 9000 break; … … 8999 9003 9000 9004 /* Line 1806 of yacc.c */ 9001 #line 27 37"parser.yy"9005 #line 2744 "parser.yy" 9002 9006 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9003 9007 break; … … 9006 9010 9007 9011 /* Line 1806 of yacc.c */ 9008 #line 27 39"parser.yy"9012 #line 2746 "parser.yy" 9009 9013 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9010 9014 break; … … 9013 9017 9014 9018 /* Line 1806 of yacc.c */ 9015 #line 27 66"parser.yy"9019 #line 2773 "parser.yy" 9016 9020 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9017 9021 break; … … 9020 9024 9021 9025 /* Line 1806 of yacc.c */ 9022 #line 27 77"parser.yy"9026 #line 2784 "parser.yy" 9023 9027 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9024 9028 break; … … 9027 9031 9028 9032 /* Line 1806 of yacc.c */ 9029 #line 27 79"parser.yy"9033 #line 2786 "parser.yy" 9030 9034 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9031 9035 break; … … 9034 9038 9035 9039 /* Line 1806 of yacc.c */ 9036 #line 278 1"parser.yy"9040 #line 2788 "parser.yy" 9037 9041 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9038 9042 break; … … 9041 9045 9042 9046 /* Line 1806 of yacc.c */ 9043 #line 27 83"parser.yy"9047 #line 2790 "parser.yy" 9044 9048 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9045 9049 break; … … 9048 9052 9049 9053 /* Line 1806 of yacc.c */ 9050 #line 27 85"parser.yy"9054 #line 2792 "parser.yy" 9051 9055 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9052 9056 break; … … 9055 9059 9056 9060 /* Line 1806 of yacc.c */ 9057 #line 27 87"parser.yy"9061 #line 2794 "parser.yy" 9058 9062 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9059 9063 break; … … 9062 9066 9063 9067 /* Line 1806 of yacc.c */ 9064 #line 2 794"parser.yy"9068 #line 2801 "parser.yy" 9065 9069 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9066 9070 break; … … 9069 9073 9070 9074 /* Line 1806 of yacc.c */ 9071 #line 2 796"parser.yy"9075 #line 2803 "parser.yy" 9072 9076 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9073 9077 break; … … 9076 9080 9077 9081 /* Line 1806 of yacc.c */ 9078 #line 2 798"parser.yy"9082 #line 2805 "parser.yy" 9079 9083 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9080 9084 break; … … 9083 9087 9084 9088 /* Line 1806 of yacc.c */ 9085 #line 280 0"parser.yy"9089 #line 2807 "parser.yy" 9086 9090 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9087 9091 break; … … 9090 9094 9091 9095 /* Line 1806 of yacc.c */ 9092 #line 280 2"parser.yy"9096 #line 2809 "parser.yy" 9093 9097 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9094 9098 break; … … 9097 9101 9098 9102 /* Line 1806 of yacc.c */ 9099 #line 28 04"parser.yy"9103 #line 2811 "parser.yy" 9100 9104 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9101 9105 break; … … 9104 9108 9105 9109 /* Line 1806 of yacc.c */ 9106 #line 28 09"parser.yy"9110 #line 2816 "parser.yy" 9107 9111 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9108 9112 break; … … 9111 9115 9112 9116 /* Line 1806 of yacc.c */ 9113 #line 28 14"parser.yy"9117 #line 2821 "parser.yy" 9114 9118 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9115 9119 break; … … 9118 9122 9119 9123 /* Line 1806 of yacc.c */ 9120 #line 28 16"parser.yy"9124 #line 2823 "parser.yy" 9121 9125 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9122 9126 break; … … 9125 9129 9126 9130 /* Line 1806 of yacc.c */ 9127 #line 28 18"parser.yy"9131 #line 2825 "parser.yy" 9128 9132 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9129 9133 break; … … 9132 9136 9133 9137 /* Line 1806 of yacc.c */ 9134 #line 284 2"parser.yy"9138 #line 2849 "parser.yy" 9135 9139 { (yyval.en) = 0; } 9136 9140 break; … … 9139 9143 9140 9144 /* Line 1806 of yacc.c */ 9141 #line 28 44"parser.yy"9145 #line 2851 "parser.yy" 9142 9146 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9143 9147 break; … … 9146 9150 9147 9151 /* Line 1806 of yacc.c */ 9148 #line 91 49"Parser/parser.cc"9152 #line 9153 "Parser/parser.cc" 9149 9153 default: break; 9150 9154 } … … 9377 9381 9378 9382 /* Line 2067 of yacc.c */ 9379 #line 28 47"parser.yy"9383 #line 2854 "parser.yy" 9380 9384 9381 9385 // ----end of grammar----
Note:
See TracChangeset
for help on using the changeset viewer.