Changes in src/Parser/parser.cc [9059213:faddbd8]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (493 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r9059213 rfaddbd8 1027 1027 358, 360, 362, 367, 368, 374, 378, 380, 381, 382, 1028 1028 384, 385, 387, 389, 391, 400, 401, 407, 408, 412, 1029 413, 417, 421, 423, 425, 427, 432, 43 4, 438, 441,1030 44 3, 445, 450, 463, 465, 467, 469, 471, 473, 475,1031 47 7, 479, 481, 483, 490, 491, 497, 498, 499, 500,1032 50 4, 505, 507, 512, 513, 515, 517, 522, 523, 525,1033 5 30, 531, 533, 538, 539, 541, 543, 545, 550, 551,1034 55 3, 558, 559, 564, 565, 570, 571, 576, 577, 582,1035 58 3, 588, 589, 592, 594, 599, 604, 605, 607, 613,1036 61 4, 618, 619, 620, 621, 622, 623, 624, 625, 626,1037 62 7, 628, 629, 635, 637, 639, 641, 646, 647, 652,1038 65 3, 659, 660, 666, 667, 668, 669, 670, 671, 672,1039 67 3, 674, 684, 691, 693, 703, 704, 709, 711, 717,1040 71 9, 723, 724, 729, 734, 737, 739, 741, 751, 753,1041 76 4, 765, 767, 771, 773, 777, 778, 783, 784, 788,1042 79 3, 794, 798, 800, 806, 807, 811, 813, 815, 817,1043 82 3, 824, 828, 830, 835, 837, 839, 844, 846, 851,1044 85 3, 857, 860, 864, 867, 871, 873, 875, 877, 882,1045 88 4, 886, 891, 893, 895, 897, 899, 904, 906, 908,1046 9 10, 915, 927, 928, 933, 935, 940, 944, 946, 948,1047 9 50, 952, 958, 959, 965, 966, 970, 971, 976, 978,1048 98 4, 985, 987, 992, 997, 1007, 1009, 1013, 1014, 1019,1049 102 1, 1025, 1026, 1030, 1032, 1036, 1037, 1041, 1042, 1046,1050 104 7, 1062, 1063, 1064, 1065, 1066, 1070, 1075, 1082, 1092,1051 109 7, 1102, 1110, 1115, 1120, 1125, 1130, 1138, 1160, 1165,1052 117 2, 1174, 1181, 1186, 1191, 1202, 1207, 1212, 1217, 1222,1053 123 1, 1236, 1244, 1245, 1246, 1247, 1253, 1258, 1266, 1267,1054 126 8, 1269, 1273, 1274, 1275, 1276, 1281, 1282, 1291, 1292,1055 129 7, 1298, 1303, 1305, 1307, 1309, 1311, 1314, 1313, 1325,1056 132 6, 1328, 1338, 1339, 1344, 1346, 1348, 1350, 1352, 1355,1057 135 7, 1360, 1365, 1367, 1369, 1371, 1373, 1375, 1377, 1379,1058 138 1, 1383, 1385, 1387, 1389, 1395, 1396, 1398, 1400, 1402,1059 140 7, 1408, 1414, 1415, 1417, 1419, 1424, 1426, 1428, 1430,1060 143 5, 1436, 1438, 1440, 1445, 1446, 1448, 1453, 1454, 1456,1061 145 8, 1463, 1465, 1467, 1472, 1473, 1477, 1479, 1485, 1484,1062 148 8, 1490, 1495, 1497, 1503, 1504, 1509, 1510, 1512, 1513,1063 152 2, 1523, 1525, 1527, 1532, 1534, 1540, 1541, 1543, 1546,1064 154 9, 1554, 1555, 1560, 1565, 1569, 1571, 1577, 1576, 1583,1065 158 5, 1591, 1592, 1600, 1601, 1605, 1606, 1607, 1609, 1611,1066 161 8, 1619, 1621, 1623, 1628, 1629, 1635, 1636, 1640, 1641,1067 164 6, 1647, 1648, 1650, 1658, 1659, 1661, 1664, 1666, 1670,1068 167 1, 1672, 1674, 1676, 1680, 1685, 1693, 1694, 1703, 1705,1069 17 10, 1711, 1712, 1716, 1717, 1718, 1722, 1723, 1724, 1728,1070 172 9, 1730, 1735, 1736, 1737, 1738, 1744, 1745, 1747, 1752,1071 175 3, 1758, 1759, 1760, 1761, 1762, 1777, 1778, 1783, 1784,1072 17 90, 1792, 1795, 1797, 1799, 1822, 1823, 1825, 1827, 1832,1073 183 3, 1835, 1840, 1845, 1846, 1852, 1851, 1855, 1859, 1861,1074 186 3, 1869, 1870, 1875, 1880, 1882, 1887, 1889, 1890, 1892,1075 189 7, 1899, 1901, 1906, 1908, 1913, 1918, 1926, 1932, 1931,1076 194 5, 1946, 1951, 1952, 1956, 1961, 1966, 1974, 1979, 1990,1077 199 1, 1996, 1997, 2003, 2004, 2008, 2009, 2010, 2013, 2012,1078 202 3, 2032, 2038, 2044, 2053, 2059, 2065, 2071, 2077, 2085,1079 209 1, 2099, 2105, 2114, 2115, 2116, 2120, 2124, 2126, 2131,1080 213 2, 2136, 2137, 2142, 2148, 2149, 2152, 2154, 2155, 2159,1081 21 60, 2161, 2162, 2196, 2198, 2199, 2201, 2206, 2211, 2216,1082 221 8, 2220, 2225, 2227, 2229, 2231, 2236, 2238, 2247, 2249,1083 22 50, 2255, 2257, 2259, 2264, 2266, 2268, 2273, 2275, 2277,1084 228 6, 2287, 2288, 2292, 2294, 2296, 2301, 2303, 2305, 2310,1085 231 2, 2314, 2329, 2331, 2332, 2334, 2339, 2340, 2345, 2347,1086 234 9, 2354, 2356, 2358, 2360, 2365, 2367, 2369, 2379, 2381,1087 238 2, 2384, 2389, 2391, 2393, 2398, 2400, 2402, 2404, 2409,1088 241 1, 2413, 2444, 2446, 2447, 2449, 2454, 2459, 2467, 2469,1089 247 1, 2476, 2478, 2483, 2485, 2499, 2500, 2502, 2507, 2509,1090 251 1, 2513, 2515, 2520, 2521, 2523, 2525, 2530, 2532, 2534,1091 25 40, 2542, 2544, 2548, 2550, 2552, 2554, 2568, 2569, 2571,1092 257 6, 2578, 2580, 2582, 2584, 2589, 2590, 2592, 2594, 2599,1093 260 1, 2603, 2609, 2610, 2612, 2621, 2624, 2626, 2629, 2631,1094 263 3, 2646, 2647, 2649, 2654, 2656, 2658, 2660, 2662, 2667,1095 266 8, 2670, 2672, 2677, 2679, 2687, 2688, 2689, 2694, 2695,1096 269 9, 2701, 2703, 2705, 2707, 2709, 2716, 2718, 2720, 2722,1097 272 4, 2727, 2729, 2731, 2733, 2735, 2740, 2742, 2744, 2749,1098 277 5, 2776, 2778, 2782, 2783, 2787, 2789, 2791, 2793, 2795,1099 279 7, 2804, 2806, 2808, 2810, 2812, 2814, 2819, 2824, 2826,1100 282 8, 2846, 2848, 2853, 28541029 413, 417, 421, 423, 425, 427, 432, 433, 437, 440, 1030 442, 444, 449, 462, 464, 466, 468, 470, 472, 474, 1031 476, 478, 480, 482, 489, 490, 496, 497, 498, 499, 1032 503, 504, 506, 511, 512, 514, 516, 521, 522, 524, 1033 529, 530, 532, 537, 538, 540, 542, 544, 549, 550, 1034 552, 557, 558, 563, 564, 569, 570, 575, 576, 581, 1035 582, 587, 588, 591, 593, 598, 603, 604, 606, 612, 1036 613, 617, 618, 619, 620, 621, 622, 623, 624, 625, 1037 626, 627, 628, 634, 636, 638, 640, 645, 646, 651, 1038 652, 658, 659, 665, 666, 667, 668, 669, 670, 671, 1039 672, 673, 683, 690, 692, 702, 703, 708, 710, 716, 1040 718, 722, 723, 728, 733, 736, 738, 740, 750, 752, 1041 763, 764, 766, 770, 772, 776, 777, 782, 783, 787, 1042 792, 793, 797, 799, 805, 806, 810, 812, 814, 816, 1043 822, 823, 827, 829, 834, 836, 838, 843, 845, 850, 1044 852, 856, 859, 863, 866, 870, 872, 874, 876, 881, 1045 883, 885, 890, 892, 894, 896, 898, 903, 905, 907, 1046 909, 914, 926, 927, 932, 934, 939, 943, 945, 947, 1047 949, 951, 957, 958, 964, 965, 969, 970, 975, 977, 1048 983, 984, 986, 991, 996, 1006, 1008, 1012, 1013, 1018, 1049 1020, 1024, 1025, 1029, 1031, 1035, 1036, 1040, 1041, 1045, 1050 1046, 1061, 1062, 1063, 1064, 1065, 1069, 1074, 1081, 1091, 1051 1096, 1101, 1109, 1114, 1119, 1124, 1129, 1137, 1159, 1164, 1052 1171, 1173, 1180, 1185, 1190, 1201, 1206, 1211, 1216, 1221, 1053 1230, 1235, 1243, 1244, 1245, 1246, 1252, 1257, 1265, 1266, 1054 1267, 1268, 1272, 1273, 1274, 1275, 1280, 1281, 1290, 1291, 1055 1296, 1297, 1302, 1304, 1306, 1308, 1310, 1313, 1312, 1324, 1056 1325, 1327, 1337, 1338, 1343, 1345, 1347, 1349, 1351, 1354, 1057 1356, 1359, 1364, 1366, 1368, 1370, 1372, 1374, 1376, 1378, 1058 1380, 1382, 1384, 1386, 1388, 1394, 1395, 1397, 1399, 1401, 1059 1406, 1407, 1413, 1414, 1416, 1418, 1423, 1425, 1427, 1429, 1060 1434, 1435, 1437, 1439, 1444, 1445, 1447, 1452, 1453, 1455, 1061 1457, 1462, 1464, 1466, 1471, 1472, 1476, 1478, 1484, 1483, 1062 1487, 1489, 1494, 1496, 1502, 1503, 1508, 1509, 1511, 1512, 1063 1521, 1522, 1524, 1526, 1531, 1533, 1539, 1540, 1542, 1545, 1064 1548, 1553, 1554, 1559, 1564, 1568, 1570, 1576, 1575, 1582, 1065 1584, 1590, 1591, 1599, 1600, 1604, 1605, 1606, 1608, 1610, 1066 1617, 1618, 1620, 1622, 1627, 1628, 1634, 1635, 1639, 1640, 1067 1645, 1646, 1647, 1649, 1657, 1658, 1660, 1663, 1665, 1669, 1068 1670, 1671, 1673, 1675, 1679, 1684, 1692, 1693, 1702, 1704, 1069 1709, 1710, 1711, 1715, 1716, 1717, 1721, 1722, 1723, 1727, 1070 1728, 1729, 1734, 1735, 1736, 1737, 1743, 1744, 1746, 1751, 1071 1752, 1757, 1758, 1759, 1760, 1761, 1776, 1777, 1782, 1783, 1072 1789, 1791, 1794, 1796, 1798, 1821, 1822, 1824, 1826, 1831, 1073 1832, 1834, 1839, 1844, 1845, 1851, 1850, 1854, 1858, 1860, 1074 1862, 1868, 1869, 1874, 1879, 1881, 1886, 1888, 1889, 1891, 1075 1896, 1898, 1900, 1905, 1907, 1912, 1917, 1925, 1931, 1930, 1076 1944, 1945, 1950, 1951, 1955, 1960, 1965, 1973, 1978, 1989, 1077 1990, 1995, 1996, 2002, 2003, 2007, 2008, 2009, 2012, 2011, 1078 2022, 2031, 2037, 2043, 2052, 2058, 2064, 2070, 2076, 2084, 1079 2090, 2098, 2104, 2113, 2114, 2115, 2119, 2123, 2125, 2130, 1080 2131, 2135, 2136, 2141, 2147, 2148, 2151, 2153, 2154, 2158, 1081 2159, 2160, 2161, 2195, 2197, 2198, 2200, 2205, 2210, 2215, 1082 2217, 2219, 2224, 2226, 2228, 2230, 2235, 2237, 2246, 2248, 1083 2249, 2254, 2256, 2258, 2263, 2265, 2267, 2272, 2274, 2276, 1084 2285, 2286, 2287, 2291, 2293, 2295, 2300, 2302, 2304, 2309, 1085 2311, 2313, 2328, 2330, 2331, 2333, 2338, 2339, 2344, 2346, 1086 2348, 2353, 2355, 2357, 2359, 2364, 2366, 2368, 2378, 2380, 1087 2381, 2383, 2388, 2390, 2392, 2397, 2399, 2401, 2403, 2408, 1088 2410, 2412, 2443, 2445, 2446, 2448, 2453, 2458, 2466, 2468, 1089 2470, 2475, 2477, 2482, 2484, 2498, 2499, 2501, 2506, 2508, 1090 2510, 2512, 2514, 2519, 2520, 2522, 2524, 2529, 2531, 2533, 1091 2539, 2541, 2543, 2547, 2549, 2551, 2553, 2567, 2568, 2570, 1092 2575, 2577, 2579, 2581, 2583, 2588, 2589, 2591, 2593, 2598, 1093 2600, 2602, 2608, 2609, 2611, 2620, 2623, 2625, 2628, 2630, 1094 2632, 2645, 2646, 2648, 2653, 2655, 2657, 2659, 2661, 2666, 1095 2667, 2669, 2671, 2676, 2678, 2686, 2687, 2688, 2693, 2694, 1096 2698, 2700, 2702, 2704, 2706, 2708, 2715, 2717, 2719, 2721, 1097 2723, 2725, 2727, 2729, 2731, 2733, 2738, 2740, 2742, 2747, 1098 2773, 2774, 2776, 2780, 2781, 2785, 2787, 2789, 2791, 2793, 1099 2795, 2802, 2804, 2806, 2808, 2810, 2812, 2817, 2822, 2824, 1100 2826, 2844, 2846, 2851, 2852 1101 1101 }; 1102 1102 #endif … … 5181 5181 5182 5182 /* Line 1806 of yacc.c */ 5183 #line 44 2"parser.yy"5183 #line 441 "parser.yy" 5184 5184 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5185 5185 break; … … 5188 5188 5189 5189 /* Line 1806 of yacc.c */ 5190 #line 44 4"parser.yy"5190 #line 443 "parser.yy" 5191 5191 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5192 5192 break; … … 5195 5195 5196 5196 /* Line 1806 of yacc.c */ 5197 #line 44 6"parser.yy"5197 #line 445 "parser.yy" 5198 5198 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5199 5199 break; … … 5202 5202 5203 5203 /* Line 1806 of yacc.c */ 5204 #line 45 1"parser.yy"5204 #line 450 "parser.yy" 5205 5205 { 5206 5206 switch ( (yyvsp[(1) - (2)].op) ) { … … 5220 5220 5221 5221 /* Line 1806 of yacc.c */ 5222 #line 46 4"parser.yy"5222 #line 463 "parser.yy" 5223 5223 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5224 5224 break; … … 5227 5227 5228 5228 /* Line 1806 of yacc.c */ 5229 #line 46 6"parser.yy"5229 #line 465 "parser.yy" 5230 5230 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5231 5231 break; … … 5234 5234 5235 5235 /* Line 1806 of yacc.c */ 5236 #line 46 8"parser.yy"5236 #line 467 "parser.yy" 5237 5237 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5238 5238 break; … … 5241 5241 5242 5242 /* Line 1806 of yacc.c */ 5243 #line 4 70"parser.yy"5243 #line 469 "parser.yy" 5244 5244 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5245 5245 break; … … 5248 5248 5249 5249 /* Line 1806 of yacc.c */ 5250 #line 47 2"parser.yy"5250 #line 471 "parser.yy" 5251 5251 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5252 5252 break; … … 5255 5255 5256 5256 /* Line 1806 of yacc.c */ 5257 #line 47 4"parser.yy"5257 #line 473 "parser.yy" 5258 5258 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5259 5259 break; … … 5262 5262 5263 5263 /* Line 1806 of yacc.c */ 5264 #line 47 6"parser.yy"5264 #line 475 "parser.yy" 5265 5265 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5266 5266 break; … … 5269 5269 5270 5270 /* Line 1806 of yacc.c */ 5271 #line 47 8"parser.yy"5271 #line 477 "parser.yy" 5272 5272 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5273 5273 break; … … 5276 5276 5277 5277 /* Line 1806 of yacc.c */ 5278 #line 4 80"parser.yy"5278 #line 479 "parser.yy" 5279 5279 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5280 5280 break; … … 5283 5283 5284 5284 /* Line 1806 of yacc.c */ 5285 #line 48 2"parser.yy"5285 #line 481 "parser.yy" 5286 5286 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5287 5287 break; … … 5290 5290 5291 5291 /* Line 1806 of yacc.c */ 5292 #line 48 4"parser.yy"5292 #line 483 "parser.yy" 5293 5293 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5294 5294 break; … … 5297 5297 5298 5298 /* Line 1806 of yacc.c */ 5299 #line 489 "parser.yy" 5300 { (yyval.op) = OperKinds::PointTo; } 5301 break; 5302 5303 case 65: 5304 5305 /* Line 1806 of yacc.c */ 5299 5306 #line 490 "parser.yy" 5300 { (yyval.op) = OperKinds::PointTo; }5301 break;5302 5303 case 65:5304 5305 /* Line 1806 of yacc.c */5306 #line 491 "parser.yy"5307 5307 { (yyval.op) = OperKinds::AddressOf; } 5308 5308 break; … … 5311 5311 5312 5312 /* Line 1806 of yacc.c */ 5313 #line 496 "parser.yy" 5314 { (yyval.op) = OperKinds::UnPlus; } 5315 break; 5316 5317 case 67: 5318 5319 /* Line 1806 of yacc.c */ 5313 5320 #line 497 "parser.yy" 5314 { (yyval.op) = OperKinds::Un Plus; }5315 break; 5316 5317 case 6 7:5321 { (yyval.op) = OperKinds::UnMinus; } 5322 break; 5323 5324 case 68: 5318 5325 5319 5326 /* Line 1806 of yacc.c */ 5320 5327 #line 498 "parser.yy" 5321 { (yyval.op) = OperKinds:: UnMinus; }5322 break; 5323 5324 case 6 8:5328 { (yyval.op) = OperKinds::Neg; } 5329 break; 5330 5331 case 69: 5325 5332 5326 5333 /* Line 1806 of yacc.c */ 5327 5334 #line 499 "parser.yy" 5328 { (yyval.op) = OperKinds::Neg; }5329 break;5330 5331 case 69:5332 5333 /* Line 1806 of yacc.c */5334 #line 500 "parser.yy"5335 5335 { (yyval.op) = OperKinds::BitNeg; } 5336 5336 break; … … 5339 5339 5340 5340 /* Line 1806 of yacc.c */ 5341 #line 50 6"parser.yy"5341 #line 505 "parser.yy" 5342 5342 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5343 5343 break; … … 5346 5346 5347 5347 /* Line 1806 of yacc.c */ 5348 #line 50 8"parser.yy"5348 #line 507 "parser.yy" 5349 5349 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5350 5350 break; … … 5353 5353 5354 5354 /* Line 1806 of yacc.c */ 5355 #line 51 4"parser.yy"5355 #line 513 "parser.yy" 5356 5356 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5357 5357 break; … … 5360 5360 5361 5361 /* Line 1806 of yacc.c */ 5362 #line 51 6"parser.yy"5362 #line 515 "parser.yy" 5363 5363 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5364 5364 break; … … 5367 5367 5368 5368 /* Line 1806 of yacc.c */ 5369 #line 51 8"parser.yy"5369 #line 517 "parser.yy" 5370 5370 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5371 5371 break; … … 5374 5374 5375 5375 /* Line 1806 of yacc.c */ 5376 #line 52 4"parser.yy"5376 #line 523 "parser.yy" 5377 5377 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5378 5378 break; … … 5381 5381 5382 5382 /* Line 1806 of yacc.c */ 5383 #line 52 6"parser.yy"5383 #line 525 "parser.yy" 5384 5384 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5385 5385 break; … … 5388 5388 5389 5389 /* Line 1806 of yacc.c */ 5390 #line 53 2"parser.yy"5390 #line 531 "parser.yy" 5391 5391 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5392 5392 break; … … 5395 5395 5396 5396 /* Line 1806 of yacc.c */ 5397 #line 53 4"parser.yy"5397 #line 533 "parser.yy" 5398 5398 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5399 5399 break; … … 5402 5402 5403 5403 /* Line 1806 of yacc.c */ 5404 #line 5 40"parser.yy"5404 #line 539 "parser.yy" 5405 5405 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5406 5406 break; … … 5409 5409 5410 5410 /* Line 1806 of yacc.c */ 5411 #line 54 2"parser.yy"5411 #line 541 "parser.yy" 5412 5412 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5413 5413 break; … … 5416 5416 5417 5417 /* Line 1806 of yacc.c */ 5418 #line 54 4"parser.yy"5418 #line 543 "parser.yy" 5419 5419 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5420 5420 break; … … 5423 5423 5424 5424 /* Line 1806 of yacc.c */ 5425 #line 54 6"parser.yy"5425 #line 545 "parser.yy" 5426 5426 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5427 5427 break; … … 5430 5430 5431 5431 /* Line 1806 of yacc.c */ 5432 #line 55 2"parser.yy"5432 #line 551 "parser.yy" 5433 5433 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5434 5434 break; … … 5437 5437 5438 5438 /* Line 1806 of yacc.c */ 5439 #line 55 4"parser.yy"5439 #line 553 "parser.yy" 5440 5440 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5441 5441 break; … … 5444 5444 5445 5445 /* Line 1806 of yacc.c */ 5446 #line 5 60"parser.yy"5446 #line 559 "parser.yy" 5447 5447 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5448 5448 break; … … 5451 5451 5452 5452 /* Line 1806 of yacc.c */ 5453 #line 56 6"parser.yy"5453 #line 565 "parser.yy" 5454 5454 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5455 5455 break; … … 5458 5458 5459 5459 /* Line 1806 of yacc.c */ 5460 #line 57 2"parser.yy"5460 #line 571 "parser.yy" 5461 5461 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5462 5462 break; … … 5465 5465 5466 5466 /* Line 1806 of yacc.c */ 5467 #line 57 8"parser.yy"5467 #line 577 "parser.yy" 5468 5468 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5469 5469 break; … … 5472 5472 5473 5473 /* Line 1806 of yacc.c */ 5474 #line 58 4"parser.yy"5474 #line 583 "parser.yy" 5475 5475 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5476 5476 break; … … 5479 5479 5480 5480 /* Line 1806 of yacc.c */ 5481 #line 5 90"parser.yy"5481 #line 589 "parser.yy" 5482 5482 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5483 5483 break; … … 5486 5486 5487 5487 /* Line 1806 of yacc.c */ 5488 #line 59 3"parser.yy"5488 #line 592 "parser.yy" 5489 5489 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5490 5490 break; … … 5493 5493 5494 5494 /* Line 1806 of yacc.c */ 5495 #line 59 5"parser.yy"5495 #line 594 "parser.yy" 5496 5496 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5497 5497 break; … … 5500 5500 5501 5501 /* Line 1806 of yacc.c */ 5502 #line 60 6"parser.yy"5502 #line 605 "parser.yy" 5503 5503 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5504 5504 break; … … 5507 5507 5508 5508 /* Line 1806 of yacc.c */ 5509 #line 60 8"parser.yy"5509 #line 607 "parser.yy" 5510 5510 { (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) ) ); } 5511 5511 break; … … 5514 5514 5515 5515 /* Line 1806 of yacc.c */ 5516 #line 61 3"parser.yy"5516 #line 612 "parser.yy" 5517 5517 { (yyval.en) = nullptr; } 5518 5518 break; … … 5521 5521 5522 5522 /* Line 1806 of yacc.c */ 5523 #line 617 "parser.yy" 5524 { (yyval.op) = OperKinds::Assign; } 5525 break; 5526 5527 case 112: 5528 5529 /* Line 1806 of yacc.c */ 5523 5530 #line 618 "parser.yy" 5524 { (yyval.op) = OperKinds::A ssign; }5525 break; 5526 5527 case 11 2:5531 { (yyval.op) = OperKinds::AtAssn; } 5532 break; 5533 5534 case 113: 5528 5535 5529 5536 /* Line 1806 of yacc.c */ 5530 5537 #line 619 "parser.yy" 5531 { (yyval.op) = OperKinds:: AtAssn; }5532 break; 5533 5534 case 11 3:5538 { (yyval.op) = OperKinds::MulAssn; } 5539 break; 5540 5541 case 114: 5535 5542 5536 5543 /* Line 1806 of yacc.c */ 5537 5544 #line 620 "parser.yy" 5538 { (yyval.op) = OperKinds:: MulAssn; }5539 break; 5540 5541 case 11 4:5545 { (yyval.op) = OperKinds::DivAssn; } 5546 break; 5547 5548 case 115: 5542 5549 5543 5550 /* Line 1806 of yacc.c */ 5544 5551 #line 621 "parser.yy" 5545 { (yyval.op) = OperKinds:: DivAssn; }5546 break; 5547 5548 case 11 5:5552 { (yyval.op) = OperKinds::ModAssn; } 5553 break; 5554 5555 case 116: 5549 5556 5550 5557 /* Line 1806 of yacc.c */ 5551 5558 #line 622 "parser.yy" 5552 { (yyval.op) = OperKinds:: ModAssn; }5553 break; 5554 5555 case 11 6:5559 { (yyval.op) = OperKinds::PlusAssn; } 5560 break; 5561 5562 case 117: 5556 5563 5557 5564 /* Line 1806 of yacc.c */ 5558 5565 #line 623 "parser.yy" 5559 { (yyval.op) = OperKinds:: PlusAssn; }5560 break; 5561 5562 case 11 7:5566 { (yyval.op) = OperKinds::MinusAssn; } 5567 break; 5568 5569 case 118: 5563 5570 5564 5571 /* Line 1806 of yacc.c */ 5565 5572 #line 624 "parser.yy" 5566 { (yyval.op) = OperKinds:: MinusAssn; }5567 break; 5568 5569 case 11 8:5573 { (yyval.op) = OperKinds::LSAssn; } 5574 break; 5575 5576 case 119: 5570 5577 5571 5578 /* Line 1806 of yacc.c */ 5572 5579 #line 625 "parser.yy" 5573 { (yyval.op) = OperKinds:: LSAssn; }5574 break; 5575 5576 case 1 19:5580 { (yyval.op) = OperKinds::RSAssn; } 5581 break; 5582 5583 case 120: 5577 5584 5578 5585 /* Line 1806 of yacc.c */ 5579 5586 #line 626 "parser.yy" 5580 { (yyval.op) = OperKinds:: RSAssn; }5581 break; 5582 5583 case 12 0:5587 { (yyval.op) = OperKinds::AndAssn; } 5588 break; 5589 5590 case 121: 5584 5591 5585 5592 /* Line 1806 of yacc.c */ 5586 5593 #line 627 "parser.yy" 5587 { (yyval.op) = OperKinds:: AndAssn; }5588 break; 5589 5590 case 12 1:5594 { (yyval.op) = OperKinds::ERAssn; } 5595 break; 5596 5597 case 122: 5591 5598 5592 5599 /* Line 1806 of yacc.c */ 5593 5600 #line 628 "parser.yy" 5594 { (yyval.op) = OperKinds::ERAssn; }5595 break;5596 5597 case 122:5598 5599 /* Line 1806 of yacc.c */5600 #line 629 "parser.yy"5601 5601 { (yyval.op) = OperKinds::OrAssn; } 5602 5602 break; … … 5605 5605 5606 5606 /* Line 1806 of yacc.c */ 5607 #line 63 6"parser.yy"5607 #line 635 "parser.yy" 5608 5608 { (yyval.en) = new ExpressionNode( build_tuple() ); } 5609 5609 break; … … 5612 5612 5613 5613 /* Line 1806 of yacc.c */ 5614 #line 63 8"parser.yy"5614 #line 637 "parser.yy" 5615 5615 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5616 5616 break; … … 5619 5619 5620 5620 /* Line 1806 of yacc.c */ 5621 #line 6 40"parser.yy"5621 #line 639 "parser.yy" 5622 5622 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5623 5623 break; … … 5626 5626 5627 5627 /* Line 1806 of yacc.c */ 5628 #line 64 2"parser.yy"5628 #line 641 "parser.yy" 5629 5629 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5630 5630 break; … … 5633 5633 5634 5634 /* Line 1806 of yacc.c */ 5635 #line 64 8"parser.yy"5635 #line 647 "parser.yy" 5636 5636 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5637 5637 break; … … 5640 5640 5641 5641 /* Line 1806 of yacc.c */ 5642 #line 65 4"parser.yy"5642 #line 653 "parser.yy" 5643 5643 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5644 5644 break; … … 5647 5647 5648 5648 /* Line 1806 of yacc.c */ 5649 #line 65 9"parser.yy"5649 #line 658 "parser.yy" 5650 5650 { (yyval.en) = 0; } 5651 5651 break; … … 5654 5654 5655 5655 /* Line 1806 of yacc.c */ 5656 #line 66 8"parser.yy"5656 #line 667 "parser.yy" 5657 5657 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5658 5658 break; … … 5661 5661 5662 5662 /* Line 1806 of yacc.c */ 5663 #line 67 5"parser.yy"5663 #line 674 "parser.yy" 5664 5664 { 5665 5665 Token fn; … … 5672 5672 5673 5673 /* Line 1806 of yacc.c */ 5674 #line 68 5"parser.yy"5674 #line 684 "parser.yy" 5675 5675 { 5676 5676 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5681 5681 5682 5682 /* Line 1806 of yacc.c */ 5683 #line 69 2"parser.yy"5683 #line 691 "parser.yy" 5684 5684 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5685 5685 break; … … 5688 5688 5689 5689 /* Line 1806 of yacc.c */ 5690 #line 69 9"parser.yy"5690 #line 698 "parser.yy" 5691 5691 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5692 5692 break; … … 5695 5695 5696 5696 /* Line 1806 of yacc.c */ 5697 #line 70 5"parser.yy"5697 #line 704 "parser.yy" 5698 5698 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5699 5699 break; … … 5702 5702 5703 5703 /* Line 1806 of yacc.c */ 5704 #line 7 10"parser.yy"5704 #line 709 "parser.yy" 5705 5705 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5706 5706 break; … … 5709 5709 5710 5710 /* Line 1806 of yacc.c */ 5711 #line 71 2"parser.yy"5711 #line 711 "parser.yy" 5712 5712 { // mark all fields in list 5713 5713 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 5720 5720 5721 5721 /* Line 1806 of yacc.c */ 5722 #line 71 8"parser.yy"5722 #line 717 "parser.yy" 5723 5723 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5724 5724 break; … … 5727 5727 5728 5728 /* Line 1806 of yacc.c */ 5729 #line 72 5"parser.yy"5729 #line 724 "parser.yy" 5730 5730 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5731 5731 break; … … 5734 5734 5735 5735 /* Line 1806 of yacc.c */ 5736 #line 7 30"parser.yy"5736 #line 729 "parser.yy" 5737 5737 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5738 5738 break; … … 5741 5741 5742 5742 /* Line 1806 of yacc.c */ 5743 #line 73 6"parser.yy"5743 #line 735 "parser.yy" 5744 5744 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5745 5745 break; … … 5748 5748 5749 5749 /* Line 1806 of yacc.c */ 5750 #line 73 8"parser.yy"5750 #line 737 "parser.yy" 5751 5751 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5752 5752 break; … … 5755 5755 5756 5756 /* Line 1806 of yacc.c */ 5757 #line 7 40"parser.yy"5757 #line 739 "parser.yy" 5758 5758 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5759 5759 break; … … 5762 5762 5763 5763 /* Line 1806 of yacc.c */ 5764 #line 74 2"parser.yy"5764 #line 741 "parser.yy" 5765 5765 { 5766 5766 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5777 5777 5778 5778 /* Line 1806 of yacc.c */ 5779 #line 75 2"parser.yy"5779 #line 751 "parser.yy" 5780 5780 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5781 5781 break; … … 5784 5784 5785 5785 /* Line 1806 of yacc.c */ 5786 #line 75 4"parser.yy"5786 #line 753 "parser.yy" 5787 5787 { 5788 5788 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5794 5794 5795 5795 /* Line 1806 of yacc.c */ 5796 #line 76 4"parser.yy"5796 #line 763 "parser.yy" 5797 5797 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5798 5798 break; … … 5801 5801 5802 5802 /* Line 1806 of yacc.c */ 5803 #line 76 6"parser.yy"5803 #line 765 "parser.yy" 5804 5804 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5805 5805 break; … … 5808 5808 5809 5809 /* Line 1806 of yacc.c */ 5810 #line 77 1"parser.yy"5810 #line 770 "parser.yy" 5811 5811 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5812 5812 break; … … 5815 5815 5816 5816 /* Line 1806 of yacc.c */ 5817 #line 77 3"parser.yy"5817 #line 772 "parser.yy" 5818 5818 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5819 5819 break; … … 5822 5822 5823 5823 /* Line 1806 of yacc.c */ 5824 #line 776 "parser.yy" 5825 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5826 break; 5827 5828 case 166: 5829 5830 /* Line 1806 of yacc.c */ 5824 5831 #line 777 "parser.yy" 5825 { (yyval.sn) = (yyvsp[(2) - (3)].sn); }5826 break;5827 5828 case 166:5829 5830 /* Line 1806 of yacc.c */5831 #line 778 "parser.yy"5832 5832 { (yyval.sn) = new StatementNode( build_default() ); } 5833 5833 break; … … 5836 5836 5837 5837 /* Line 1806 of yacc.c */ 5838 #line 78 4"parser.yy"5838 #line 783 "parser.yy" 5839 5839 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5840 5840 break; … … 5843 5843 5844 5844 /* Line 1806 of yacc.c */ 5845 #line 78 8"parser.yy"5845 #line 787 "parser.yy" 5846 5846 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5847 5847 break; … … 5850 5850 5851 5851 /* Line 1806 of yacc.c */ 5852 #line 79 3"parser.yy"5852 #line 792 "parser.yy" 5853 5853 { (yyval.sn) = 0; } 5854 5854 break; … … 5857 5857 5858 5858 /* Line 1806 of yacc.c */ 5859 #line 79 9"parser.yy"5859 #line 798 "parser.yy" 5860 5860 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5861 5861 break; … … 5864 5864 5865 5865 /* Line 1806 of yacc.c */ 5866 #line 80 1"parser.yy"5866 #line 800 "parser.yy" 5867 5867 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5868 5868 break; … … 5871 5871 5872 5872 /* Line 1806 of yacc.c */ 5873 #line 80 6"parser.yy"5873 #line 805 "parser.yy" 5874 5874 { (yyval.sn) = 0; } 5875 5875 break; … … 5878 5878 5879 5879 /* Line 1806 of yacc.c */ 5880 #line 81 2"parser.yy"5880 #line 811 "parser.yy" 5881 5881 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5882 5882 break; … … 5885 5885 5886 5886 /* Line 1806 of yacc.c */ 5887 #line 81 4"parser.yy"5887 #line 813 "parser.yy" 5888 5888 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5889 5889 break; … … 5892 5892 5893 5893 /* Line 1806 of yacc.c */ 5894 #line 81 6"parser.yy"5894 #line 815 "parser.yy" 5895 5895 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5896 5896 break; … … 5899 5899 5900 5900 /* Line 1806 of yacc.c */ 5901 #line 81 8"parser.yy"5901 #line 817 "parser.yy" 5902 5902 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_last( (yyvsp[(2) - (4)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(3) - (4)].sn)->set_last( (yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 5903 5903 break; … … 5906 5906 5907 5907 /* Line 1806 of yacc.c */ 5908 #line 82 3"parser.yy"5908 #line 822 "parser.yy" 5909 5909 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5910 5910 break; … … 5913 5913 5914 5914 /* Line 1806 of yacc.c */ 5915 #line 82 9"parser.yy"5915 #line 828 "parser.yy" 5916 5916 { (yyval.sn) = 0; } 5917 5917 break; … … 5920 5920 5921 5921 /* Line 1806 of yacc.c */ 5922 #line 83 1"parser.yy"5922 #line 830 "parser.yy" 5923 5923 { (yyval.sn) = 0; } 5924 5924 break; … … 5927 5927 5928 5928 /* Line 1806 of yacc.c */ 5929 #line 83 6"parser.yy"5929 #line 835 "parser.yy" 5930 5930 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5931 5931 break; … … 5934 5934 5935 5935 /* Line 1806 of yacc.c */ 5936 #line 83 8"parser.yy"5936 #line 837 "parser.yy" 5937 5937 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5938 5938 break; … … 5941 5941 5942 5942 /* Line 1806 of yacc.c */ 5943 #line 8 40"parser.yy"5943 #line 839 "parser.yy" 5944 5944 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5945 5945 break; … … 5948 5948 5949 5949 /* Line 1806 of yacc.c */ 5950 #line 84 5"parser.yy"5950 #line 844 "parser.yy" 5951 5951 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5952 5952 break; … … 5955 5955 5956 5956 /* Line 1806 of yacc.c */ 5957 #line 84 7"parser.yy"5957 #line 846 "parser.yy" 5958 5958 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5959 5959 break; … … 5962 5962 5963 5963 /* Line 1806 of yacc.c */ 5964 #line 85 2"parser.yy"5964 #line 851 "parser.yy" 5965 5965 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5966 5966 break; … … 5969 5969 5970 5970 /* Line 1806 of yacc.c */ 5971 #line 85 6"parser.yy"5971 #line 855 "parser.yy" 5972 5972 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5973 5973 break; … … 5976 5976 5977 5977 /* Line 1806 of yacc.c */ 5978 #line 85 9"parser.yy"5978 #line 858 "parser.yy" 5979 5979 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5980 5980 break; … … 5983 5983 5984 5984 /* Line 1806 of yacc.c */ 5985 #line 86 3"parser.yy"5985 #line 862 "parser.yy" 5986 5986 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5987 5987 break; … … 5990 5990 5991 5991 /* Line 1806 of yacc.c */ 5992 #line 86 6"parser.yy"5992 #line 865 "parser.yy" 5993 5993 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5994 5994 break; … … 5997 5997 5998 5998 /* Line 1806 of yacc.c */ 5999 #line 8 70"parser.yy"5999 #line 869 "parser.yy" 6000 6000 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 6001 6001 break; … … 6004 6004 6005 6005 /* Line 1806 of yacc.c */ 6006 #line 87 2"parser.yy"6006 #line 871 "parser.yy" 6007 6007 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 6008 6008 break; … … 6011 6011 6012 6012 /* Line 1806 of yacc.c */ 6013 #line 87 4"parser.yy"6013 #line 873 "parser.yy" 6014 6014 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6015 6015 break; … … 6018 6018 6019 6019 /* Line 1806 of yacc.c */ 6020 #line 87 6"parser.yy"6020 #line 875 "parser.yy" 6021 6021 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6022 6022 break; … … 6025 6025 6026 6026 /* Line 1806 of yacc.c */ 6027 #line 87 8"parser.yy"6027 #line 877 "parser.yy" 6028 6028 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 6029 6029 break; … … 6032 6032 6033 6033 /* Line 1806 of yacc.c */ 6034 #line 88 3"parser.yy"6034 #line 882 "parser.yy" 6035 6035 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 6036 6036 break; … … 6039 6039 6040 6040 /* Line 1806 of yacc.c */ 6041 #line 88 5"parser.yy"6041 #line 884 "parser.yy" 6042 6042 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6043 6043 break; … … 6046 6046 6047 6047 /* Line 1806 of yacc.c */ 6048 #line 88 7"parser.yy"6048 #line 886 "parser.yy" 6049 6049 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 6050 6050 break; … … 6053 6053 6054 6054 /* Line 1806 of yacc.c */ 6055 #line 89 4"parser.yy"6055 #line 893 "parser.yy" 6056 6056 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6057 6057 break; … … 6060 6060 6061 6061 /* Line 1806 of yacc.c */ 6062 #line 89 6"parser.yy"6062 #line 895 "parser.yy" 6063 6063 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6064 6064 break; … … 6067 6067 6068 6068 /* Line 1806 of yacc.c */ 6069 #line 89 8"parser.yy"6069 #line 897 "parser.yy" 6070 6070 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6071 6071 break; … … 6074 6074 6075 6075 /* Line 1806 of yacc.c */ 6076 #line 900"parser.yy"6076 #line 899 "parser.yy" 6077 6077 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6078 6078 break; … … 6081 6081 6082 6082 /* Line 1806 of yacc.c */ 6083 #line 90 5"parser.yy"6083 #line 904 "parser.yy" 6084 6084 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6085 6085 break; … … 6088 6088 6089 6089 /* Line 1806 of yacc.c */ 6090 #line 90 7"parser.yy"6090 #line 906 "parser.yy" 6091 6091 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6092 6092 break; … … 6095 6095 6096 6096 /* Line 1806 of yacc.c */ 6097 #line 90 9"parser.yy"6097 #line 908 "parser.yy" 6098 6098 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6099 6099 break; … … 6102 6102 6103 6103 /* Line 1806 of yacc.c */ 6104 #line 91 1"parser.yy"6104 #line 910 "parser.yy" 6105 6105 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6106 6106 break; … … 6109 6109 6110 6110 /* Line 1806 of yacc.c */ 6111 #line 91 6"parser.yy"6111 #line 915 "parser.yy" 6112 6112 { 6113 6113 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); … … 6118 6118 6119 6119 /* Line 1806 of yacc.c */ 6120 #line 92 9"parser.yy"6120 #line 928 "parser.yy" 6121 6121 { 6122 6122 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6128 6128 6129 6129 /* Line 1806 of yacc.c */ 6130 #line 93 4"parser.yy"6130 #line 933 "parser.yy" 6131 6131 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6132 6132 break; … … 6135 6135 6136 6136 /* Line 1806 of yacc.c */ 6137 #line 93 6"parser.yy"6137 #line 935 "parser.yy" 6138 6138 { 6139 6139 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6145 6145 6146 6146 /* Line 1806 of yacc.c */ 6147 #line 94 5"parser.yy"6147 #line 944 "parser.yy" 6148 6148 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 6149 6149 break; … … 6152 6152 6153 6153 /* Line 1806 of yacc.c */ 6154 #line 94 7"parser.yy"6154 #line 946 "parser.yy" 6155 6155 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 6156 6156 break; … … 6159 6159 6160 6160 /* Line 1806 of yacc.c */ 6161 #line 94 9"parser.yy"6161 #line 948 "parser.yy" 6162 6162 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 6163 6163 break; … … 6166 6166 6167 6167 /* Line 1806 of yacc.c */ 6168 #line 95 1"parser.yy"6168 #line 950 "parser.yy" 6169 6169 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].en) ) ); } 6170 6170 break; … … 6173 6173 6174 6174 /* Line 1806 of yacc.c */ 6175 #line 95 3"parser.yy"6175 #line 952 "parser.yy" 6176 6176 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].en), (yyvsp[(12) - (14)].label) ) ); } 6177 6177 break; … … 6180 6180 6181 6181 /* Line 1806 of yacc.c */ 6182 #line 95 8"parser.yy"6182 #line 957 "parser.yy" 6183 6183 { (yyval.flag) = false; } 6184 6184 break; … … 6187 6187 6188 6188 /* Line 1806 of yacc.c */ 6189 #line 9 60"parser.yy"6189 #line 959 "parser.yy" 6190 6190 { (yyval.flag) = true; } 6191 6191 break; … … 6194 6194 6195 6195 /* Line 1806 of yacc.c */ 6196 #line 96 5"parser.yy"6196 #line 964 "parser.yy" 6197 6197 { (yyval.en) = 0; } 6198 6198 break; … … 6201 6201 6202 6202 /* Line 1806 of yacc.c */ 6203 #line 97 2"parser.yy"6203 #line 971 "parser.yy" 6204 6204 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6205 6205 break; … … 6208 6208 6209 6209 /* Line 1806 of yacc.c */ 6210 #line 97 7"parser.yy"6210 #line 976 "parser.yy" 6211 6211 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6212 6212 break; … … 6215 6215 6216 6216 /* Line 1806 of yacc.c */ 6217 #line 97 9"parser.yy"6217 #line 978 "parser.yy" 6218 6218 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6219 6219 break; … … 6222 6222 6223 6223 /* Line 1806 of yacc.c */ 6224 #line 98 4"parser.yy"6224 #line 983 "parser.yy" 6225 6225 { (yyval.en) = 0; } 6226 6226 break; … … 6229 6229 6230 6230 /* Line 1806 of yacc.c */ 6231 #line 98 6"parser.yy"6231 #line 985 "parser.yy" 6232 6232 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6233 6233 break; … … 6236 6236 6237 6237 /* Line 1806 of yacc.c */ 6238 #line 98 8"parser.yy"6238 #line 987 "parser.yy" 6239 6239 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6240 6240 break; … … 6243 6243 6244 6244 /* Line 1806 of yacc.c */ 6245 #line 99 3"parser.yy"6245 #line 992 "parser.yy" 6246 6246 { 6247 6247 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); … … 6253 6253 6254 6254 /* Line 1806 of yacc.c */ 6255 #line 99 8"parser.yy"6255 #line 997 "parser.yy" 6256 6256 { 6257 6257 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); … … 6263 6263 6264 6264 /* Line 1806 of yacc.c */ 6265 #line 100 8"parser.yy"6265 #line 1007 "parser.yy" 6266 6266 { (yyval.decl) = 0; } 6267 6267 break; … … 6270 6270 6271 6271 /* Line 1806 of yacc.c */ 6272 #line 101 5"parser.yy"6272 #line 1014 "parser.yy" 6273 6273 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6274 6274 break; … … 6277 6277 6278 6278 /* Line 1806 of yacc.c */ 6279 #line 10 20"parser.yy"6279 #line 1019 "parser.yy" 6280 6280 { (yyval.decl) = 0; } 6281 6281 break; … … 6284 6284 6285 6285 /* Line 1806 of yacc.c */ 6286 #line 102 7"parser.yy"6286 #line 1026 "parser.yy" 6287 6287 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6288 6288 break; 6289 6289 6290 6290 case 247: 6291 6292 /* Line 1806 of yacc.c */ 6293 #line 1040 "parser.yy" 6294 {} 6295 break; 6296 6297 case 248: 6291 6298 6292 6299 /* Line 1806 of yacc.c */ … … 6295 6302 break; 6296 6303 6297 case 248:6298 6299 /* Line 1806 of yacc.c */6300 #line 1042 "parser.yy"6301 {}6302 break;6303 6304 6304 case 256: 6305 6305 6306 6306 /* Line 1806 of yacc.c */ 6307 #line 107 1"parser.yy"6307 #line 1070 "parser.yy" 6308 6308 { 6309 6309 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6315 6315 6316 6316 /* Line 1806 of yacc.c */ 6317 #line 107 8"parser.yy"6317 #line 1077 "parser.yy" 6318 6318 { 6319 6319 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6325 6325 6326 6326 /* Line 1806 of yacc.c */ 6327 #line 108 3"parser.yy"6327 #line 1082 "parser.yy" 6328 6328 { 6329 6329 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6335 6335 6336 6336 /* Line 1806 of yacc.c */ 6337 #line 109 3"parser.yy"6337 #line 1092 "parser.yy" 6338 6338 { 6339 6339 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6345 6345 6346 6346 /* Line 1806 of yacc.c */ 6347 #line 109 8"parser.yy"6347 #line 1097 "parser.yy" 6348 6348 { 6349 6349 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6355 6355 6356 6356 /* Line 1806 of yacc.c */ 6357 #line 110 3"parser.yy"6357 #line 1102 "parser.yy" 6358 6358 { 6359 6359 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6365 6365 6366 6366 /* Line 1806 of yacc.c */ 6367 #line 111 1"parser.yy"6367 #line 1110 "parser.yy" 6368 6368 { 6369 6369 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6375 6375 6376 6376 /* Line 1806 of yacc.c */ 6377 #line 111 6"parser.yy"6377 #line 1115 "parser.yy" 6378 6378 { 6379 6379 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6385 6385 6386 6386 /* Line 1806 of yacc.c */ 6387 #line 112 1"parser.yy"6387 #line 1120 "parser.yy" 6388 6388 { 6389 6389 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6395 6395 6396 6396 /* Line 1806 of yacc.c */ 6397 #line 112 6"parser.yy"6397 #line 1125 "parser.yy" 6398 6398 { 6399 6399 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6405 6405 6406 6406 /* Line 1806 of yacc.c */ 6407 #line 113 1"parser.yy"6407 #line 1130 "parser.yy" 6408 6408 { 6409 6409 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6415 6415 6416 6416 /* Line 1806 of yacc.c */ 6417 #line 113 9"parser.yy"6417 #line 1138 "parser.yy" 6418 6418 { 6419 6419 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6424 6424 6425 6425 /* Line 1806 of yacc.c */ 6426 #line 116 2"parser.yy"6426 #line 1161 "parser.yy" 6427 6427 { 6428 6428 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6433 6433 6434 6434 /* Line 1806 of yacc.c */ 6435 #line 116 6"parser.yy"6435 #line 1165 "parser.yy" 6436 6436 { 6437 6437 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6442 6442 6443 6443 /* Line 1806 of yacc.c */ 6444 #line 117 3"parser.yy"6444 #line 1172 "parser.yy" 6445 6445 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6446 6446 break; … … 6449 6449 6450 6450 /* Line 1806 of yacc.c */ 6451 #line 117 7"parser.yy"6451 #line 1176 "parser.yy" 6452 6452 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6453 6453 break; … … 6456 6456 6457 6457 /* Line 1806 of yacc.c */ 6458 #line 118 2"parser.yy"6458 #line 1181 "parser.yy" 6459 6459 { 6460 6460 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6466 6466 6467 6467 /* Line 1806 of yacc.c */ 6468 #line 118 7"parser.yy"6468 #line 1186 "parser.yy" 6469 6469 { 6470 6470 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6476 6476 6477 6477 /* Line 1806 of yacc.c */ 6478 #line 119 2"parser.yy"6478 #line 1191 "parser.yy" 6479 6479 { 6480 6480 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6486 6486 6487 6487 /* Line 1806 of yacc.c */ 6488 #line 120 3"parser.yy"6488 #line 1202 "parser.yy" 6489 6489 { 6490 6490 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6496 6496 6497 6497 /* Line 1806 of yacc.c */ 6498 #line 120 8"parser.yy"6498 #line 1207 "parser.yy" 6499 6499 { 6500 6500 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6506 6506 6507 6507 /* Line 1806 of yacc.c */ 6508 #line 121 3"parser.yy"6508 #line 1212 "parser.yy" 6509 6509 { 6510 6510 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6516 6516 6517 6517 /* Line 1806 of yacc.c */ 6518 #line 121 8"parser.yy"6518 #line 1217 "parser.yy" 6519 6519 { 6520 6520 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6526 6526 6527 6527 /* Line 1806 of yacc.c */ 6528 #line 122 3"parser.yy"6528 #line 1222 "parser.yy" 6529 6529 { 6530 6530 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6536 6536 6537 6537 /* Line 1806 of yacc.c */ 6538 #line 123 2"parser.yy"6538 #line 1231 "parser.yy" 6539 6539 { 6540 6540 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6546 6546 6547 6547 /* Line 1806 of yacc.c */ 6548 #line 123 7"parser.yy"6548 #line 1236 "parser.yy" 6549 6549 { 6550 6550 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6556 6556 6557 6557 /* Line 1806 of yacc.c */ 6558 #line 125 4"parser.yy"6558 #line 1253 "parser.yy" 6559 6559 { 6560 6560 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6566 6566 6567 6567 /* Line 1806 of yacc.c */ 6568 #line 125 9"parser.yy"6568 #line 1258 "parser.yy" 6569 6569 { 6570 6570 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6576 6576 6577 6577 /* Line 1806 of yacc.c */ 6578 #line 128 1"parser.yy"6578 #line 1280 "parser.yy" 6579 6579 { (yyval.decl) = 0; } 6580 6580 break; … … 6583 6583 6584 6584 /* Line 1806 of yacc.c */ 6585 #line 129 3"parser.yy"6585 #line 1292 "parser.yy" 6586 6586 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6587 6587 break; … … 6590 6590 6591 6591 /* Line 1806 of yacc.c */ 6592 #line 130 4"parser.yy"6592 #line 1303 "parser.yy" 6593 6593 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6594 6594 break; … … 6597 6597 6598 6598 /* Line 1806 of yacc.c */ 6599 #line 130 6"parser.yy"6599 #line 1305 "parser.yy" 6600 6600 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6601 6601 break; … … 6604 6604 6605 6605 /* Line 1806 of yacc.c */ 6606 #line 130 8"parser.yy"6606 #line 1307 "parser.yy" 6607 6607 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6608 6608 break; … … 6611 6611 6612 6612 /* Line 1806 of yacc.c */ 6613 #line 13 10"parser.yy"6613 #line 1309 "parser.yy" 6614 6614 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6615 6615 break; … … 6618 6618 6619 6619 /* Line 1806 of yacc.c */ 6620 #line 131 2"parser.yy"6620 #line 1311 "parser.yy" 6621 6621 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6622 6622 break; … … 6625 6625 6626 6626 /* Line 1806 of yacc.c */ 6627 #line 131 4"parser.yy"6627 #line 1313 "parser.yy" 6628 6628 { 6629 6629 typedefTable.enterScope(); … … 6634 6634 6635 6635 /* Line 1806 of yacc.c */ 6636 #line 131 8"parser.yy"6636 #line 1317 "parser.yy" 6637 6637 { 6638 6638 typedefTable.leaveScope(); … … 6644 6644 6645 6645 /* Line 1806 of yacc.c */ 6646 #line 132 7"parser.yy"6646 #line 1326 "parser.yy" 6647 6647 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6648 6648 break; … … 6651 6651 6652 6652 /* Line 1806 of yacc.c */ 6653 #line 132 9"parser.yy"6653 #line 1328 "parser.yy" 6654 6654 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6655 6655 break; … … 6658 6658 6659 6659 /* Line 1806 of yacc.c */ 6660 #line 13 40"parser.yy"6660 #line 1339 "parser.yy" 6661 6661 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6662 6662 break; … … 6665 6665 6666 6666 /* Line 1806 of yacc.c */ 6667 #line 134 5"parser.yy"6667 #line 1344 "parser.yy" 6668 6668 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6669 6669 break; … … 6672 6672 6673 6673 /* Line 1806 of yacc.c */ 6674 #line 134 7"parser.yy"6674 #line 1346 "parser.yy" 6675 6675 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6676 6676 break; … … 6679 6679 6680 6680 /* Line 1806 of yacc.c */ 6681 #line 134 9"parser.yy"6681 #line 1348 "parser.yy" 6682 6682 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6683 6683 break; … … 6686 6686 6687 6687 /* Line 1806 of yacc.c */ 6688 #line 135 1"parser.yy"6688 #line 1350 "parser.yy" 6689 6689 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6690 6690 break; … … 6693 6693 6694 6694 /* Line 1806 of yacc.c */ 6695 #line 135 4"parser.yy"6695 #line 1353 "parser.yy" 6696 6696 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 6697 6697 break; … … 6700 6700 6701 6701 /* Line 1806 of yacc.c */ 6702 #line 135 6"parser.yy"6702 #line 1355 "parser.yy" 6703 6703 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6704 6704 break; … … 6707 6707 6708 6708 /* Line 1806 of yacc.c */ 6709 #line 135 9"parser.yy"6709 #line 1358 "parser.yy" 6710 6710 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 6711 6711 break; … … 6714 6714 6715 6715 /* Line 1806 of yacc.c */ 6716 #line 136 1"parser.yy"6716 #line 1360 "parser.yy" 6717 6717 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6718 6718 break; … … 6721 6721 6722 6722 /* Line 1806 of yacc.c */ 6723 #line 136 6"parser.yy"6723 #line 1365 "parser.yy" 6724 6724 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6725 6725 break; … … 6728 6728 6729 6729 /* Line 1806 of yacc.c */ 6730 #line 136 8"parser.yy"6730 #line 1367 "parser.yy" 6731 6731 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6732 6732 break; … … 6735 6735 6736 6736 /* Line 1806 of yacc.c */ 6737 #line 13 70"parser.yy"6737 #line 1369 "parser.yy" 6738 6738 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6739 6739 break; … … 6742 6742 6743 6743 /* Line 1806 of yacc.c */ 6744 #line 137 2"parser.yy"6744 #line 1371 "parser.yy" 6745 6745 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6746 6746 break; … … 6749 6749 6750 6750 /* Line 1806 of yacc.c */ 6751 #line 137 4"parser.yy"6751 #line 1373 "parser.yy" 6752 6752 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6753 6753 break; … … 6756 6756 6757 6757 /* Line 1806 of yacc.c */ 6758 #line 137 6"parser.yy"6758 #line 1375 "parser.yy" 6759 6759 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6760 6760 break; … … 6763 6763 6764 6764 /* Line 1806 of yacc.c */ 6765 #line 137 8"parser.yy"6765 #line 1377 "parser.yy" 6766 6766 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6767 6767 break; … … 6770 6770 6771 6771 /* Line 1806 of yacc.c */ 6772 #line 13 80"parser.yy"6772 #line 1379 "parser.yy" 6773 6773 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6774 6774 break; … … 6777 6777 6778 6778 /* Line 1806 of yacc.c */ 6779 #line 138 2"parser.yy"6779 #line 1381 "parser.yy" 6780 6780 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6781 6781 break; … … 6784 6784 6785 6785 /* Line 1806 of yacc.c */ 6786 #line 138 4"parser.yy"6786 #line 1383 "parser.yy" 6787 6787 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6788 6788 break; … … 6791 6791 6792 6792 /* Line 1806 of yacc.c */ 6793 #line 138 6"parser.yy"6793 #line 1385 "parser.yy" 6794 6794 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6795 6795 break; … … 6798 6798 6799 6799 /* Line 1806 of yacc.c */ 6800 #line 138 8"parser.yy"6800 #line 1387 "parser.yy" 6801 6801 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6802 6802 break; … … 6805 6805 6806 6806 /* Line 1806 of yacc.c */ 6807 #line 13 90"parser.yy"6807 #line 1389 "parser.yy" 6808 6808 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6809 6809 break; … … 6812 6812 6813 6813 /* Line 1806 of yacc.c */ 6814 #line 139 7"parser.yy"6814 #line 1396 "parser.yy" 6815 6815 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6816 6816 break; … … 6819 6819 6820 6820 /* Line 1806 of yacc.c */ 6821 #line 139 9"parser.yy"6821 #line 1398 "parser.yy" 6822 6822 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6823 6823 break; … … 6826 6826 6827 6827 /* Line 1806 of yacc.c */ 6828 #line 140 1"parser.yy"6828 #line 1400 "parser.yy" 6829 6829 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6830 6830 break; … … 6833 6833 6834 6834 /* Line 1806 of yacc.c */ 6835 #line 140 3"parser.yy"6835 #line 1402 "parser.yy" 6836 6836 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6837 6837 break; … … 6840 6840 6841 6841 /* Line 1806 of yacc.c */ 6842 #line 140 9"parser.yy"6842 #line 1408 "parser.yy" 6843 6843 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6844 6844 break; … … 6847 6847 6848 6848 /* Line 1806 of yacc.c */ 6849 #line 141 6"parser.yy"6849 #line 1415 "parser.yy" 6850 6850 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6851 6851 break; … … 6854 6854 6855 6855 /* Line 1806 of yacc.c */ 6856 #line 141 8"parser.yy"6856 #line 1417 "parser.yy" 6857 6857 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6858 6858 break; … … 6861 6861 6862 6862 /* Line 1806 of yacc.c */ 6863 #line 14 20"parser.yy"6863 #line 1419 "parser.yy" 6864 6864 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6865 6865 break; … … 6868 6868 6869 6869 /* Line 1806 of yacc.c */ 6870 #line 142 5"parser.yy"6870 #line 1424 "parser.yy" 6871 6871 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6872 6872 break; … … 6875 6875 6876 6876 /* Line 1806 of yacc.c */ 6877 #line 142 7"parser.yy"6877 #line 1426 "parser.yy" 6878 6878 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6879 6879 break; … … 6882 6882 6883 6883 /* Line 1806 of yacc.c */ 6884 #line 142 9"parser.yy"6884 #line 1428 "parser.yy" 6885 6885 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6886 6886 break; … … 6889 6889 6890 6890 /* Line 1806 of yacc.c */ 6891 #line 143 1"parser.yy"6891 #line 1430 "parser.yy" 6892 6892 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6893 6893 break; … … 6896 6896 6897 6897 /* Line 1806 of yacc.c */ 6898 #line 143 7"parser.yy"6898 #line 1436 "parser.yy" 6899 6899 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6900 6900 break; … … 6903 6903 6904 6904 /* Line 1806 of yacc.c */ 6905 #line 143 9"parser.yy"6905 #line 1438 "parser.yy" 6906 6906 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6907 6907 break; … … 6910 6910 6911 6911 /* Line 1806 of yacc.c */ 6912 #line 144 1"parser.yy"6912 #line 1440 "parser.yy" 6913 6913 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6914 6914 break; … … 6917 6917 6918 6918 /* Line 1806 of yacc.c */ 6919 #line 144 7"parser.yy"6919 #line 1446 "parser.yy" 6920 6920 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6921 6921 break; … … 6924 6924 6925 6925 /* Line 1806 of yacc.c */ 6926 #line 144 9"parser.yy"6926 #line 1448 "parser.yy" 6927 6927 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6928 6928 break; … … 6931 6931 6932 6932 /* Line 1806 of yacc.c */ 6933 #line 145 5"parser.yy"6933 #line 1454 "parser.yy" 6934 6934 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6935 6935 break; … … 6938 6938 6939 6939 /* Line 1806 of yacc.c */ 6940 #line 145 7"parser.yy"6940 #line 1456 "parser.yy" 6941 6941 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6942 6942 break; … … 6945 6945 6946 6946 /* Line 1806 of yacc.c */ 6947 #line 145 9"parser.yy"6947 #line 1458 "parser.yy" 6948 6948 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6949 6949 break; … … 6952 6952 6953 6953 /* Line 1806 of yacc.c */ 6954 #line 146 4"parser.yy"6954 #line 1463 "parser.yy" 6955 6955 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6956 6956 break; … … 6959 6959 6960 6960 /* Line 1806 of yacc.c */ 6961 #line 146 6"parser.yy"6961 #line 1465 "parser.yy" 6962 6962 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6963 6963 break; … … 6966 6966 6967 6967 /* Line 1806 of yacc.c */ 6968 #line 146 8"parser.yy"6968 #line 1467 "parser.yy" 6969 6969 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6970 6970 break; … … 6973 6973 6974 6974 /* Line 1806 of yacc.c */ 6975 #line 147 8"parser.yy"6975 #line 1477 "parser.yy" 6976 6976 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 6977 6977 break; … … 6980 6980 6981 6981 /* Line 1806 of yacc.c */ 6982 #line 14 80"parser.yy"6982 #line 1479 "parser.yy" 6983 6983 { 6984 6984 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6990 6990 6991 6991 /* Line 1806 of yacc.c */ 6992 #line 148 5"parser.yy"6992 #line 1484 "parser.yy" 6993 6993 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6994 6994 break; … … 6997 6997 6998 6998 /* Line 1806 of yacc.c */ 6999 #line 148 7"parser.yy"6999 #line 1486 "parser.yy" 7000 7000 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 7001 7001 break; … … 7004 7004 7005 7005 /* Line 1806 of yacc.c */ 7006 #line 148 9"parser.yy"7006 #line 1488 "parser.yy" 7007 7007 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 7008 7008 break; … … 7011 7011 7012 7012 /* Line 1806 of yacc.c */ 7013 #line 149 1"parser.yy"7013 #line 1490 "parser.yy" 7014 7014 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7015 7015 break; … … 7018 7018 7019 7019 /* Line 1806 of yacc.c */ 7020 #line 149 6"parser.yy"7020 #line 1495 "parser.yy" 7021 7021 { (yyval.aggKey) = DeclarationNode::Struct; } 7022 7022 break; … … 7025 7025 7026 7026 /* Line 1806 of yacc.c */ 7027 #line 149 8"parser.yy"7027 #line 1497 "parser.yy" 7028 7028 { (yyval.aggKey) = DeclarationNode::Union; } 7029 7029 break; … … 7032 7032 7033 7033 /* Line 1806 of yacc.c */ 7034 #line 150 3"parser.yy"7034 #line 1502 "parser.yy" 7035 7035 { (yyval.decl) = 0; } 7036 7036 break; … … 7039 7039 7040 7040 /* Line 1806 of yacc.c */ 7041 #line 150 5"parser.yy"7041 #line 1504 "parser.yy" 7042 7042 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7043 7043 break; … … 7046 7046 7047 7047 /* Line 1806 of yacc.c */ 7048 #line 151 1"parser.yy"7048 #line 1510 "parser.yy" 7049 7049 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7050 7050 break; … … 7053 7053 7054 7054 /* Line 1806 of yacc.c */ 7055 #line 151 4"parser.yy"7055 #line 1513 "parser.yy" 7056 7056 { // mark all fields in list 7057 7057 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7064 7064 7065 7065 /* Line 1806 of yacc.c */ 7066 #line 152 4"parser.yy"7066 #line 1523 "parser.yy" 7067 7067 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7068 7068 break; … … 7071 7071 7072 7072 /* Line 1806 of yacc.c */ 7073 #line 152 6"parser.yy"7073 #line 1525 "parser.yy" 7074 7074 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7075 7075 break; … … 7078 7078 7079 7079 /* Line 1806 of yacc.c */ 7080 #line 152 8"parser.yy"7080 #line 1527 "parser.yy" 7081 7081 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7082 7082 break; … … 7085 7085 7086 7086 /* Line 1806 of yacc.c */ 7087 #line 153 3"parser.yy"7087 #line 1532 "parser.yy" 7088 7088 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7089 7089 break; … … 7092 7092 7093 7093 /* Line 1806 of yacc.c */ 7094 #line 153 5"parser.yy"7094 #line 1534 "parser.yy" 7095 7095 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7096 7096 break; … … 7099 7099 7100 7100 /* Line 1806 of yacc.c */ 7101 #line 15 40"parser.yy"7101 #line 1539 "parser.yy" 7102 7102 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7103 7103 break; … … 7106 7106 7107 7107 /* Line 1806 of yacc.c */ 7108 #line 154 2"parser.yy"7108 #line 1541 "parser.yy" 7109 7109 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7110 7110 break; … … 7113 7113 7114 7114 /* Line 1806 of yacc.c */ 7115 #line 154 5"parser.yy"7115 #line 1544 "parser.yy" 7116 7116 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7117 7117 break; … … 7120 7120 7121 7121 /* Line 1806 of yacc.c */ 7122 #line 154 8"parser.yy"7122 #line 1547 "parser.yy" 7123 7123 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7124 7124 break; … … 7127 7127 7128 7128 /* Line 1806 of yacc.c */ 7129 #line 155 4"parser.yy"7129 #line 1553 "parser.yy" 7130 7130 { (yyval.en) = 0; } 7131 7131 break; … … 7134 7134 7135 7135 /* Line 1806 of yacc.c */ 7136 #line 155 6"parser.yy"7136 #line 1555 "parser.yy" 7137 7137 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7138 7138 break; … … 7141 7141 7142 7142 /* Line 1806 of yacc.c */ 7143 #line 156 1"parser.yy"7143 #line 1560 "parser.yy" 7144 7144 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7145 7145 break; … … 7148 7148 7149 7149 /* Line 1806 of yacc.c */ 7150 #line 15 70"parser.yy"7150 #line 1569 "parser.yy" 7151 7151 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 7152 7152 break; … … 7155 7155 7156 7156 /* Line 1806 of yacc.c */ 7157 #line 157 2"parser.yy"7157 #line 1571 "parser.yy" 7158 7158 { 7159 7159 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7165 7165 7166 7166 /* Line 1806 of yacc.c */ 7167 #line 157 7"parser.yy"7167 #line 1576 "parser.yy" 7168 7168 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7169 7169 break; … … 7172 7172 7173 7173 /* Line 1806 of yacc.c */ 7174 #line 157 9"parser.yy"7174 #line 1578 "parser.yy" 7175 7175 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7176 7176 break; … … 7179 7179 7180 7180 /* Line 1806 of yacc.c */ 7181 #line 158 4"parser.yy"7181 #line 1583 "parser.yy" 7182 7182 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7183 7183 break; … … 7186 7186 7187 7187 /* Line 1806 of yacc.c */ 7188 #line 158 6"parser.yy"7188 #line 1585 "parser.yy" 7189 7189 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7190 7190 break; … … 7193 7193 7194 7194 /* Line 1806 of yacc.c */ 7195 #line 159 1"parser.yy"7195 #line 1590 "parser.yy" 7196 7196 { (yyval.en) = 0; } 7197 7197 break; … … 7200 7200 7201 7201 /* Line 1806 of yacc.c */ 7202 #line 159 3"parser.yy"7202 #line 1592 "parser.yy" 7203 7203 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7204 7204 break; … … 7207 7207 7208 7208 /* Line 1806 of yacc.c */ 7209 #line 1 600"parser.yy"7209 #line 1599 "parser.yy" 7210 7210 { (yyval.decl) = 0; } 7211 7211 break; … … 7214 7214 7215 7215 /* Line 1806 of yacc.c */ 7216 #line 160 8"parser.yy"7216 #line 1607 "parser.yy" 7217 7217 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7218 7218 break; … … 7221 7221 7222 7222 /* Line 1806 of yacc.c */ 7223 #line 16 10"parser.yy"7223 #line 1609 "parser.yy" 7224 7224 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7225 7225 break; … … 7228 7228 7229 7229 /* Line 1806 of yacc.c */ 7230 #line 161 2"parser.yy"7230 #line 1611 "parser.yy" 7231 7231 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7232 7232 break; … … 7235 7235 7236 7236 /* Line 1806 of yacc.c */ 7237 #line 16 20"parser.yy"7237 #line 1619 "parser.yy" 7238 7238 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7239 7239 break; … … 7242 7242 7243 7243 /* Line 1806 of yacc.c */ 7244 #line 162 2"parser.yy"7244 #line 1621 "parser.yy" 7245 7245 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7246 7246 break; … … 7249 7249 7250 7250 /* Line 1806 of yacc.c */ 7251 #line 162 4"parser.yy"7251 #line 1623 "parser.yy" 7252 7252 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7253 7253 break; … … 7256 7256 7257 7257 /* Line 1806 of yacc.c */ 7258 #line 16 30"parser.yy"7258 #line 1629 "parser.yy" 7259 7259 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7260 7260 break; … … 7263 7263 7264 7264 /* Line 1806 of yacc.c */ 7265 #line 163 5"parser.yy"7265 #line 1634 "parser.yy" 7266 7266 { (yyval.decl) = 0; } 7267 7267 break; … … 7270 7270 7271 7271 /* Line 1806 of yacc.c */ 7272 #line 164 2"parser.yy"7272 #line 1641 "parser.yy" 7273 7273 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7274 7274 break; … … 7277 7277 7278 7278 /* Line 1806 of yacc.c */ 7279 #line 164 9"parser.yy"7279 #line 1648 "parser.yy" 7280 7280 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7281 7281 break; … … 7284 7284 7285 7285 /* Line 1806 of yacc.c */ 7286 #line 165 1"parser.yy"7286 #line 1650 "parser.yy" 7287 7287 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7288 7288 break; … … 7291 7291 7292 7292 /* Line 1806 of yacc.c */ 7293 #line 16 60"parser.yy"7293 #line 1659 "parser.yy" 7294 7294 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7295 7295 break; … … 7298 7298 7299 7299 /* Line 1806 of yacc.c */ 7300 #line 166 3"parser.yy"7300 #line 1662 "parser.yy" 7301 7301 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7302 7302 break; … … 7305 7305 7306 7306 /* Line 1806 of yacc.c */ 7307 #line 166 5"parser.yy"7307 #line 1664 "parser.yy" 7308 7308 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7309 7309 break; … … 7312 7312 7313 7313 /* Line 1806 of yacc.c */ 7314 #line 167 5"parser.yy"7314 #line 1674 "parser.yy" 7315 7315 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7316 7316 break; … … 7319 7319 7320 7320 /* Line 1806 of yacc.c */ 7321 #line 168 1"parser.yy"7321 #line 1680 "parser.yy" 7322 7322 { 7323 7323 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7329 7329 7330 7330 /* Line 1806 of yacc.c */ 7331 #line 168 6"parser.yy"7331 #line 1685 "parser.yy" 7332 7332 { 7333 7333 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7339 7339 7340 7340 /* Line 1806 of yacc.c */ 7341 #line 169 5"parser.yy"7341 #line 1694 "parser.yy" 7342 7342 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7343 7343 break; … … 7346 7346 7347 7347 /* Line 1806 of yacc.c */ 7348 #line 170 4"parser.yy"7348 #line 1703 "parser.yy" 7349 7349 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7350 7350 break; … … 7353 7353 7354 7354 /* Line 1806 of yacc.c */ 7355 #line 170 6"parser.yy"7355 #line 1705 "parser.yy" 7356 7356 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7357 7357 break; … … 7360 7360 7361 7361 /* Line 1806 of yacc.c */ 7362 #line 173 1"parser.yy"7362 #line 1730 "parser.yy" 7363 7363 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7364 7364 break; … … 7367 7367 7368 7368 /* Line 1806 of yacc.c */ 7369 #line 173 9"parser.yy"7369 #line 1738 "parser.yy" 7370 7370 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7371 7371 break; … … 7374 7374 7375 7375 /* Line 1806 of yacc.c */ 7376 #line 174 4"parser.yy"7376 #line 1743 "parser.yy" 7377 7377 { (yyval.in) = 0; } 7378 7378 break; … … 7381 7381 7382 7382 /* Line 1806 of yacc.c */ 7383 #line 174 6"parser.yy"7383 #line 1745 "parser.yy" 7384 7384 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7385 7385 break; … … 7388 7388 7389 7389 /* Line 1806 of yacc.c */ 7390 #line 174 8"parser.yy"7390 #line 1747 "parser.yy" 7391 7391 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7392 7392 break; … … 7395 7395 7396 7396 /* Line 1806 of yacc.c */ 7397 #line 1751 "parser.yy" 7398 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7399 break; 7400 7401 case 460: 7402 7403 /* Line 1806 of yacc.c */ 7397 7404 #line 1752 "parser.yy" 7398 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }7399 break;7400 7401 case 460:7402 7403 /* Line 1806 of yacc.c */7404 #line 1753 "parser.yy"7405 7405 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7406 7406 break; … … 7409 7409 7410 7410 /* Line 1806 of yacc.c */ 7411 #line 175 8"parser.yy"7411 #line 1757 "parser.yy" 7412 7412 { (yyval.in) = 0; } 7413 7413 break; … … 7416 7416 7417 7417 /* Line 1806 of yacc.c */ 7418 #line 1759 "parser.yy" 7419 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7420 break; 7421 7422 case 464: 7423 7424 /* Line 1806 of yacc.c */ 7418 7425 #line 1760 "parser.yy" 7419 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }7420 break;7421 7422 case 464:7423 7424 /* Line 1806 of yacc.c */7425 #line 1761 "parser.yy"7426 7426 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7427 7427 break; … … 7430 7430 7431 7431 /* Line 1806 of yacc.c */ 7432 #line 176 3"parser.yy"7432 #line 1762 "parser.yy" 7433 7433 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7434 7434 break; … … 7437 7437 7438 7438 /* Line 1806 of yacc.c */ 7439 #line 177 9"parser.yy"7439 #line 1778 "parser.yy" 7440 7440 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7441 7441 break; … … 7444 7444 7445 7445 /* Line 1806 of yacc.c */ 7446 #line 178 5"parser.yy"7446 #line 1784 "parser.yy" 7447 7447 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7448 7448 break; … … 7451 7451 7452 7452 /* Line 1806 of yacc.c */ 7453 #line 179 1"parser.yy"7453 #line 1790 "parser.yy" 7454 7454 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7455 7455 break; … … 7458 7458 7459 7459 /* Line 1806 of yacc.c */ 7460 #line 179 4"parser.yy"7460 #line 1793 "parser.yy" 7461 7461 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7462 7462 break; … … 7465 7465 7466 7466 /* Line 1806 of yacc.c */ 7467 #line 179 6"parser.yy"7467 #line 1795 "parser.yy" 7468 7468 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7469 7469 break; … … 7472 7472 7473 7473 /* Line 1806 of yacc.c */ 7474 #line 179 8"parser.yy"7474 #line 1797 "parser.yy" 7475 7475 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7476 7476 break; … … 7479 7479 7480 7480 /* Line 1806 of yacc.c */ 7481 #line 1 800"parser.yy"7481 #line 1799 "parser.yy" 7482 7482 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7483 7483 break; … … 7486 7486 7487 7487 /* Line 1806 of yacc.c */ 7488 #line 182 4"parser.yy"7488 #line 1823 "parser.yy" 7489 7489 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7490 7490 break; … … 7493 7493 7494 7494 /* Line 1806 of yacc.c */ 7495 #line 182 6"parser.yy"7495 #line 1825 "parser.yy" 7496 7496 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7497 7497 break; … … 7500 7500 7501 7501 /* Line 1806 of yacc.c */ 7502 #line 182 8"parser.yy"7502 #line 1827 "parser.yy" 7503 7503 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7504 7504 break; … … 7507 7507 7508 7508 /* Line 1806 of yacc.c */ 7509 #line 183 4"parser.yy"7509 #line 1833 "parser.yy" 7510 7510 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7511 7511 break; … … 7514 7514 7515 7515 /* Line 1806 of yacc.c */ 7516 #line 183 6"parser.yy"7516 #line 1835 "parser.yy" 7517 7517 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7518 7518 break; … … 7521 7521 7522 7522 /* Line 1806 of yacc.c */ 7523 #line 184 1"parser.yy"7523 #line 1840 "parser.yy" 7524 7524 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7525 7525 break; … … 7528 7528 7529 7529 /* Line 1806 of yacc.c */ 7530 #line 184 7"parser.yy"7530 #line 1846 "parser.yy" 7531 7531 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7532 7532 break; … … 7535 7535 7536 7536 /* Line 1806 of yacc.c */ 7537 #line 185 2"parser.yy"7537 #line 1851 "parser.yy" 7538 7538 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7539 7539 break; … … 7542 7542 7543 7543 /* Line 1806 of yacc.c */ 7544 #line 185 4"parser.yy"7544 #line 1853 "parser.yy" 7545 7545 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7546 7546 break; … … 7549 7549 7550 7550 /* Line 1806 of yacc.c */ 7551 #line 18 60"parser.yy"7551 #line 1859 "parser.yy" 7552 7552 { (yyval.tclass) = DeclarationNode::Otype; } 7553 7553 break; … … 7556 7556 7557 7557 /* Line 1806 of yacc.c */ 7558 #line 186 2"parser.yy"7558 #line 1861 "parser.yy" 7559 7559 { (yyval.tclass) = DeclarationNode::Ftype; } 7560 7560 break; … … 7563 7563 7564 7564 /* Line 1806 of yacc.c */ 7565 #line 186 4"parser.yy"7565 #line 1863 "parser.yy" 7566 7566 { (yyval.tclass) = DeclarationNode::Dtype; } 7567 7567 break; … … 7570 7570 7571 7571 /* Line 1806 of yacc.c */ 7572 #line 186 9"parser.yy"7572 #line 1868 "parser.yy" 7573 7573 { (yyval.decl) = 0; } 7574 7574 break; … … 7577 7577 7578 7578 /* Line 1806 of yacc.c */ 7579 #line 187 1"parser.yy"7579 #line 1870 "parser.yy" 7580 7580 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7581 7581 break; … … 7584 7584 7585 7585 /* Line 1806 of yacc.c */ 7586 #line 187 6"parser.yy"7586 #line 1875 "parser.yy" 7587 7587 { 7588 7588 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7594 7594 7595 7595 /* Line 1806 of yacc.c */ 7596 #line 188 1"parser.yy"7596 #line 1880 "parser.yy" 7597 7597 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7598 7598 break; … … 7601 7601 7602 7602 /* Line 1806 of yacc.c */ 7603 #line 188 3"parser.yy"7603 #line 1882 "parser.yy" 7604 7604 { (yyval.decl) = 0; } 7605 7605 break; … … 7608 7608 7609 7609 /* Line 1806 of yacc.c */ 7610 #line 188 8"parser.yy"7610 #line 1887 "parser.yy" 7611 7611 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7612 7612 break; … … 7615 7615 7616 7616 /* Line 1806 of yacc.c */ 7617 #line 189 1"parser.yy"7617 #line 1890 "parser.yy" 7618 7618 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7619 7619 break; … … 7622 7622 7623 7623 /* Line 1806 of yacc.c */ 7624 #line 189 3"parser.yy"7624 #line 1892 "parser.yy" 7625 7625 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7626 7626 break; … … 7629 7629 7630 7630 /* Line 1806 of yacc.c */ 7631 #line 189 8"parser.yy"7631 #line 1897 "parser.yy" 7632 7632 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7633 7633 break; … … 7636 7636 7637 7637 /* Line 1806 of yacc.c */ 7638 #line 1 900"parser.yy"7638 #line 1899 "parser.yy" 7639 7639 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7640 7640 break; … … 7643 7643 7644 7644 /* Line 1806 of yacc.c */ 7645 #line 190 2"parser.yy"7645 #line 1901 "parser.yy" 7646 7646 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7647 7647 break; … … 7650 7650 7651 7651 /* Line 1806 of yacc.c */ 7652 #line 190 7"parser.yy"7652 #line 1906 "parser.yy" 7653 7653 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7654 7654 break; … … 7657 7657 7658 7658 /* Line 1806 of yacc.c */ 7659 #line 190 9"parser.yy"7659 #line 1908 "parser.yy" 7660 7660 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7661 7661 break; … … 7664 7664 7665 7665 /* Line 1806 of yacc.c */ 7666 #line 191 4"parser.yy"7666 #line 1913 "parser.yy" 7667 7667 { 7668 7668 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7674 7674 7675 7675 /* Line 1806 of yacc.c */ 7676 #line 191 9"parser.yy"7676 #line 1918 "parser.yy" 7677 7677 { 7678 7678 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7684 7684 7685 7685 /* Line 1806 of yacc.c */ 7686 #line 192 7"parser.yy"7686 #line 1926 "parser.yy" 7687 7687 { 7688 7688 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7694 7694 7695 7695 /* Line 1806 of yacc.c */ 7696 #line 193 2"parser.yy"7696 #line 1931 "parser.yy" 7697 7697 { 7698 7698 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7704 7704 7705 7705 /* Line 1806 of yacc.c */ 7706 #line 193 7"parser.yy"7706 #line 1936 "parser.yy" 7707 7707 { 7708 7708 typedefTable.leaveTrait(); … … 7715 7715 7716 7716 /* Line 1806 of yacc.c */ 7717 #line 194 7"parser.yy"7717 #line 1946 "parser.yy" 7718 7718 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7719 7719 break; … … 7722 7722 7723 7723 /* Line 1806 of yacc.c */ 7724 #line 195 7"parser.yy"7724 #line 1956 "parser.yy" 7725 7725 { 7726 7726 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7732 7732 7733 7733 /* Line 1806 of yacc.c */ 7734 #line 196 2"parser.yy"7734 #line 1961 "parser.yy" 7735 7735 { 7736 7736 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7742 7742 7743 7743 /* Line 1806 of yacc.c */ 7744 #line 196 7"parser.yy"7744 #line 1966 "parser.yy" 7745 7745 { 7746 7746 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7752 7752 7753 7753 /* Line 1806 of yacc.c */ 7754 #line 197 5"parser.yy"7754 #line 1974 "parser.yy" 7755 7755 { 7756 7756 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7762 7762 7763 7763 /* Line 1806 of yacc.c */ 7764 #line 19 80"parser.yy"7764 #line 1979 "parser.yy" 7765 7765 { 7766 7766 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7772 7772 7773 7773 /* Line 1806 of yacc.c */ 7774 #line 19 90"parser.yy"7774 #line 1989 "parser.yy" 7775 7775 {} 7776 7776 break; … … 7779 7779 7780 7780 /* Line 1806 of yacc.c */ 7781 #line 199 2"parser.yy"7781 #line 1991 "parser.yy" 7782 7782 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 7783 7783 break; … … 7786 7786 7787 7787 /* Line 1806 of yacc.c */ 7788 #line 199 8"parser.yy"7788 #line 1997 "parser.yy" 7789 7789 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7790 7790 break; … … 7793 7793 7794 7794 /* Line 1806 of yacc.c */ 7795 #line 200 3"parser.yy"7795 #line 2002 "parser.yy" 7796 7796 { (yyval.decl) = 0; } 7797 7797 break; … … 7800 7800 7801 7801 /* Line 1806 of yacc.c */ 7802 #line 201 1"parser.yy"7802 #line 2010 "parser.yy" 7803 7803 {} 7804 7804 break; … … 7807 7807 7808 7808 /* Line 1806 of yacc.c */ 7809 #line 201 3"parser.yy"7809 #line 2012 "parser.yy" 7810 7810 { 7811 7811 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" … … 7817 7817 7818 7818 /* Line 1806 of yacc.c */ 7819 #line 201 8"parser.yy"7819 #line 2017 "parser.yy" 7820 7820 { 7821 7821 linkage = linkageStack.top(); … … 7828 7828 7829 7829 /* Line 1806 of yacc.c */ 7830 #line 202 4"parser.yy"7830 #line 2023 "parser.yy" 7831 7831 { // mark all fields in list 7832 7832 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7839 7839 7840 7840 /* Line 1806 of yacc.c */ 7841 #line 203 9"parser.yy"7841 #line 2038 "parser.yy" 7842 7842 { 7843 7843 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7850 7850 7851 7851 /* Line 1806 of yacc.c */ 7852 #line 204 5"parser.yy"7852 #line 2044 "parser.yy" 7853 7853 { 7854 7854 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7861 7861 7862 7862 /* Line 1806 of yacc.c */ 7863 #line 205 4"parser.yy"7863 #line 2053 "parser.yy" 7864 7864 { 7865 7865 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7872 7872 7873 7873 /* Line 1806 of yacc.c */ 7874 #line 20 60"parser.yy"7874 #line 2059 "parser.yy" 7875 7875 { 7876 7876 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7883 7883 7884 7884 /* Line 1806 of yacc.c */ 7885 #line 206 6"parser.yy"7885 #line 2065 "parser.yy" 7886 7886 { 7887 7887 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7894 7894 7895 7895 /* Line 1806 of yacc.c */ 7896 #line 207 2"parser.yy"7896 #line 2071 "parser.yy" 7897 7897 { 7898 7898 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7905 7905 7906 7906 /* Line 1806 of yacc.c */ 7907 #line 207 8"parser.yy"7907 #line 2077 "parser.yy" 7908 7908 { 7909 7909 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7916 7916 7917 7917 /* Line 1806 of yacc.c */ 7918 #line 208 6"parser.yy"7918 #line 2085 "parser.yy" 7919 7919 { 7920 7920 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7927 7927 7928 7928 /* Line 1806 of yacc.c */ 7929 #line 209 2"parser.yy"7929 #line 2091 "parser.yy" 7930 7930 { 7931 7931 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7938 7938 7939 7939 /* Line 1806 of yacc.c */ 7940 #line 2 100"parser.yy"7940 #line 2099 "parser.yy" 7941 7941 { 7942 7942 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7949 7949 7950 7950 /* Line 1806 of yacc.c */ 7951 #line 210 6"parser.yy"7951 #line 2105 "parser.yy" 7952 7952 { 7953 7953 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7960 7960 7961 7961 /* Line 1806 of yacc.c */ 7962 #line 212 1"parser.yy"7962 #line 2120 "parser.yy" 7963 7963 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7964 7964 break; … … 7967 7967 7968 7968 /* Line 1806 of yacc.c */ 7969 #line 212 6"parser.yy"7969 #line 2125 "parser.yy" 7970 7970 { delete (yyvsp[(3) - (5)].str); } 7971 7971 break; … … 7974 7974 7975 7975 /* Line 1806 of yacc.c */ 7976 #line 213 1"parser.yy"7976 #line 2130 "parser.yy" 7977 7977 { (yyval.decl) = 0; } 7978 7978 break; … … 7981 7981 7982 7982 /* Line 1806 of yacc.c */ 7983 #line 213 8"parser.yy"7983 #line 2137 "parser.yy" 7984 7984 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7985 7985 break; … … 7988 7988 7989 7989 /* Line 1806 of yacc.c */ 7990 #line 214 4"parser.yy"7990 #line 2143 "parser.yy" 7991 7991 { (yyval.decl) = 0; } 7992 7992 break; … … 7995 7995 7996 7996 /* Line 1806 of yacc.c */ 7997 #line 215 5"parser.yy"7997 #line 2154 "parser.yy" 7998 7998 { delete (yyvsp[(3) - (4)].en); } 7999 7999 break; … … 8002 8002 8003 8003 /* Line 1806 of yacc.c */ 8004 #line 2158 "parser.yy" 8005 { delete (yyvsp[(1) - (1)].tok); } 8006 break; 8007 8008 case 560: 8009 8010 /* Line 1806 of yacc.c */ 8004 8011 #line 2159 "parser.yy" 8005 { delete (yyvsp[(1) - (1)]. tok); }8006 break; 8007 8008 case 56 0:8012 { delete (yyvsp[(1) - (1)].decl); } 8013 break; 8014 8015 case 561: 8009 8016 8010 8017 /* Line 1806 of yacc.c */ … … 8013 8020 break; 8014 8021 8015 case 56 1:8022 case 562: 8016 8023 8017 8024 /* Line 1806 of yacc.c */ … … 8020 8027 break; 8021 8028 8022 case 562:8023 8024 /* Line 1806 of yacc.c */8025 #line 2162 "parser.yy"8026 { delete (yyvsp[(1) - (1)].decl); }8027 break;8028 8029 8029 case 563: 8030 8030 8031 8031 /* Line 1806 of yacc.c */ 8032 #line 219 7"parser.yy"8032 #line 2196 "parser.yy" 8033 8033 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8034 8034 break; … … 8037 8037 8038 8038 /* Line 1806 of yacc.c */ 8039 #line 2 200"parser.yy"8039 #line 2199 "parser.yy" 8040 8040 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8041 8041 break; … … 8044 8044 8045 8045 /* Line 1806 of yacc.c */ 8046 #line 220 2"parser.yy"8046 #line 2201 "parser.yy" 8047 8047 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8048 8048 break; … … 8051 8051 8052 8052 /* Line 1806 of yacc.c */ 8053 #line 220 7"parser.yy"8053 #line 2206 "parser.yy" 8054 8054 { 8055 8055 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8061 8061 8062 8062 /* Line 1806 of yacc.c */ 8063 #line 221 2"parser.yy"8063 #line 2211 "parser.yy" 8064 8064 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8065 8065 break; … … 8068 8068 8069 8069 /* Line 1806 of yacc.c */ 8070 #line 221 7"parser.yy"8070 #line 2216 "parser.yy" 8071 8071 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8072 8072 break; … … 8075 8075 8076 8076 /* Line 1806 of yacc.c */ 8077 #line 221 9"parser.yy"8077 #line 2218 "parser.yy" 8078 8078 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8079 8079 break; … … 8082 8082 8083 8083 /* Line 1806 of yacc.c */ 8084 #line 222 1"parser.yy"8084 #line 2220 "parser.yy" 8085 8085 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8086 8086 break; … … 8089 8089 8090 8090 /* Line 1806 of yacc.c */ 8091 #line 222 6"parser.yy"8091 #line 2225 "parser.yy" 8092 8092 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8093 8093 break; … … 8096 8096 8097 8097 /* Line 1806 of yacc.c */ 8098 #line 222 8"parser.yy"8098 #line 2227 "parser.yy" 8099 8099 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8100 8100 break; … … 8103 8103 8104 8104 /* Line 1806 of yacc.c */ 8105 #line 22 30"parser.yy"8105 #line 2229 "parser.yy" 8106 8106 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8107 8107 break; … … 8110 8110 8111 8111 /* Line 1806 of yacc.c */ 8112 #line 223 2"parser.yy"8112 #line 2231 "parser.yy" 8113 8113 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8114 8114 break; … … 8117 8117 8118 8118 /* Line 1806 of yacc.c */ 8119 #line 223 7"parser.yy"8119 #line 2236 "parser.yy" 8120 8120 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8121 8121 break; … … 8124 8124 8125 8125 /* Line 1806 of yacc.c */ 8126 #line 223 9"parser.yy"8126 #line 2238 "parser.yy" 8127 8127 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8128 8128 break; … … 8131 8131 8132 8132 /* Line 1806 of yacc.c */ 8133 #line 224 8"parser.yy"8133 #line 2247 "parser.yy" 8134 8134 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8135 8135 break; … … 8138 8138 8139 8139 /* Line 1806 of yacc.c */ 8140 #line 225 1"parser.yy"8140 #line 2250 "parser.yy" 8141 8141 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8142 8142 break; … … 8145 8145 8146 8146 /* Line 1806 of yacc.c */ 8147 #line 225 6"parser.yy"8147 #line 2255 "parser.yy" 8148 8148 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8149 8149 break; … … 8152 8152 8153 8153 /* Line 1806 of yacc.c */ 8154 #line 225 8"parser.yy"8154 #line 2257 "parser.yy" 8155 8155 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8156 8156 break; … … 8159 8159 8160 8160 /* Line 1806 of yacc.c */ 8161 #line 22 60"parser.yy"8161 #line 2259 "parser.yy" 8162 8162 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8163 8163 break; … … 8166 8166 8167 8167 /* Line 1806 of yacc.c */ 8168 #line 226 5"parser.yy"8168 #line 2264 "parser.yy" 8169 8169 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8170 8170 break; … … 8173 8173 8174 8174 /* Line 1806 of yacc.c */ 8175 #line 226 7"parser.yy"8175 #line 2266 "parser.yy" 8176 8176 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8177 8177 break; … … 8180 8180 8181 8181 /* Line 1806 of yacc.c */ 8182 #line 226 9"parser.yy"8182 #line 2268 "parser.yy" 8183 8183 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8184 8184 break; … … 8187 8187 8188 8188 /* Line 1806 of yacc.c */ 8189 #line 227 4"parser.yy"8189 #line 2273 "parser.yy" 8190 8190 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8191 8191 break; … … 8194 8194 8195 8195 /* Line 1806 of yacc.c */ 8196 #line 227 6"parser.yy"8196 #line 2275 "parser.yy" 8197 8197 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8198 8198 break; … … 8201 8201 8202 8202 /* Line 1806 of yacc.c */ 8203 #line 227 8"parser.yy"8203 #line 2277 "parser.yy" 8204 8204 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8205 8205 break; … … 8208 8208 8209 8209 /* Line 1806 of yacc.c */ 8210 #line 229 3"parser.yy"8210 #line 2292 "parser.yy" 8211 8211 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8212 8212 break; … … 8215 8215 8216 8216 /* Line 1806 of yacc.c */ 8217 #line 229 5"parser.yy"8217 #line 2294 "parser.yy" 8218 8218 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8219 8219 break; … … 8222 8222 8223 8223 /* Line 1806 of yacc.c */ 8224 #line 229 7"parser.yy"8224 #line 2296 "parser.yy" 8225 8225 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8226 8226 break; … … 8229 8229 8230 8230 /* Line 1806 of yacc.c */ 8231 #line 230 2"parser.yy"8231 #line 2301 "parser.yy" 8232 8232 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8233 8233 break; … … 8236 8236 8237 8237 /* Line 1806 of yacc.c */ 8238 #line 230 4"parser.yy"8238 #line 2303 "parser.yy" 8239 8239 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8240 8240 break; … … 8243 8243 8244 8244 /* Line 1806 of yacc.c */ 8245 #line 230 6"parser.yy"8245 #line 2305 "parser.yy" 8246 8246 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8247 8247 break; … … 8250 8250 8251 8251 /* Line 1806 of yacc.c */ 8252 #line 231 1"parser.yy"8252 #line 2310 "parser.yy" 8253 8253 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8254 8254 break; … … 8257 8257 8258 8258 /* Line 1806 of yacc.c */ 8259 #line 231 3"parser.yy"8259 #line 2312 "parser.yy" 8260 8260 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8261 8261 break; … … 8264 8264 8265 8265 /* Line 1806 of yacc.c */ 8266 #line 231 5"parser.yy"8266 #line 2314 "parser.yy" 8267 8267 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8268 8268 break; … … 8271 8271 8272 8272 /* Line 1806 of yacc.c */ 8273 #line 23 30"parser.yy"8273 #line 2329 "parser.yy" 8274 8274 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8275 8275 break; … … 8278 8278 8279 8279 /* Line 1806 of yacc.c */ 8280 #line 233 3"parser.yy"8280 #line 2332 "parser.yy" 8281 8281 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8282 8282 break; … … 8285 8285 8286 8286 /* Line 1806 of yacc.c */ 8287 #line 233 5"parser.yy"8287 #line 2334 "parser.yy" 8288 8288 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8289 8289 break; … … 8292 8292 8293 8293 /* Line 1806 of yacc.c */ 8294 #line 234 1"parser.yy"8294 #line 2340 "parser.yy" 8295 8295 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8296 8296 break; … … 8299 8299 8300 8300 /* Line 1806 of yacc.c */ 8301 #line 234 6"parser.yy"8301 #line 2345 "parser.yy" 8302 8302 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8303 8303 break; … … 8306 8306 8307 8307 /* Line 1806 of yacc.c */ 8308 #line 234 8"parser.yy"8308 #line 2347 "parser.yy" 8309 8309 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8310 8310 break; … … 8313 8313 8314 8314 /* Line 1806 of yacc.c */ 8315 #line 23 50"parser.yy"8315 #line 2349 "parser.yy" 8316 8316 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8317 8317 break; … … 8320 8320 8321 8321 /* Line 1806 of yacc.c */ 8322 #line 235 5"parser.yy"8322 #line 2354 "parser.yy" 8323 8323 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8324 8324 break; … … 8327 8327 8328 8328 /* Line 1806 of yacc.c */ 8329 #line 235 7"parser.yy"8329 #line 2356 "parser.yy" 8330 8330 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8331 8331 break; … … 8334 8334 8335 8335 /* Line 1806 of yacc.c */ 8336 #line 235 9"parser.yy"8336 #line 2358 "parser.yy" 8337 8337 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8338 8338 break; … … 8341 8341 8342 8342 /* Line 1806 of yacc.c */ 8343 #line 236 1"parser.yy"8343 #line 2360 "parser.yy" 8344 8344 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8345 8345 break; … … 8348 8348 8349 8349 /* Line 1806 of yacc.c */ 8350 #line 236 6"parser.yy"8350 #line 2365 "parser.yy" 8351 8351 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8352 8352 break; … … 8355 8355 8356 8356 /* Line 1806 of yacc.c */ 8357 #line 236 8"parser.yy"8357 #line 2367 "parser.yy" 8358 8358 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8359 8359 break; … … 8362 8362 8363 8363 /* Line 1806 of yacc.c */ 8364 #line 23 70"parser.yy"8364 #line 2369 "parser.yy" 8365 8365 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8366 8366 break; … … 8369 8369 8370 8370 /* Line 1806 of yacc.c */ 8371 #line 23 80"parser.yy"8371 #line 2379 "parser.yy" 8372 8372 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8373 8373 break; … … 8376 8376 8377 8377 /* Line 1806 of yacc.c */ 8378 #line 238 3"parser.yy"8378 #line 2382 "parser.yy" 8379 8379 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8380 8380 break; … … 8383 8383 8384 8384 /* Line 1806 of yacc.c */ 8385 #line 238 5"parser.yy"8385 #line 2384 "parser.yy" 8386 8386 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8387 8387 break; … … 8390 8390 8391 8391 /* Line 1806 of yacc.c */ 8392 #line 23 90"parser.yy"8392 #line 2389 "parser.yy" 8393 8393 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8394 8394 break; … … 8397 8397 8398 8398 /* Line 1806 of yacc.c */ 8399 #line 239 2"parser.yy"8399 #line 2391 "parser.yy" 8400 8400 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8401 8401 break; … … 8404 8404 8405 8405 /* Line 1806 of yacc.c */ 8406 #line 239 4"parser.yy"8406 #line 2393 "parser.yy" 8407 8407 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8408 8408 break; … … 8411 8411 8412 8412 /* Line 1806 of yacc.c */ 8413 #line 239 9"parser.yy"8413 #line 2398 "parser.yy" 8414 8414 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8415 8415 break; … … 8418 8418 8419 8419 /* Line 1806 of yacc.c */ 8420 #line 240 1"parser.yy"8420 #line 2400 "parser.yy" 8421 8421 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8422 8422 break; … … 8425 8425 8426 8426 /* Line 1806 of yacc.c */ 8427 #line 240 3"parser.yy"8427 #line 2402 "parser.yy" 8428 8428 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8429 8429 break; … … 8432 8432 8433 8433 /* Line 1806 of yacc.c */ 8434 #line 240 5"parser.yy"8434 #line 2404 "parser.yy" 8435 8435 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8436 8436 break; … … 8439 8439 8440 8440 /* Line 1806 of yacc.c */ 8441 #line 24 10"parser.yy"8441 #line 2409 "parser.yy" 8442 8442 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8443 8443 break; … … 8446 8446 8447 8447 /* Line 1806 of yacc.c */ 8448 #line 241 2"parser.yy"8448 #line 2411 "parser.yy" 8449 8449 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8450 8450 break; … … 8453 8453 8454 8454 /* Line 1806 of yacc.c */ 8455 #line 241 4"parser.yy"8455 #line 2413 "parser.yy" 8456 8456 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8457 8457 break; … … 8460 8460 8461 8461 /* Line 1806 of yacc.c */ 8462 #line 244 5"parser.yy"8462 #line 2444 "parser.yy" 8463 8463 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8464 8464 break; … … 8467 8467 8468 8468 /* Line 1806 of yacc.c */ 8469 #line 244 8"parser.yy"8469 #line 2447 "parser.yy" 8470 8470 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8471 8471 break; … … 8474 8474 8475 8475 /* Line 1806 of yacc.c */ 8476 #line 24 50"parser.yy"8476 #line 2449 "parser.yy" 8477 8477 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8478 8478 break; … … 8481 8481 8482 8482 /* Line 1806 of yacc.c */ 8483 #line 245 5"parser.yy"8483 #line 2454 "parser.yy" 8484 8484 { 8485 8485 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8491 8491 8492 8492 /* Line 1806 of yacc.c */ 8493 #line 24 60"parser.yy"8493 #line 2459 "parser.yy" 8494 8494 { 8495 8495 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8501 8501 8502 8502 /* Line 1806 of yacc.c */ 8503 #line 246 8"parser.yy"8503 #line 2467 "parser.yy" 8504 8504 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8505 8505 break; … … 8508 8508 8509 8509 /* Line 1806 of yacc.c */ 8510 #line 24 70"parser.yy"8510 #line 2469 "parser.yy" 8511 8511 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8512 8512 break; … … 8515 8515 8516 8516 /* Line 1806 of yacc.c */ 8517 #line 247 2"parser.yy"8517 #line 2471 "parser.yy" 8518 8518 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8519 8519 break; … … 8522 8522 8523 8523 /* Line 1806 of yacc.c */ 8524 #line 247 7"parser.yy"8524 #line 2476 "parser.yy" 8525 8525 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8526 8526 break; … … 8529 8529 8530 8530 /* Line 1806 of yacc.c */ 8531 #line 247 9"parser.yy"8531 #line 2478 "parser.yy" 8532 8532 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8533 8533 break; … … 8536 8536 8537 8537 /* Line 1806 of yacc.c */ 8538 #line 248 4"parser.yy"8538 #line 2483 "parser.yy" 8539 8539 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8540 8540 break; … … 8543 8543 8544 8544 /* Line 1806 of yacc.c */ 8545 #line 248 6"parser.yy"8545 #line 2485 "parser.yy" 8546 8546 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8547 8547 break; … … 8550 8550 8551 8551 /* Line 1806 of yacc.c */ 8552 #line 250 1"parser.yy"8552 #line 2500 "parser.yy" 8553 8553 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8554 8554 break; … … 8557 8557 8558 8558 /* Line 1806 of yacc.c */ 8559 #line 250 3"parser.yy"8559 #line 2502 "parser.yy" 8560 8560 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8561 8561 break; … … 8564 8564 8565 8565 /* Line 1806 of yacc.c */ 8566 #line 250 8"parser.yy"8566 #line 2507 "parser.yy" 8567 8567 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8568 8568 break; … … 8571 8571 8572 8572 /* Line 1806 of yacc.c */ 8573 #line 25 10"parser.yy"8573 #line 2509 "parser.yy" 8574 8574 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8575 8575 break; … … 8578 8578 8579 8579 /* Line 1806 of yacc.c */ 8580 #line 251 2"parser.yy"8580 #line 2511 "parser.yy" 8581 8581 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8582 8582 break; … … 8585 8585 8586 8586 /* Line 1806 of yacc.c */ 8587 #line 251 4"parser.yy"8587 #line 2513 "parser.yy" 8588 8588 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8589 8589 break; … … 8592 8592 8593 8593 /* Line 1806 of yacc.c */ 8594 #line 251 6"parser.yy"8594 #line 2515 "parser.yy" 8595 8595 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8596 8596 break; … … 8599 8599 8600 8600 /* Line 1806 of yacc.c */ 8601 #line 252 2"parser.yy"8601 #line 2521 "parser.yy" 8602 8602 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8603 8603 break; … … 8606 8606 8607 8607 /* Line 1806 of yacc.c */ 8608 #line 252 4"parser.yy"8608 #line 2523 "parser.yy" 8609 8609 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8610 8610 break; … … 8613 8613 8614 8614 /* Line 1806 of yacc.c */ 8615 #line 252 6"parser.yy"8615 #line 2525 "parser.yy" 8616 8616 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8617 8617 break; … … 8620 8620 8621 8621 /* Line 1806 of yacc.c */ 8622 #line 253 1"parser.yy"8622 #line 2530 "parser.yy" 8623 8623 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8624 8624 break; … … 8627 8627 8628 8628 /* Line 1806 of yacc.c */ 8629 #line 253 3"parser.yy"8629 #line 2532 "parser.yy" 8630 8630 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8631 8631 break; … … 8634 8634 8635 8635 /* Line 1806 of yacc.c */ 8636 #line 253 5"parser.yy"8636 #line 2534 "parser.yy" 8637 8637 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8638 8638 break; … … 8641 8641 8642 8642 /* Line 1806 of yacc.c */ 8643 #line 254 1"parser.yy"8643 #line 2540 "parser.yy" 8644 8644 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8645 8645 break; … … 8648 8648 8649 8649 /* Line 1806 of yacc.c */ 8650 #line 254 3"parser.yy"8650 #line 2542 "parser.yy" 8651 8651 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8652 8652 break; … … 8655 8655 8656 8656 /* Line 1806 of yacc.c */ 8657 #line 254 9"parser.yy"8657 #line 2548 "parser.yy" 8658 8658 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8659 8659 break; … … 8662 8662 8663 8663 /* Line 1806 of yacc.c */ 8664 #line 255 1"parser.yy"8664 #line 2550 "parser.yy" 8665 8665 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8666 8666 break; … … 8669 8669 8670 8670 /* Line 1806 of yacc.c */ 8671 #line 255 3"parser.yy"8671 #line 2552 "parser.yy" 8672 8672 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8673 8673 break; … … 8676 8676 8677 8677 /* Line 1806 of yacc.c */ 8678 #line 255 5"parser.yy"8678 #line 2554 "parser.yy" 8679 8679 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8680 8680 break; … … 8683 8683 8684 8684 /* Line 1806 of yacc.c */ 8685 #line 25 70"parser.yy"8685 #line 2569 "parser.yy" 8686 8686 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8687 8687 break; … … 8690 8690 8691 8691 /* Line 1806 of yacc.c */ 8692 #line 257 2"parser.yy"8692 #line 2571 "parser.yy" 8693 8693 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8694 8694 break; … … 8697 8697 8698 8698 /* Line 1806 of yacc.c */ 8699 #line 257 7"parser.yy"8699 #line 2576 "parser.yy" 8700 8700 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8701 8701 break; … … 8704 8704 8705 8705 /* Line 1806 of yacc.c */ 8706 #line 257 9"parser.yy"8706 #line 2578 "parser.yy" 8707 8707 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8708 8708 break; … … 8711 8711 8712 8712 /* Line 1806 of yacc.c */ 8713 #line 258 1"parser.yy"8713 #line 2580 "parser.yy" 8714 8714 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8715 8715 break; … … 8718 8718 8719 8719 /* Line 1806 of yacc.c */ 8720 #line 258 3"parser.yy"8720 #line 2582 "parser.yy" 8721 8721 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8722 8722 break; … … 8725 8725 8726 8726 /* Line 1806 of yacc.c */ 8727 #line 258 5"parser.yy"8727 #line 2584 "parser.yy" 8728 8728 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8729 8729 break; … … 8732 8732 8733 8733 /* Line 1806 of yacc.c */ 8734 #line 259 1"parser.yy"8734 #line 2590 "parser.yy" 8735 8735 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8736 8736 break; … … 8739 8739 8740 8740 /* Line 1806 of yacc.c */ 8741 #line 259 3"parser.yy"8741 #line 2592 "parser.yy" 8742 8742 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8743 8743 break; … … 8746 8746 8747 8747 /* Line 1806 of yacc.c */ 8748 #line 259 5"parser.yy"8748 #line 2594 "parser.yy" 8749 8749 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8750 8750 break; … … 8753 8753 8754 8754 /* Line 1806 of yacc.c */ 8755 #line 2 600"parser.yy"8755 #line 2599 "parser.yy" 8756 8756 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8757 8757 break; … … 8760 8760 8761 8761 /* Line 1806 of yacc.c */ 8762 #line 260 2"parser.yy"8762 #line 2601 "parser.yy" 8763 8763 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8764 8764 break; … … 8767 8767 8768 8768 /* Line 1806 of yacc.c */ 8769 #line 260 4"parser.yy"8769 #line 2603 "parser.yy" 8770 8770 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8771 8771 break; … … 8774 8774 8775 8775 /* Line 1806 of yacc.c */ 8776 #line 261 1"parser.yy"8776 #line 2610 "parser.yy" 8777 8777 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8778 8778 break; … … 8781 8781 8782 8782 /* Line 1806 of yacc.c */ 8783 #line 262 2"parser.yy"8783 #line 2621 "parser.yy" 8784 8784 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8785 8785 break; … … 8788 8788 8789 8789 /* Line 1806 of yacc.c */ 8790 #line 262 5"parser.yy"8790 #line 2624 "parser.yy" 8791 8791 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8792 8792 break; … … 8795 8795 8796 8796 /* Line 1806 of yacc.c */ 8797 #line 262 7"parser.yy"8797 #line 2626 "parser.yy" 8798 8798 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8799 8799 break; … … 8802 8802 8803 8803 /* Line 1806 of yacc.c */ 8804 #line 26 30"parser.yy"8804 #line 2629 "parser.yy" 8805 8805 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8806 8806 break; … … 8809 8809 8810 8810 /* Line 1806 of yacc.c */ 8811 #line 263 2"parser.yy"8811 #line 2631 "parser.yy" 8812 8812 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8813 8813 break; … … 8816 8816 8817 8817 /* Line 1806 of yacc.c */ 8818 #line 263 4"parser.yy"8818 #line 2633 "parser.yy" 8819 8819 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8820 8820 break; … … 8823 8823 8824 8824 /* Line 1806 of yacc.c */ 8825 #line 264 8"parser.yy"8825 #line 2647 "parser.yy" 8826 8826 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8827 8827 break; … … 8830 8830 8831 8831 /* Line 1806 of yacc.c */ 8832 #line 26 50"parser.yy"8832 #line 2649 "parser.yy" 8833 8833 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8834 8834 break; … … 8837 8837 8838 8838 /* Line 1806 of yacc.c */ 8839 #line 265 5"parser.yy"8839 #line 2654 "parser.yy" 8840 8840 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8841 8841 break; … … 8844 8844 8845 8845 /* Line 1806 of yacc.c */ 8846 #line 265 7"parser.yy"8846 #line 2656 "parser.yy" 8847 8847 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8848 8848 break; … … 8851 8851 8852 8852 /* Line 1806 of yacc.c */ 8853 #line 265 9"parser.yy"8853 #line 2658 "parser.yy" 8854 8854 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8855 8855 break; … … 8858 8858 8859 8859 /* Line 1806 of yacc.c */ 8860 #line 266 1"parser.yy"8860 #line 2660 "parser.yy" 8861 8861 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8862 8862 break; … … 8865 8865 8866 8866 /* Line 1806 of yacc.c */ 8867 #line 266 3"parser.yy"8867 #line 2662 "parser.yy" 8868 8868 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8869 8869 break; … … 8872 8872 8873 8873 /* Line 1806 of yacc.c */ 8874 #line 266 9"parser.yy"8874 #line 2668 "parser.yy" 8875 8875 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8876 8876 break; … … 8879 8879 8880 8880 /* Line 1806 of yacc.c */ 8881 #line 267 1"parser.yy"8881 #line 2670 "parser.yy" 8882 8882 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8883 8883 break; … … 8886 8886 8887 8887 /* Line 1806 of yacc.c */ 8888 #line 267 3"parser.yy"8888 #line 2672 "parser.yy" 8889 8889 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8890 8890 break; … … 8893 8893 8894 8894 /* Line 1806 of yacc.c */ 8895 #line 267 8"parser.yy"8895 #line 2677 "parser.yy" 8896 8896 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8897 8897 break; … … 8900 8900 8901 8901 /* Line 1806 of yacc.c */ 8902 #line 26 80"parser.yy"8902 #line 2679 "parser.yy" 8903 8903 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8904 8904 break; … … 8907 8907 8908 8908 /* Line 1806 of yacc.c */ 8909 #line 26 90"parser.yy"8909 #line 2689 "parser.yy" 8910 8910 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8911 8911 break; … … 8914 8914 8915 8915 /* Line 1806 of yacc.c */ 8916 #line 2 700"parser.yy"8916 #line 2699 "parser.yy" 8917 8917 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8918 8918 break; … … 8921 8921 8922 8922 /* Line 1806 of yacc.c */ 8923 #line 270 2"parser.yy"8923 #line 2701 "parser.yy" 8924 8924 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8925 8925 break; … … 8928 8928 8929 8929 /* Line 1806 of yacc.c */ 8930 #line 270 4"parser.yy"8930 #line 2703 "parser.yy" 8931 8931 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8932 8932 break; … … 8935 8935 8936 8936 /* Line 1806 of yacc.c */ 8937 #line 270 6"parser.yy"8937 #line 2705 "parser.yy" 8938 8938 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8939 8939 break; … … 8942 8942 8943 8943 /* Line 1806 of yacc.c */ 8944 #line 270 8"parser.yy"8944 #line 2707 "parser.yy" 8945 8945 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8946 8946 break; … … 8949 8949 8950 8950 /* Line 1806 of yacc.c */ 8951 #line 27 10"parser.yy"8951 #line 2709 "parser.yy" 8952 8952 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8953 8953 break; … … 8956 8956 8957 8957 /* Line 1806 of yacc.c */ 8958 #line 271 7"parser.yy"8958 #line 2716 "parser.yy" 8959 8959 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8960 8960 break; … … 8963 8963 8964 8964 /* Line 1806 of yacc.c */ 8965 #line 271 9"parser.yy"8965 #line 2718 "parser.yy" 8966 8966 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8967 8967 break; … … 8970 8970 8971 8971 /* Line 1806 of yacc.c */ 8972 #line 272 1"parser.yy"8972 #line 2720 "parser.yy" 8973 8973 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8974 8974 break; … … 8977 8977 8978 8978 /* Line 1806 of yacc.c */ 8979 #line 272 3"parser.yy"8979 #line 2722 "parser.yy" 8980 8980 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8981 8981 break; … … 8984 8984 8985 8985 /* Line 1806 of yacc.c */ 8986 #line 272 5"parser.yy"8986 #line 2724 "parser.yy" 8987 8987 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8988 8988 break; … … 8991 8991 8992 8992 /* Line 1806 of yacc.c */ 8993 #line 2726 "parser.yy" 8994 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8995 break; 8996 8997 case 722: 8998 8999 /* Line 1806 of yacc.c */ 8993 9000 #line 2728 "parser.yy" 8994 { (yyval.decl) = (yyvsp[( 3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false) ); }8995 break; 8996 8997 case 72 2:9001 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9002 break; 9003 9004 case 723: 8998 9005 8999 9006 /* Line 1806 of yacc.c */ 9000 9007 #line 2730 "parser.yy" 9008 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9009 break; 9010 9011 case 724: 9012 9013 /* Line 1806 of yacc.c */ 9014 #line 2732 "parser.yy" 9015 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9016 break; 9017 9018 case 725: 9019 9020 /* Line 1806 of yacc.c */ 9021 #line 2734 "parser.yy" 9001 9022 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9002 9023 break; 9003 9024 9004 case 723: 9005 9006 /* Line 1806 of yacc.c */ 9007 #line 2732 "parser.yy" 9008 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9009 break; 9010 9011 case 724: 9012 9013 /* Line 1806 of yacc.c */ 9014 #line 2734 "parser.yy" 9015 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9016 break; 9017 9018 case 725: 9019 9020 /* Line 1806 of yacc.c */ 9021 #line 2736 "parser.yy" 9025 case 726: 9026 9027 /* Line 1806 of yacc.c */ 9028 #line 2739 "parser.yy" 9029 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9030 break; 9031 9032 case 727: 9033 9034 /* Line 1806 of yacc.c */ 9035 #line 2741 "parser.yy" 9036 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9037 break; 9038 9039 case 728: 9040 9041 /* Line 1806 of yacc.c */ 9042 #line 2746 "parser.yy" 9043 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9044 break; 9045 9046 case 729: 9047 9048 /* Line 1806 of yacc.c */ 9049 #line 2748 "parser.yy" 9050 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9051 break; 9052 9053 case 731: 9054 9055 /* Line 1806 of yacc.c */ 9056 #line 2775 "parser.yy" 9057 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9058 break; 9059 9060 case 735: 9061 9062 /* Line 1806 of yacc.c */ 9063 #line 2786 "parser.yy" 9064 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9065 break; 9066 9067 case 736: 9068 9069 /* Line 1806 of yacc.c */ 9070 #line 2788 "parser.yy" 9071 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9072 break; 9073 9074 case 737: 9075 9076 /* Line 1806 of yacc.c */ 9077 #line 2790 "parser.yy" 9078 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9079 break; 9080 9081 case 738: 9082 9083 /* Line 1806 of yacc.c */ 9084 #line 2792 "parser.yy" 9085 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9086 break; 9087 9088 case 739: 9089 9090 /* Line 1806 of yacc.c */ 9091 #line 2794 "parser.yy" 9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9093 break; 9094 9095 case 740: 9096 9097 /* Line 1806 of yacc.c */ 9098 #line 2796 "parser.yy" 9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9100 break; 9101 9102 case 741: 9103 9104 /* Line 1806 of yacc.c */ 9105 #line 2803 "parser.yy" 9106 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9107 break; 9108 9109 case 742: 9110 9111 /* Line 1806 of yacc.c */ 9112 #line 2805 "parser.yy" 9113 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9114 break; 9115 9116 case 743: 9117 9118 /* Line 1806 of yacc.c */ 9119 #line 2807 "parser.yy" 9022 9120 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9023 9121 break; 9024 9122 9025 case 726: 9026 9027 /* Line 1806 of yacc.c */ 9028 #line 2741 "parser.yy" 9029 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9030 break; 9031 9032 case 727: 9033 9034 /* Line 1806 of yacc.c */ 9035 #line 2743 "parser.yy" 9036 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9037 break; 9038 9039 case 728: 9040 9041 /* Line 1806 of yacc.c */ 9042 #line 2748 "parser.yy" 9043 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9044 break; 9045 9046 case 729: 9047 9048 /* Line 1806 of yacc.c */ 9049 #line 2750 "parser.yy" 9050 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9051 break; 9052 9053 case 731: 9054 9055 /* Line 1806 of yacc.c */ 9056 #line 2777 "parser.yy" 9057 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9058 break; 9059 9060 case 735: 9061 9062 /* Line 1806 of yacc.c */ 9063 #line 2788 "parser.yy" 9064 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9065 break; 9066 9067 case 736: 9068 9069 /* Line 1806 of yacc.c */ 9070 #line 2790 "parser.yy" 9071 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9072 break; 9073 9074 case 737: 9075 9076 /* Line 1806 of yacc.c */ 9077 #line 2792 "parser.yy" 9078 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9079 break; 9080 9081 case 738: 9082 9083 /* Line 1806 of yacc.c */ 9084 #line 2794 "parser.yy" 9085 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9086 break; 9087 9088 case 739: 9089 9090 /* Line 1806 of yacc.c */ 9091 #line 2796 "parser.yy" 9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9093 break; 9094 9095 case 740: 9096 9097 /* Line 1806 of yacc.c */ 9098 #line 2798 "parser.yy" 9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9100 break; 9101 9102 case 741: 9103 9104 /* Line 1806 of yacc.c */ 9105 #line 2805 "parser.yy" 9123 case 744: 9124 9125 /* Line 1806 of yacc.c */ 9126 #line 2809 "parser.yy" 9106 9127 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9107 9128 break; 9108 9129 9109 case 74 2:9110 9111 /* Line 1806 of yacc.c */ 9112 #line 28 07"parser.yy"9130 case 745: 9131 9132 /* Line 1806 of yacc.c */ 9133 #line 2811 "parser.yy" 9113 9134 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9114 9135 break; 9115 9136 9116 case 74 3:9117 9118 /* Line 1806 of yacc.c */ 9119 #line 28 09"parser.yy"9137 case 746: 9138 9139 /* Line 1806 of yacc.c */ 9140 #line 2813 "parser.yy" 9120 9141 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9121 9142 break; 9122 9143 9123 case 744:9124 9125 /* Line 1806 of yacc.c */9126 #line 2811 "parser.yy"9127 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }9128 break;9129 9130 case 745:9131 9132 /* Line 1806 of yacc.c */9133 #line 2813 "parser.yy"9134 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }9135 break;9136 9137 case 746:9138 9139 /* Line 1806 of yacc.c */9140 #line 2815 "parser.yy"9141 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9142 break;9143 9144 9144 case 747: 9145 9145 9146 9146 /* Line 1806 of yacc.c */ 9147 #line 28 20"parser.yy"9147 #line 2818 "parser.yy" 9148 9148 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9149 9149 break; … … 9152 9152 9153 9153 /* Line 1806 of yacc.c */ 9154 #line 2823 "parser.yy" 9155 { (yyval.decl) = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), (yyvsp[(4) - (5)].decl), nullptr ); } 9156 break; 9157 9158 case 749: 9159 9160 /* Line 1806 of yacc.c */ 9154 9161 #line 2825 "parser.yy" 9155 { (yyval.decl) = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), (yyvsp[(4) - (5)].decl), nullptr ); }9156 break; 9157 9158 case 7 49:9162 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9163 break; 9164 9165 case 750: 9159 9166 9160 9167 /* Line 1806 of yacc.c */ … … 9163 9170 break; 9164 9171 9165 case 750:9166 9167 /* Line 1806 of yacc.c */9168 #line 2829 "parser.yy"9169 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); }9170 break;9171 9172 9172 case 753: 9173 9173 9174 9174 /* Line 1806 of yacc.c */ 9175 #line 2851 "parser.yy" 9176 { (yyval.en) = 0; } 9177 break; 9178 9179 case 754: 9180 9181 /* Line 1806 of yacc.c */ 9175 9182 #line 2853 "parser.yy" 9176 { (yyval.en) = 0; }9177 break;9178 9179 case 754:9180 9181 /* Line 1806 of yacc.c */9182 #line 2855 "parser.yy"9183 9183 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9184 9184 break; … … 9418 9418 9419 9419 /* Line 2067 of yacc.c */ 9420 #line 285 8"parser.yy"9420 #line 2856 "parser.yy" 9421 9421 9422 9422 // ----end of grammar----
Note:
See TracChangeset
for help on using the changeset viewer.