Changes in src/Parser/parser.cc [9059213:bf32bb8]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (514 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r9059213 rbf32bb8 1023 1023 static const yytype_uint16 yyrline[] = 1024 1024 { 1025 0, 30 2, 302, 306, 313, 314, 315, 319, 320, 321,1026 32 5, 326, 330, 331, 335, 336, 340, 344, 345, 356,1027 35 8, 360, 362, 367, 368, 374, 378, 380, 381, 382,1028 38 4, 385, 387, 389, 391, 400, 401, 407, 408, 412,1029 41 3, 417, 421, 423, 425, 427, 432, 434, 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 53 0, 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 7 19, 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 91 0, 915, 927, 928, 933, 935, 940, 944, 946, 948,1047 95 0, 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 12 68, 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 14 58, 1463, 1465, 1467, 1472, 1473, 1477, 1479, 1485, 1484,1062 14 88, 1490, 1495, 1497, 1503, 1504, 1509, 1510, 1512, 1513,1063 152 2, 1523, 1525, 1527, 1532, 1534, 1540, 1541, 1543, 1546,1064 15 49, 1554, 1555, 1560, 1565, 1569, 1571, 1577, 1576, 1583,1065 158 5, 1591, 1592, 1600, 1601, 1605, 1606, 1607, 1609, 1611,1066 16 18, 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 171 0, 1711, 1712, 1716, 1717, 1718, 1722, 1723, 1724, 1728,1070 17 29, 1730, 1735, 1736, 1737, 1738, 1744, 1745, 1747, 1752,1071 175 3, 1758, 1759, 1760, 1761, 1762, 1777, 1778, 1783, 1784,1072 179 0, 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 216 0, 2161, 2162, 2196, 2198, 2199, 2201, 2206, 2211, 2216,1082 22 18, 2220, 2225, 2227, 2229, 2231, 2236, 2238, 2247, 2249,1083 225 0, 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 23 49, 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 254 0, 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 26 68, 2670, 2672, 2677, 2679, 2687, 2688, 2689, 2694, 2695,1096 2 699, 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, 28541025 0, 301, 301, 305, 312, 313, 314, 318, 319, 320, 1026 324, 325, 329, 330, 334, 335, 339, 343, 344, 355, 1027 357, 359, 361, 366, 367, 373, 377, 379, 381, 383, 1028 385, 387, 389, 391, 393, 402, 403, 409, 410, 414, 1029 415, 419, 422, 424, 426, 428, 433, 435, 440, 443, 1030 445, 447, 452, 465, 467, 469, 471, 473, 475, 477, 1031 479, 481, 483, 485, 492, 493, 499, 500, 501, 502, 1032 506, 507, 509, 514, 515, 517, 519, 524, 525, 527, 1033 532, 533, 535, 540, 541, 543, 545, 547, 552, 553, 1034 555, 560, 561, 566, 567, 572, 573, 578, 579, 584, 1035 585, 590, 591, 594, 596, 601, 606, 607, 609, 615, 1036 616, 620, 621, 622, 623, 624, 625, 626, 627, 628, 1037 629, 630, 631, 637, 639, 641, 643, 648, 649, 654, 1038 655, 661, 662, 668, 669, 670, 671, 672, 673, 674, 1039 675, 676, 686, 693, 695, 705, 706, 711, 713, 719, 1040 721, 725, 726, 731, 736, 739, 741, 743, 753, 755, 1041 766, 767, 769, 773, 775, 779, 780, 785, 786, 790, 1042 795, 796, 800, 802, 808, 809, 813, 815, 817, 819, 1043 825, 826, 830, 832, 837, 839, 841, 846, 848, 853, 1044 855, 859, 862, 866, 869, 873, 875, 877, 879, 884, 1045 886, 888, 893, 895, 897, 899, 901, 906, 908, 910, 1046 912, 917, 929, 930, 935, 937, 942, 946, 948, 950, 1047 952, 954, 960, 961, 967, 968, 972, 973, 978, 980, 1048 986, 987, 989, 994, 999, 1009, 1011, 1015, 1016, 1021, 1049 1023, 1027, 1028, 1032, 1034, 1038, 1039, 1043, 1044, 1048, 1050 1049, 1064, 1065, 1066, 1067, 1068, 1072, 1077, 1084, 1094, 1051 1099, 1104, 1112, 1117, 1122, 1127, 1132, 1140, 1162, 1167, 1052 1174, 1176, 1183, 1188, 1193, 1204, 1209, 1214, 1219, 1224, 1053 1233, 1238, 1246, 1247, 1248, 1249, 1255, 1260, 1268, 1269, 1054 1270, 1271, 1275, 1276, 1277, 1278, 1283, 1284, 1293, 1294, 1055 1299, 1300, 1305, 1307, 1309, 1311, 1313, 1316, 1315, 1327, 1056 1328, 1330, 1340, 1341, 1346, 1348, 1350, 1352, 1354, 1357, 1057 1359, 1362, 1367, 1369, 1371, 1373, 1375, 1377, 1379, 1381, 1058 1383, 1385, 1387, 1389, 1391, 1397, 1398, 1400, 1402, 1404, 1059 1409, 1410, 1416, 1417, 1419, 1421, 1426, 1428, 1430, 1432, 1060 1437, 1438, 1440, 1442, 1447, 1448, 1450, 1455, 1456, 1458, 1061 1460, 1465, 1467, 1469, 1474, 1475, 1479, 1481, 1487, 1486, 1062 1490, 1492, 1497, 1499, 1505, 1506, 1511, 1512, 1514, 1515, 1063 1524, 1525, 1527, 1529, 1534, 1536, 1542, 1543, 1545, 1548, 1064 1551, 1556, 1557, 1562, 1567, 1571, 1573, 1579, 1578, 1585, 1065 1587, 1593, 1594, 1602, 1603, 1607, 1608, 1609, 1611, 1613, 1066 1620, 1621, 1623, 1625, 1630, 1631, 1637, 1638, 1642, 1643, 1067 1648, 1649, 1650, 1652, 1660, 1661, 1663, 1666, 1668, 1672, 1068 1673, 1674, 1676, 1678, 1682, 1687, 1695, 1696, 1705, 1707, 1069 1712, 1713, 1714, 1718, 1719, 1720, 1724, 1725, 1726, 1730, 1070 1731, 1732, 1737, 1738, 1739, 1740, 1746, 1747, 1749, 1754, 1071 1755, 1760, 1761, 1762, 1763, 1764, 1779, 1780, 1785, 1786, 1072 1792, 1794, 1797, 1799, 1801, 1824, 1825, 1827, 1829, 1834, 1073 1835, 1837, 1842, 1847, 1848, 1854, 1853, 1857, 1861, 1863, 1074 1865, 1871, 1872, 1877, 1882, 1884, 1889, 1891, 1892, 1894, 1075 1899, 1901, 1903, 1908, 1910, 1915, 1920, 1928, 1934, 1933, 1076 1947, 1948, 1953, 1954, 1958, 1963, 1968, 1976, 1981, 1992, 1077 1993, 1998, 1999, 2005, 2006, 2010, 2011, 2012, 2015, 2014, 1078 2025, 2034, 2040, 2046, 2055, 2061, 2067, 2073, 2079, 2087, 1079 2093, 2101, 2107, 2116, 2117, 2118, 2122, 2126, 2128, 2133, 1080 2134, 2138, 2139, 2144, 2150, 2151, 2154, 2156, 2157, 2161, 1081 2162, 2163, 2164, 2198, 2200, 2201, 2203, 2208, 2213, 2218, 1082 2220, 2222, 2227, 2229, 2231, 2233, 2238, 2240, 2249, 2251, 1083 2252, 2257, 2259, 2261, 2266, 2268, 2270, 2275, 2277, 2279, 1084 2288, 2289, 2290, 2294, 2296, 2298, 2303, 2305, 2307, 2312, 1085 2314, 2316, 2331, 2333, 2334, 2336, 2341, 2342, 2347, 2349, 1086 2351, 2356, 2358, 2360, 2362, 2367, 2369, 2371, 2381, 2383, 1087 2384, 2386, 2391, 2393, 2395, 2400, 2402, 2404, 2406, 2411, 1088 2413, 2415, 2446, 2448, 2449, 2451, 2456, 2461, 2469, 2471, 1089 2473, 2478, 2480, 2485, 2487, 2501, 2502, 2504, 2509, 2511, 1090 2513, 2515, 2517, 2522, 2523, 2525, 2527, 2532, 2534, 2536, 1091 2542, 2544, 2546, 2550, 2552, 2554, 2556, 2570, 2571, 2573, 1092 2578, 2580, 2582, 2584, 2586, 2591, 2592, 2594, 2596, 2601, 1093 2603, 2605, 2611, 2612, 2614, 2623, 2626, 2628, 2631, 2633, 1094 2635, 2648, 2649, 2651, 2656, 2658, 2660, 2662, 2664, 2669, 1095 2670, 2672, 2674, 2679, 2681, 2689, 2690, 2691, 2696, 2697, 1096 2701, 2703, 2705, 2707, 2709, 2711, 2718, 2720, 2722, 2724, 1097 2726, 2728, 2730, 2732, 2734, 2736, 2741, 2743, 2745, 2750, 1098 2776, 2777, 2779, 2783, 2784, 2788, 2790, 2792, 2794, 2796, 1099 2798, 2805, 2807, 2809, 2811, 2813, 2815, 2820, 2825, 2827, 1100 2829, 2847, 2849, 2854, 2855 1101 1101 }; 1102 1102 #endif … … 4977 4977 4978 4978 /* Line 1806 of yacc.c */ 4979 #line 30 2"parser.yy"4979 #line 301 "parser.yy" 4980 4980 { typedefTable.enterScope(); } 4981 4981 break; … … 4984 4984 4985 4985 /* Line 1806 of yacc.c */ 4986 #line 30 6"parser.yy"4986 #line 305 "parser.yy" 4987 4987 { typedefTable.leaveScope(); } 4988 4988 break; … … 4991 4991 4992 4992 /* Line 1806 of yacc.c */ 4993 #line 312 "parser.yy" 4994 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4995 break; 4996 4997 case 5: 4998 4999 /* Line 1806 of yacc.c */ 4993 5000 #line 313 "parser.yy" 4994 { (yyval.en) = new ExpressionNode( build_constant Integer( *(yyvsp[(1) - (1)].tok) ) ); }4995 break; 4996 4997 case 5:5001 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 5002 break; 5003 5004 case 6: 4998 5005 4999 5006 /* Line 1806 of yacc.c */ 5000 5007 #line 314 "parser.yy" 5001 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }5002 break;5003 5004 case 6:5005 5006 /* Line 1806 of yacc.c */5007 #line 315 "parser.yy"5008 5008 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 5009 5009 break; … … 5012 5012 5013 5013 /* Line 1806 of yacc.c */ 5014 #line 3 40"parser.yy"5014 #line 339 "parser.yy" 5015 5015 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 5016 5016 break; … … 5019 5019 5020 5020 /* Line 1806 of yacc.c */ 5021 #line 34 4"parser.yy"5021 #line 343 "parser.yy" 5022 5022 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 5023 5023 break; … … 5026 5026 5027 5027 /* Line 1806 of yacc.c */ 5028 #line 34 6"parser.yy"5028 #line 345 "parser.yy" 5029 5029 { 5030 5030 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st … … 5037 5037 5038 5038 /* Line 1806 of yacc.c */ 5039 #line 35 7"parser.yy"5039 #line 356 "parser.yy" 5040 5040 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5041 5041 break; … … 5044 5044 5045 5045 /* Line 1806 of yacc.c */ 5046 #line 35 9"parser.yy"5046 #line 358 "parser.yy" 5047 5047 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5048 5048 break; … … 5051 5051 5052 5052 /* Line 1806 of yacc.c */ 5053 #line 36 1"parser.yy"5053 #line 360 "parser.yy" 5054 5054 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5055 5055 break; … … 5058 5058 5059 5059 /* Line 1806 of yacc.c */ 5060 #line 36 3"parser.yy"5060 #line 362 "parser.yy" 5061 5061 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 5062 5062 break; … … 5065 5065 5066 5066 /* Line 1806 of yacc.c */ 5067 #line 37 3"parser.yy"5067 #line 372 "parser.yy" 5068 5068 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 5069 5069 break; … … 5072 5072 5073 5073 /* Line 1806 of yacc.c */ 5074 #line 37 5"parser.yy"5074 #line 374 "parser.yy" 5075 5075 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 5076 5076 break; … … 5079 5079 5080 5080 /* Line 1806 of yacc.c */ 5081 #line 37 9"parser.yy"5081 #line 378 "parser.yy" 5082 5082 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5083 5083 break; 5084 5084 5085 case 27: 5086 5087 /* Line 1806 of yacc.c */ 5088 #line 380 "parser.yy" 5089 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5090 break; 5091 5092 case 28: 5093 5094 /* Line 1806 of yacc.c */ 5095 #line 382 "parser.yy" 5096 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_constantInteger( *(yyvsp[(3) - (3)].tok) ) ) ); } 5097 break; 5098 5085 5099 case 29: 5086 5100 5087 5101 /* Line 1806 of yacc.c */ 5088 #line 38 3"parser.yy"5102 #line 384 "parser.yy" 5089 5103 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 5090 5104 break; 5091 5105 5106 case 30: 5107 5108 /* Line 1806 of yacc.c */ 5109 #line 386 "parser.yy" 5110 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5111 break; 5112 5092 5113 case 31: 5093 5114 5094 5115 /* Line 1806 of yacc.c */ 5095 #line 38 6"parser.yy"5116 #line 388 "parser.yy" 5096 5117 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 5097 5118 break; … … 5100 5121 5101 5122 /* Line 1806 of yacc.c */ 5102 #line 3 88"parser.yy"5123 #line 390 "parser.yy" 5103 5124 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 5104 5125 break; … … 5107 5128 5108 5129 /* Line 1806 of yacc.c */ 5109 #line 39 0"parser.yy"5130 #line 392 "parser.yy" 5110 5131 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 5111 5132 break; … … 5114 5135 5115 5136 /* Line 1806 of yacc.c */ 5116 #line 39 2"parser.yy"5137 #line 394 "parser.yy" 5117 5138 { 5118 5139 Token fn; … … 5125 5146 5126 5147 /* Line 1806 of yacc.c */ 5127 #line 40 2"parser.yy"5148 #line 404 "parser.yy" 5128 5149 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 5129 5150 break; … … 5132 5153 5133 5154 /* Line 1806 of yacc.c */ 5134 #line 40 7"parser.yy"5155 #line 409 "parser.yy" 5135 5156 { (yyval.en) = 0; } 5136 5157 break; … … 5139 5160 5140 5161 /* Line 1806 of yacc.c */ 5141 #line 41 3"parser.yy"5162 #line 415 "parser.yy" 5142 5163 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5143 5164 break; 5144 5165 5145 case 41: 5146 5147 /* Line 1806 of yacc.c */ 5148 #line 420 "parser.yy" 5166 case 42: 5167 5168 /* Line 1806 of yacc.c */ 5169 #line 423 "parser.yy" 5170 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5171 break; 5172 5173 case 43: 5174 5175 /* Line 1806 of yacc.c */ 5176 #line 425 "parser.yy" 5177 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5178 break; 5179 5180 case 44: 5181 5182 /* Line 1806 of yacc.c */ 5183 #line 427 "parser.yy" 5184 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5185 break; 5186 5187 case 45: 5188 5189 /* Line 1806 of yacc.c */ 5190 #line 429 "parser.yy" 5191 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5192 break; 5193 5194 case 46: 5195 5196 /* Line 1806 of yacc.c */ 5197 #line 434 "parser.yy" 5149 5198 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 5150 5199 break; 5151 5200 5152 case 42: 5153 5154 /* Line 1806 of yacc.c */ 5155 #line 422 "parser.yy" 5156 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 5157 break; 5158 5159 case 43: 5160 5161 /* Line 1806 of yacc.c */ 5162 #line 424 "parser.yy" 5163 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 5164 break; 5165 5166 case 44: 5167 5168 /* Line 1806 of yacc.c */ 5169 #line 426 "parser.yy" 5170 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); } 5171 break; 5172 5173 case 45: 5174 5175 /* Line 1806 of yacc.c */ 5176 #line 428 "parser.yy" 5177 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); } 5201 case 47: 5202 5203 /* Line 1806 of yacc.c */ 5204 #line 436 "parser.yy" 5205 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 5178 5206 break; 5179 5207 … … 5181 5209 5182 5210 /* Line 1806 of yacc.c */ 5183 #line 44 2"parser.yy"5211 #line 444 "parser.yy" 5184 5212 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5185 5213 break; … … 5188 5216 5189 5217 /* Line 1806 of yacc.c */ 5190 #line 44 4"parser.yy"5218 #line 446 "parser.yy" 5191 5219 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5192 5220 break; … … 5195 5223 5196 5224 /* Line 1806 of yacc.c */ 5197 #line 44 6"parser.yy"5225 #line 448 "parser.yy" 5198 5226 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5199 5227 break; … … 5202 5230 5203 5231 /* Line 1806 of yacc.c */ 5204 #line 45 1"parser.yy"5232 #line 453 "parser.yy" 5205 5233 { 5206 5234 switch ( (yyvsp[(1) - (2)].op) ) { … … 5220 5248 5221 5249 /* Line 1806 of yacc.c */ 5222 #line 46 4"parser.yy"5250 #line 466 "parser.yy" 5223 5251 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5224 5252 break; … … 5227 5255 5228 5256 /* Line 1806 of yacc.c */ 5229 #line 46 6"parser.yy"5257 #line 468 "parser.yy" 5230 5258 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5231 5259 break; … … 5234 5262 5235 5263 /* Line 1806 of yacc.c */ 5236 #line 4 68"parser.yy"5264 #line 470 "parser.yy" 5237 5265 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5238 5266 break; … … 5241 5269 5242 5270 /* Line 1806 of yacc.c */ 5243 #line 47 0"parser.yy"5271 #line 472 "parser.yy" 5244 5272 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5245 5273 break; … … 5248 5276 5249 5277 /* Line 1806 of yacc.c */ 5250 #line 47 2"parser.yy"5278 #line 474 "parser.yy" 5251 5279 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5252 5280 break; … … 5255 5283 5256 5284 /* Line 1806 of yacc.c */ 5257 #line 47 4"parser.yy"5285 #line 476 "parser.yy" 5258 5286 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5259 5287 break; … … 5262 5290 5263 5291 /* Line 1806 of yacc.c */ 5264 #line 47 6"parser.yy"5292 #line 478 "parser.yy" 5265 5293 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5266 5294 break; … … 5269 5297 5270 5298 /* Line 1806 of yacc.c */ 5271 #line 4 78"parser.yy"5299 #line 480 "parser.yy" 5272 5300 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5273 5301 break; … … 5276 5304 5277 5305 /* Line 1806 of yacc.c */ 5278 #line 48 0"parser.yy"5306 #line 482 "parser.yy" 5279 5307 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5280 5308 break; … … 5283 5311 5284 5312 /* Line 1806 of yacc.c */ 5285 #line 48 2"parser.yy"5313 #line 484 "parser.yy" 5286 5314 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5287 5315 break; … … 5290 5318 5291 5319 /* Line 1806 of yacc.c */ 5292 #line 48 4"parser.yy"5320 #line 486 "parser.yy" 5293 5321 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5294 5322 break; … … 5297 5325 5298 5326 /* Line 1806 of yacc.c */ 5299 #line 49 0"parser.yy"5327 #line 492 "parser.yy" 5300 5328 { (yyval.op) = OperKinds::PointTo; } 5301 5329 break; … … 5304 5332 5305 5333 /* Line 1806 of yacc.c */ 5306 #line 49 1"parser.yy"5334 #line 493 "parser.yy" 5307 5335 { (yyval.op) = OperKinds::AddressOf; } 5308 5336 break; … … 5311 5339 5312 5340 /* Line 1806 of yacc.c */ 5313 #line 49 7"parser.yy"5341 #line 499 "parser.yy" 5314 5342 { (yyval.op) = OperKinds::UnPlus; } 5315 5343 break; … … 5318 5346 5319 5347 /* Line 1806 of yacc.c */ 5320 #line 498"parser.yy"5348 #line 500 "parser.yy" 5321 5349 { (yyval.op) = OperKinds::UnMinus; } 5322 5350 break; … … 5325 5353 5326 5354 /* Line 1806 of yacc.c */ 5327 #line 499"parser.yy"5355 #line 501 "parser.yy" 5328 5356 { (yyval.op) = OperKinds::Neg; } 5329 5357 break; … … 5332 5360 5333 5361 /* Line 1806 of yacc.c */ 5334 #line 50 0"parser.yy"5362 #line 502 "parser.yy" 5335 5363 { (yyval.op) = OperKinds::BitNeg; } 5336 5364 break; 5337 5365 5338 5366 case 71: 5339 5340 /* Line 1806 of yacc.c */5341 #line 506 "parser.yy"5342 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); }5343 break;5344 5345 case 72:5346 5367 5347 5368 /* Line 1806 of yacc.c */ … … 5350 5371 break; 5351 5372 5373 case 72: 5374 5375 /* Line 1806 of yacc.c */ 5376 #line 510 "parser.yy" 5377 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5378 break; 5379 5352 5380 case 74: 5353 5381 5354 5382 /* Line 1806 of yacc.c */ 5355 #line 51 4"parser.yy"5383 #line 516 "parser.yy" 5356 5384 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5357 5385 break; … … 5360 5388 5361 5389 /* Line 1806 of yacc.c */ 5362 #line 51 6"parser.yy"5390 #line 518 "parser.yy" 5363 5391 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5364 5392 break; … … 5367 5395 5368 5396 /* Line 1806 of yacc.c */ 5369 #line 5 18"parser.yy"5397 #line 520 "parser.yy" 5370 5398 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5371 5399 break; … … 5374 5402 5375 5403 /* Line 1806 of yacc.c */ 5376 #line 52 4"parser.yy"5404 #line 526 "parser.yy" 5377 5405 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5378 5406 break; … … 5381 5409 5382 5410 /* Line 1806 of yacc.c */ 5383 #line 52 6"parser.yy"5411 #line 528 "parser.yy" 5384 5412 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5385 5413 break; … … 5388 5416 5389 5417 /* Line 1806 of yacc.c */ 5390 #line 53 2"parser.yy"5418 #line 534 "parser.yy" 5391 5419 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5392 5420 break; … … 5395 5423 5396 5424 /* Line 1806 of yacc.c */ 5397 #line 53 4"parser.yy"5425 #line 536 "parser.yy" 5398 5426 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5399 5427 break; … … 5402 5430 5403 5431 /* Line 1806 of yacc.c */ 5404 #line 54 0"parser.yy"5432 #line 542 "parser.yy" 5405 5433 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5406 5434 break; … … 5409 5437 5410 5438 /* Line 1806 of yacc.c */ 5411 #line 54 2"parser.yy"5439 #line 544 "parser.yy" 5412 5440 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5413 5441 break; … … 5416 5444 5417 5445 /* Line 1806 of yacc.c */ 5418 #line 54 4"parser.yy"5446 #line 546 "parser.yy" 5419 5447 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5420 5448 break; … … 5423 5451 5424 5452 /* Line 1806 of yacc.c */ 5425 #line 54 6"parser.yy"5453 #line 548 "parser.yy" 5426 5454 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5427 5455 break; … … 5430 5458 5431 5459 /* Line 1806 of yacc.c */ 5432 #line 55 2"parser.yy"5460 #line 554 "parser.yy" 5433 5461 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5434 5462 break; … … 5437 5465 5438 5466 /* Line 1806 of yacc.c */ 5439 #line 55 4"parser.yy"5467 #line 556 "parser.yy" 5440 5468 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5441 5469 break; … … 5444 5472 5445 5473 /* Line 1806 of yacc.c */ 5446 #line 56 0"parser.yy"5474 #line 562 "parser.yy" 5447 5475 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5448 5476 break; … … 5451 5479 5452 5480 /* Line 1806 of yacc.c */ 5453 #line 56 6"parser.yy"5481 #line 568 "parser.yy" 5454 5482 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5455 5483 break; … … 5458 5486 5459 5487 /* Line 1806 of yacc.c */ 5460 #line 57 2"parser.yy"5488 #line 574 "parser.yy" 5461 5489 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5462 5490 break; … … 5465 5493 5466 5494 /* Line 1806 of yacc.c */ 5467 #line 5 78"parser.yy"5495 #line 580 "parser.yy" 5468 5496 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5469 5497 break; … … 5472 5500 5473 5501 /* Line 1806 of yacc.c */ 5474 #line 58 4"parser.yy"5502 #line 586 "parser.yy" 5475 5503 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5476 5504 break; … … 5479 5507 5480 5508 /* Line 1806 of yacc.c */ 5481 #line 59 0"parser.yy"5509 #line 592 "parser.yy" 5482 5510 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5483 5511 break; … … 5486 5514 5487 5515 /* Line 1806 of yacc.c */ 5488 #line 59 3"parser.yy"5516 #line 595 "parser.yy" 5489 5517 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5490 5518 break; … … 5493 5521 5494 5522 /* Line 1806 of yacc.c */ 5495 #line 59 5"parser.yy"5523 #line 597 "parser.yy" 5496 5524 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5497 5525 break; … … 5500 5528 5501 5529 /* Line 1806 of yacc.c */ 5502 #line 60 6"parser.yy"5530 #line 608 "parser.yy" 5503 5531 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5504 5532 break; … … 5507 5535 5508 5536 /* Line 1806 of yacc.c */ 5509 #line 6 08"parser.yy"5537 #line 610 "parser.yy" 5510 5538 { (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 5539 break; … … 5514 5542 5515 5543 /* Line 1806 of yacc.c */ 5516 #line 61 3"parser.yy"5544 #line 615 "parser.yy" 5517 5545 { (yyval.en) = nullptr; } 5518 5546 break; … … 5521 5549 5522 5550 /* Line 1806 of yacc.c */ 5523 #line 6 18"parser.yy"5551 #line 620 "parser.yy" 5524 5552 { (yyval.op) = OperKinds::Assign; } 5525 5553 break; … … 5528 5556 5529 5557 /* Line 1806 of yacc.c */ 5530 #line 6 19"parser.yy"5558 #line 621 "parser.yy" 5531 5559 { (yyval.op) = OperKinds::AtAssn; } 5532 5560 break; … … 5535 5563 5536 5564 /* Line 1806 of yacc.c */ 5537 #line 62 0"parser.yy"5565 #line 622 "parser.yy" 5538 5566 { (yyval.op) = OperKinds::MulAssn; } 5539 5567 break; … … 5542 5570 5543 5571 /* Line 1806 of yacc.c */ 5544 #line 62 1"parser.yy"5572 #line 623 "parser.yy" 5545 5573 { (yyval.op) = OperKinds::DivAssn; } 5546 5574 break; … … 5549 5577 5550 5578 /* Line 1806 of yacc.c */ 5551 #line 62 2"parser.yy"5579 #line 624 "parser.yy" 5552 5580 { (yyval.op) = OperKinds::ModAssn; } 5553 5581 break; … … 5556 5584 5557 5585 /* Line 1806 of yacc.c */ 5558 #line 62 3"parser.yy"5586 #line 625 "parser.yy" 5559 5587 { (yyval.op) = OperKinds::PlusAssn; } 5560 5588 break; … … 5563 5591 5564 5592 /* Line 1806 of yacc.c */ 5565 #line 62 4"parser.yy"5593 #line 626 "parser.yy" 5566 5594 { (yyval.op) = OperKinds::MinusAssn; } 5567 5595 break; … … 5570 5598 5571 5599 /* Line 1806 of yacc.c */ 5572 #line 62 5"parser.yy"5600 #line 627 "parser.yy" 5573 5601 { (yyval.op) = OperKinds::LSAssn; } 5574 5602 break; … … 5577 5605 5578 5606 /* Line 1806 of yacc.c */ 5579 #line 62 6"parser.yy"5607 #line 628 "parser.yy" 5580 5608 { (yyval.op) = OperKinds::RSAssn; } 5581 5609 break; … … 5584 5612 5585 5613 /* Line 1806 of yacc.c */ 5586 #line 62 7"parser.yy"5614 #line 629 "parser.yy" 5587 5615 { (yyval.op) = OperKinds::AndAssn; } 5588 5616 break; … … 5591 5619 5592 5620 /* Line 1806 of yacc.c */ 5593 #line 6 28"parser.yy"5621 #line 630 "parser.yy" 5594 5622 { (yyval.op) = OperKinds::ERAssn; } 5595 5623 break; … … 5598 5626 5599 5627 /* Line 1806 of yacc.c */ 5600 #line 6 29"parser.yy"5628 #line 631 "parser.yy" 5601 5629 { (yyval.op) = OperKinds::OrAssn; } 5602 5630 break; … … 5605 5633 5606 5634 /* Line 1806 of yacc.c */ 5607 #line 63 6"parser.yy"5635 #line 638 "parser.yy" 5608 5636 { (yyval.en) = new ExpressionNode( build_tuple() ); } 5609 5637 break; … … 5612 5640 5613 5641 /* Line 1806 of yacc.c */ 5614 #line 6 38"parser.yy"5642 #line 640 "parser.yy" 5615 5643 { (yyval.en) = new ExpressionNode( build_tuple( (yyvsp[(3) - (5)].en) ) ); } 5616 5644 break; … … 5619 5647 5620 5648 /* Line 1806 of yacc.c */ 5621 #line 64 0"parser.yy"5649 #line 642 "parser.yy" 5622 5650 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5623 5651 break; … … 5626 5654 5627 5655 /* Line 1806 of yacc.c */ 5628 #line 64 2"parser.yy"5656 #line 644 "parser.yy" 5629 5657 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5630 5658 break; … … 5633 5661 5634 5662 /* Line 1806 of yacc.c */ 5635 #line 6 48"parser.yy"5663 #line 650 "parser.yy" 5636 5664 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5637 5665 break; … … 5640 5668 5641 5669 /* Line 1806 of yacc.c */ 5642 #line 65 4"parser.yy"5670 #line 656 "parser.yy" 5643 5671 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5644 5672 break; … … 5647 5675 5648 5676 /* Line 1806 of yacc.c */ 5649 #line 6 59"parser.yy"5677 #line 661 "parser.yy" 5650 5678 { (yyval.en) = 0; } 5651 5679 break; … … 5654 5682 5655 5683 /* Line 1806 of yacc.c */ 5656 #line 6 68"parser.yy"5684 #line 670 "parser.yy" 5657 5685 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5658 5686 break; … … 5661 5689 5662 5690 /* Line 1806 of yacc.c */ 5663 #line 67 5"parser.yy"5691 #line 677 "parser.yy" 5664 5692 { 5665 5693 Token fn; … … 5672 5700 5673 5701 /* Line 1806 of yacc.c */ 5674 #line 68 5"parser.yy"5702 #line 687 "parser.yy" 5675 5703 { 5676 5704 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5681 5709 5682 5710 /* Line 1806 of yacc.c */ 5683 #line 69 2"parser.yy"5711 #line 694 "parser.yy" 5684 5712 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5685 5713 break; … … 5688 5716 5689 5717 /* Line 1806 of yacc.c */ 5690 #line 699"parser.yy"5718 #line 701 "parser.yy" 5691 5719 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5692 5720 break; … … 5695 5723 5696 5724 /* Line 1806 of yacc.c */ 5697 #line 70 5"parser.yy"5725 #line 707 "parser.yy" 5698 5726 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5699 5727 break; … … 5702 5730 5703 5731 /* Line 1806 of yacc.c */ 5704 #line 71 0"parser.yy"5732 #line 712 "parser.yy" 5705 5733 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5706 5734 break; … … 5709 5737 5710 5738 /* Line 1806 of yacc.c */ 5711 #line 71 2"parser.yy"5739 #line 714 "parser.yy" 5712 5740 { // mark all fields in list 5713 5741 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 5720 5748 5721 5749 /* Line 1806 of yacc.c */ 5722 #line 7 18"parser.yy"5750 #line 720 "parser.yy" 5723 5751 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5724 5752 break; … … 5727 5755 5728 5756 /* Line 1806 of yacc.c */ 5729 #line 72 5"parser.yy"5757 #line 727 "parser.yy" 5730 5758 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5731 5759 break; … … 5734 5762 5735 5763 /* Line 1806 of yacc.c */ 5736 #line 73 0"parser.yy"5764 #line 732 "parser.yy" 5737 5765 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5738 5766 break; … … 5741 5769 5742 5770 /* Line 1806 of yacc.c */ 5743 #line 73 6"parser.yy"5771 #line 738 "parser.yy" 5744 5772 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5745 5773 break; … … 5748 5776 5749 5777 /* Line 1806 of yacc.c */ 5750 #line 7 38"parser.yy"5778 #line 740 "parser.yy" 5751 5779 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5752 5780 break; … … 5755 5783 5756 5784 /* Line 1806 of yacc.c */ 5757 #line 74 0"parser.yy"5785 #line 742 "parser.yy" 5758 5786 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5759 5787 break; … … 5762 5790 5763 5791 /* Line 1806 of yacc.c */ 5764 #line 74 2"parser.yy"5792 #line 744 "parser.yy" 5765 5793 { 5766 5794 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5777 5805 5778 5806 /* Line 1806 of yacc.c */ 5779 #line 75 2"parser.yy"5807 #line 754 "parser.yy" 5780 5808 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5781 5809 break; … … 5784 5812 5785 5813 /* Line 1806 of yacc.c */ 5786 #line 75 4"parser.yy"5814 #line 756 "parser.yy" 5787 5815 { 5788 5816 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5794 5822 5795 5823 /* Line 1806 of yacc.c */ 5796 #line 76 4"parser.yy"5824 #line 766 "parser.yy" 5797 5825 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5798 5826 break; … … 5801 5829 5802 5830 /* Line 1806 of yacc.c */ 5803 #line 76 6"parser.yy"5831 #line 768 "parser.yy" 5804 5832 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5805 5833 break; … … 5808 5836 5809 5837 /* Line 1806 of yacc.c */ 5810 #line 77 1"parser.yy"5838 #line 773 "parser.yy" 5811 5839 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5812 5840 break; … … 5815 5843 5816 5844 /* Line 1806 of yacc.c */ 5817 #line 77 3"parser.yy"5845 #line 775 "parser.yy" 5818 5846 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5819 5847 break; … … 5822 5850 5823 5851 /* Line 1806 of yacc.c */ 5824 #line 77 7"parser.yy"5852 #line 779 "parser.yy" 5825 5853 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5826 5854 break; … … 5829 5857 5830 5858 /* Line 1806 of yacc.c */ 5831 #line 7 78"parser.yy"5859 #line 780 "parser.yy" 5832 5860 { (yyval.sn) = new StatementNode( build_default() ); } 5833 5861 break; … … 5836 5864 5837 5865 /* Line 1806 of yacc.c */ 5838 #line 78 4"parser.yy"5866 #line 786 "parser.yy" 5839 5867 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5840 5868 break; … … 5843 5871 5844 5872 /* Line 1806 of yacc.c */ 5845 #line 7 88"parser.yy"5873 #line 790 "parser.yy" 5846 5874 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5847 5875 break; … … 5850 5878 5851 5879 /* Line 1806 of yacc.c */ 5852 #line 79 3"parser.yy"5880 #line 795 "parser.yy" 5853 5881 { (yyval.sn) = 0; } 5854 5882 break; … … 5857 5885 5858 5886 /* Line 1806 of yacc.c */ 5859 #line 799"parser.yy"5887 #line 801 "parser.yy" 5860 5888 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5861 5889 break; … … 5864 5892 5865 5893 /* Line 1806 of yacc.c */ 5866 #line 80 1"parser.yy"5894 #line 803 "parser.yy" 5867 5895 { (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 5896 break; … … 5871 5899 5872 5900 /* Line 1806 of yacc.c */ 5873 #line 80 6"parser.yy"5901 #line 808 "parser.yy" 5874 5902 { (yyval.sn) = 0; } 5875 5903 break; … … 5878 5906 5879 5907 /* Line 1806 of yacc.c */ 5880 #line 81 2"parser.yy"5908 #line 814 "parser.yy" 5881 5909 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5882 5910 break; … … 5885 5913 5886 5914 /* Line 1806 of yacc.c */ 5887 #line 81 4"parser.yy"5915 #line 816 "parser.yy" 5888 5916 { (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 5917 break; … … 5892 5920 5893 5921 /* Line 1806 of yacc.c */ 5894 #line 81 6"parser.yy"5922 #line 818 "parser.yy" 5895 5923 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5896 5924 break; … … 5899 5927 5900 5928 /* Line 1806 of yacc.c */ 5901 #line 8 18"parser.yy"5929 #line 820 "parser.yy" 5902 5930 { (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 5931 break; … … 5906 5934 5907 5935 /* Line 1806 of yacc.c */ 5908 #line 82 3"parser.yy"5936 #line 825 "parser.yy" 5909 5937 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5910 5938 break; 5911 5939 5912 5940 case 182: 5913 5914 /* Line 1806 of yacc.c */5915 #line 829 "parser.yy"5916 { (yyval.sn) = 0; }5917 break;5918 5919 case 183:5920 5941 5921 5942 /* Line 1806 of yacc.c */ … … 5924 5945 break; 5925 5946 5947 case 183: 5948 5949 /* Line 1806 of yacc.c */ 5950 #line 833 "parser.yy" 5951 { (yyval.sn) = 0; } 5952 break; 5953 5926 5954 case 184: 5927 5955 5928 5956 /* Line 1806 of yacc.c */ 5929 #line 83 6"parser.yy"5957 #line 838 "parser.yy" 5930 5958 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5931 5959 break; … … 5934 5962 5935 5963 /* Line 1806 of yacc.c */ 5936 #line 8 38"parser.yy"5964 #line 840 "parser.yy" 5937 5965 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5938 5966 break; … … 5941 5969 5942 5970 /* Line 1806 of yacc.c */ 5943 #line 84 0"parser.yy"5971 #line 842 "parser.yy" 5944 5972 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5945 5973 break; … … 5948 5976 5949 5977 /* Line 1806 of yacc.c */ 5950 #line 84 5"parser.yy"5978 #line 847 "parser.yy" 5951 5979 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5952 5980 break; … … 5955 5983 5956 5984 /* Line 1806 of yacc.c */ 5957 #line 84 7"parser.yy"5985 #line 849 "parser.yy" 5958 5986 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5959 5987 break; … … 5962 5990 5963 5991 /* Line 1806 of yacc.c */ 5964 #line 85 2"parser.yy"5992 #line 854 "parser.yy" 5965 5993 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5966 5994 break; … … 5969 5997 5970 5998 /* Line 1806 of yacc.c */ 5971 #line 85 6"parser.yy"5999 #line 858 "parser.yy" 5972 6000 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5973 6001 break; … … 5976 6004 5977 6005 /* Line 1806 of yacc.c */ 5978 #line 8 59"parser.yy"6006 #line 861 "parser.yy" 5979 6007 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5980 6008 break; … … 5983 6011 5984 6012 /* Line 1806 of yacc.c */ 5985 #line 86 3"parser.yy"6013 #line 865 "parser.yy" 5986 6014 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5987 6015 break; … … 5990 6018 5991 6019 /* Line 1806 of yacc.c */ 5992 #line 86 6"parser.yy"6020 #line 868 "parser.yy" 5993 6021 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5994 6022 break; … … 5997 6025 5998 6026 /* Line 1806 of yacc.c */ 5999 #line 87 0"parser.yy"6027 #line 872 "parser.yy" 6000 6028 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 6001 6029 break; … … 6004 6032 6005 6033 /* Line 1806 of yacc.c */ 6006 #line 87 2"parser.yy"6034 #line 874 "parser.yy" 6007 6035 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 6008 6036 break; 6009 6037 6010 6038 case 196: 6011 6012 /* Line 1806 of yacc.c */6013 #line 874 "parser.yy"6014 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); }6015 break;6016 6017 case 197:6018 6039 6019 6040 /* Line 1806 of yacc.c */ … … 6022 6043 break; 6023 6044 6045 case 197: 6046 6047 /* Line 1806 of yacc.c */ 6048 #line 878 "parser.yy" 6049 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 6050 break; 6051 6024 6052 case 198: 6025 6053 6026 6054 /* Line 1806 of yacc.c */ 6027 #line 8 78"parser.yy"6055 #line 880 "parser.yy" 6028 6056 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 6029 6057 break; … … 6032 6060 6033 6061 /* Line 1806 of yacc.c */ 6034 #line 88 3"parser.yy"6062 #line 885 "parser.yy" 6035 6063 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 6036 6064 break; … … 6039 6067 6040 6068 /* Line 1806 of yacc.c */ 6041 #line 88 5"parser.yy"6069 #line 887 "parser.yy" 6042 6070 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 6043 6071 break; … … 6046 6074 6047 6075 /* Line 1806 of yacc.c */ 6048 #line 88 7"parser.yy"6076 #line 889 "parser.yy" 6049 6077 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 6050 6078 break; … … 6053 6081 6054 6082 /* Line 1806 of yacc.c */ 6055 #line 89 4"parser.yy"6083 #line 896 "parser.yy" 6056 6084 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6057 6085 break; … … 6060 6088 6061 6089 /* Line 1806 of yacc.c */ 6062 #line 89 6"parser.yy"6090 #line 898 "parser.yy" 6063 6091 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6064 6092 break; … … 6067 6095 6068 6096 /* Line 1806 of yacc.c */ 6069 #line 898"parser.yy"6097 #line 900 "parser.yy" 6070 6098 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 6071 6099 break; … … 6074 6102 6075 6103 /* Line 1806 of yacc.c */ 6076 #line 90 0"parser.yy"6104 #line 902 "parser.yy" 6077 6105 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 6078 6106 break; … … 6081 6109 6082 6110 /* Line 1806 of yacc.c */ 6083 #line 90 5"parser.yy"6111 #line 907 "parser.yy" 6084 6112 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6085 6113 break; … … 6088 6116 6089 6117 /* Line 1806 of yacc.c */ 6090 #line 90 7"parser.yy"6118 #line 909 "parser.yy" 6091 6119 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6092 6120 break; … … 6095 6123 6096 6124 /* Line 1806 of yacc.c */ 6097 #line 9 09"parser.yy"6125 #line 911 "parser.yy" 6098 6126 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 6099 6127 break; … … 6102 6130 6103 6131 /* Line 1806 of yacc.c */ 6104 #line 91 1"parser.yy"6132 #line 913 "parser.yy" 6105 6133 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 6106 6134 break; … … 6109 6137 6110 6138 /* Line 1806 of yacc.c */ 6111 #line 91 6"parser.yy"6139 #line 918 "parser.yy" 6112 6140 { 6113 6141 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); … … 6118 6146 6119 6147 /* Line 1806 of yacc.c */ 6120 #line 9 29"parser.yy"6148 #line 931 "parser.yy" 6121 6149 { 6122 6150 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6128 6156 6129 6157 /* Line 1806 of yacc.c */ 6130 #line 93 4"parser.yy"6158 #line 936 "parser.yy" 6131 6159 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6132 6160 break; … … 6135 6163 6136 6164 /* Line 1806 of yacc.c */ 6137 #line 93 6"parser.yy"6165 #line 938 "parser.yy" 6138 6166 { 6139 6167 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6145 6173 6146 6174 /* Line 1806 of yacc.c */ 6147 #line 94 5"parser.yy"6175 #line 947 "parser.yy" 6148 6176 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 6149 6177 break; … … 6152 6180 6153 6181 /* Line 1806 of yacc.c */ 6154 #line 94 7"parser.yy"6182 #line 949 "parser.yy" 6155 6183 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 6156 6184 break; … … 6159 6187 6160 6188 /* Line 1806 of yacc.c */ 6161 #line 9 49"parser.yy"6189 #line 951 "parser.yy" 6162 6190 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 6163 6191 break; … … 6166 6194 6167 6195 /* Line 1806 of yacc.c */ 6168 #line 95 1"parser.yy"6196 #line 953 "parser.yy" 6169 6197 { (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 6198 break; … … 6173 6201 6174 6202 /* Line 1806 of yacc.c */ 6175 #line 95 3"parser.yy"6203 #line 955 "parser.yy" 6176 6204 { (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 6205 break; … … 6180 6208 6181 6209 /* Line 1806 of yacc.c */ 6182 #line 9 58"parser.yy"6210 #line 960 "parser.yy" 6183 6211 { (yyval.flag) = false; } 6184 6212 break; … … 6187 6215 6188 6216 /* Line 1806 of yacc.c */ 6189 #line 96 0"parser.yy"6217 #line 962 "parser.yy" 6190 6218 { (yyval.flag) = true; } 6191 6219 break; … … 6194 6222 6195 6223 /* Line 1806 of yacc.c */ 6196 #line 96 5"parser.yy"6224 #line 967 "parser.yy" 6197 6225 { (yyval.en) = 0; } 6198 6226 break; … … 6201 6229 6202 6230 /* Line 1806 of yacc.c */ 6203 #line 97 2"parser.yy"6231 #line 974 "parser.yy" 6204 6232 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6205 6233 break; … … 6208 6236 6209 6237 /* Line 1806 of yacc.c */ 6210 #line 97 7"parser.yy"6238 #line 979 "parser.yy" 6211 6239 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6212 6240 break; … … 6215 6243 6216 6244 /* Line 1806 of yacc.c */ 6217 #line 9 79"parser.yy"6245 #line 981 "parser.yy" 6218 6246 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6219 6247 break; … … 6222 6250 6223 6251 /* Line 1806 of yacc.c */ 6224 #line 98 4"parser.yy"6252 #line 986 "parser.yy" 6225 6253 { (yyval.en) = 0; } 6226 6254 break; … … 6229 6257 6230 6258 /* Line 1806 of yacc.c */ 6231 #line 98 6"parser.yy"6259 #line 988 "parser.yy" 6232 6260 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6233 6261 break; … … 6236 6264 6237 6265 /* Line 1806 of yacc.c */ 6238 #line 9 88"parser.yy"6266 #line 990 "parser.yy" 6239 6267 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6240 6268 break; … … 6243 6271 6244 6272 /* Line 1806 of yacc.c */ 6245 #line 99 3"parser.yy"6273 #line 995 "parser.yy" 6246 6274 { 6247 6275 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); … … 6253 6281 6254 6282 /* Line 1806 of yacc.c */ 6255 #line 998"parser.yy"6283 #line 1000 "parser.yy" 6256 6284 { 6257 6285 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); … … 6263 6291 6264 6292 /* Line 1806 of yacc.c */ 6265 #line 10 08"parser.yy"6293 #line 1010 "parser.yy" 6266 6294 { (yyval.decl) = 0; } 6267 6295 break; … … 6270 6298 6271 6299 /* Line 1806 of yacc.c */ 6272 #line 101 5"parser.yy"6300 #line 1017 "parser.yy" 6273 6301 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6274 6302 break; … … 6277 6305 6278 6306 /* Line 1806 of yacc.c */ 6279 #line 102 0"parser.yy"6307 #line 1022 "parser.yy" 6280 6308 { (yyval.decl) = 0; } 6281 6309 break; … … 6284 6312 6285 6313 /* Line 1806 of yacc.c */ 6286 #line 102 7"parser.yy"6314 #line 1029 "parser.yy" 6287 6315 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6288 6316 break; … … 6291 6319 6292 6320 /* Line 1806 of yacc.c */ 6293 #line 104 1"parser.yy"6321 #line 1043 "parser.yy" 6294 6322 {} 6295 6323 break; … … 6298 6326 6299 6327 /* Line 1806 of yacc.c */ 6300 #line 104 2"parser.yy"6328 #line 1044 "parser.yy" 6301 6329 {} 6302 6330 break; … … 6305 6333 6306 6334 /* Line 1806 of yacc.c */ 6307 #line 107 1"parser.yy"6335 #line 1073 "parser.yy" 6308 6336 { 6309 6337 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6315 6343 6316 6344 /* Line 1806 of yacc.c */ 6317 #line 10 78"parser.yy"6345 #line 1080 "parser.yy" 6318 6346 { 6319 6347 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6325 6353 6326 6354 /* Line 1806 of yacc.c */ 6327 #line 108 3"parser.yy"6355 #line 1085 "parser.yy" 6328 6356 { 6329 6357 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6335 6363 6336 6364 /* Line 1806 of yacc.c */ 6337 #line 109 3"parser.yy"6365 #line 1095 "parser.yy" 6338 6366 { 6339 6367 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6345 6373 6346 6374 /* Line 1806 of yacc.c */ 6347 #line 1 098"parser.yy"6375 #line 1100 "parser.yy" 6348 6376 { 6349 6377 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6355 6383 6356 6384 /* Line 1806 of yacc.c */ 6357 #line 110 3"parser.yy"6385 #line 1105 "parser.yy" 6358 6386 { 6359 6387 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6365 6393 6366 6394 /* Line 1806 of yacc.c */ 6367 #line 111 1"parser.yy"6395 #line 1113 "parser.yy" 6368 6396 { 6369 6397 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6375 6403 6376 6404 /* Line 1806 of yacc.c */ 6377 #line 111 6"parser.yy"6405 #line 1118 "parser.yy" 6378 6406 { 6379 6407 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6385 6413 6386 6414 /* Line 1806 of yacc.c */ 6387 #line 112 1"parser.yy"6415 #line 1123 "parser.yy" 6388 6416 { 6389 6417 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6395 6423 6396 6424 /* Line 1806 of yacc.c */ 6397 #line 112 6"parser.yy"6425 #line 1128 "parser.yy" 6398 6426 { 6399 6427 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6405 6433 6406 6434 /* Line 1806 of yacc.c */ 6407 #line 113 1"parser.yy"6435 #line 1133 "parser.yy" 6408 6436 { 6409 6437 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6415 6443 6416 6444 /* Line 1806 of yacc.c */ 6417 #line 11 39"parser.yy"6445 #line 1141 "parser.yy" 6418 6446 { 6419 6447 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6424 6452 6425 6453 /* Line 1806 of yacc.c */ 6426 #line 116 2"parser.yy"6454 #line 1164 "parser.yy" 6427 6455 { 6428 6456 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6433 6461 6434 6462 /* Line 1806 of yacc.c */ 6435 #line 116 6"parser.yy"6463 #line 1168 "parser.yy" 6436 6464 { 6437 6465 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6442 6470 6443 6471 /* Line 1806 of yacc.c */ 6444 #line 117 3"parser.yy"6472 #line 1175 "parser.yy" 6445 6473 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6446 6474 break; … … 6449 6477 6450 6478 /* Line 1806 of yacc.c */ 6451 #line 117 7"parser.yy"6479 #line 1179 "parser.yy" 6452 6480 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6453 6481 break; … … 6456 6484 6457 6485 /* Line 1806 of yacc.c */ 6458 #line 118 2"parser.yy"6486 #line 1184 "parser.yy" 6459 6487 { 6460 6488 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6466 6494 6467 6495 /* Line 1806 of yacc.c */ 6468 #line 118 7"parser.yy"6496 #line 1189 "parser.yy" 6469 6497 { 6470 6498 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6476 6504 6477 6505 /* Line 1806 of yacc.c */ 6478 #line 119 2"parser.yy"6506 #line 1194 "parser.yy" 6479 6507 { 6480 6508 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6486 6514 6487 6515 /* Line 1806 of yacc.c */ 6488 #line 120 3"parser.yy"6516 #line 1205 "parser.yy" 6489 6517 { 6490 6518 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6496 6524 6497 6525 /* Line 1806 of yacc.c */ 6498 #line 12 08"parser.yy"6526 #line 1210 "parser.yy" 6499 6527 { 6500 6528 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6506 6534 6507 6535 /* Line 1806 of yacc.c */ 6508 #line 121 3"parser.yy"6536 #line 1215 "parser.yy" 6509 6537 { 6510 6538 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6516 6544 6517 6545 /* Line 1806 of yacc.c */ 6518 #line 12 18"parser.yy"6546 #line 1220 "parser.yy" 6519 6547 { 6520 6548 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6526 6554 6527 6555 /* Line 1806 of yacc.c */ 6528 #line 122 3"parser.yy"6556 #line 1225 "parser.yy" 6529 6557 { 6530 6558 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6536 6564 6537 6565 /* Line 1806 of yacc.c */ 6538 #line 123 2"parser.yy"6566 #line 1234 "parser.yy" 6539 6567 { 6540 6568 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6546 6574 6547 6575 /* Line 1806 of yacc.c */ 6548 #line 123 7"parser.yy"6576 #line 1239 "parser.yy" 6549 6577 { 6550 6578 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6556 6584 6557 6585 /* Line 1806 of yacc.c */ 6558 #line 125 4"parser.yy"6586 #line 1256 "parser.yy" 6559 6587 { 6560 6588 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6566 6594 6567 6595 /* Line 1806 of yacc.c */ 6568 #line 12 59"parser.yy"6596 #line 1261 "parser.yy" 6569 6597 { 6570 6598 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6576 6604 6577 6605 /* Line 1806 of yacc.c */ 6578 #line 128 1"parser.yy"6606 #line 1283 "parser.yy" 6579 6607 { (yyval.decl) = 0; } 6580 6608 break; … … 6583 6611 6584 6612 /* Line 1806 of yacc.c */ 6585 #line 129 3"parser.yy"6613 #line 1295 "parser.yy" 6586 6614 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6587 6615 break; … … 6590 6618 6591 6619 /* Line 1806 of yacc.c */ 6592 #line 130 4"parser.yy"6620 #line 1306 "parser.yy" 6593 6621 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6594 6622 break; … … 6597 6625 6598 6626 /* Line 1806 of yacc.c */ 6599 #line 130 6"parser.yy"6627 #line 1308 "parser.yy" 6600 6628 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6601 6629 break; … … 6604 6632 6605 6633 /* Line 1806 of yacc.c */ 6606 #line 13 08"parser.yy"6634 #line 1310 "parser.yy" 6607 6635 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6608 6636 break; … … 6611 6639 6612 6640 /* Line 1806 of yacc.c */ 6613 #line 131 0"parser.yy"6641 #line 1312 "parser.yy" 6614 6642 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6615 6643 break; … … 6618 6646 6619 6647 /* Line 1806 of yacc.c */ 6620 #line 131 2"parser.yy"6648 #line 1314 "parser.yy" 6621 6649 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6622 6650 break; … … 6625 6653 6626 6654 /* Line 1806 of yacc.c */ 6627 #line 131 4"parser.yy"6655 #line 1316 "parser.yy" 6628 6656 { 6629 6657 typedefTable.enterScope(); … … 6634 6662 6635 6663 /* Line 1806 of yacc.c */ 6636 #line 13 18"parser.yy"6664 #line 1320 "parser.yy" 6637 6665 { 6638 6666 typedefTable.leaveScope(); … … 6644 6672 6645 6673 /* Line 1806 of yacc.c */ 6646 #line 132 7"parser.yy"6674 #line 1329 "parser.yy" 6647 6675 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6648 6676 break; … … 6651 6679 6652 6680 /* Line 1806 of yacc.c */ 6653 #line 13 29"parser.yy"6681 #line 1331 "parser.yy" 6654 6682 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6655 6683 break; … … 6658 6686 6659 6687 /* Line 1806 of yacc.c */ 6660 #line 134 0"parser.yy"6688 #line 1342 "parser.yy" 6661 6689 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6662 6690 break; … … 6665 6693 6666 6694 /* Line 1806 of yacc.c */ 6667 #line 134 5"parser.yy"6695 #line 1347 "parser.yy" 6668 6696 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6669 6697 break; … … 6672 6700 6673 6701 /* Line 1806 of yacc.c */ 6674 #line 134 7"parser.yy"6702 #line 1349 "parser.yy" 6675 6703 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6676 6704 break; … … 6679 6707 6680 6708 /* Line 1806 of yacc.c */ 6681 #line 13 49"parser.yy"6709 #line 1351 "parser.yy" 6682 6710 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6683 6711 break; … … 6686 6714 6687 6715 /* Line 1806 of yacc.c */ 6688 #line 135 1"parser.yy"6716 #line 1353 "parser.yy" 6689 6717 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6690 6718 break; … … 6693 6721 6694 6722 /* Line 1806 of yacc.c */ 6695 #line 135 4"parser.yy"6723 #line 1356 "parser.yy" 6696 6724 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 6697 6725 break; … … 6700 6728 6701 6729 /* Line 1806 of yacc.c */ 6702 #line 135 6"parser.yy"6730 #line 1358 "parser.yy" 6703 6731 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6704 6732 break; … … 6707 6735 6708 6736 /* Line 1806 of yacc.c */ 6709 #line 13 59"parser.yy"6737 #line 1361 "parser.yy" 6710 6738 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 6711 6739 break; … … 6714 6742 6715 6743 /* Line 1806 of yacc.c */ 6716 #line 136 1"parser.yy"6744 #line 1363 "parser.yy" 6717 6745 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6718 6746 break; … … 6721 6749 6722 6750 /* Line 1806 of yacc.c */ 6723 #line 136 6"parser.yy"6751 #line 1368 "parser.yy" 6724 6752 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6725 6753 break; … … 6728 6756 6729 6757 /* Line 1806 of yacc.c */ 6730 #line 13 68"parser.yy"6758 #line 1370 "parser.yy" 6731 6759 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6732 6760 break; … … 6735 6763 6736 6764 /* Line 1806 of yacc.c */ 6737 #line 137 0"parser.yy"6765 #line 1372 "parser.yy" 6738 6766 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6739 6767 break; … … 6742 6770 6743 6771 /* Line 1806 of yacc.c */ 6744 #line 137 2"parser.yy"6772 #line 1374 "parser.yy" 6745 6773 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6746 6774 break; … … 6749 6777 6750 6778 /* Line 1806 of yacc.c */ 6751 #line 137 4"parser.yy"6779 #line 1376 "parser.yy" 6752 6780 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6753 6781 break; … … 6756 6784 6757 6785 /* Line 1806 of yacc.c */ 6758 #line 137 6"parser.yy"6786 #line 1378 "parser.yy" 6759 6787 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6760 6788 break; … … 6763 6791 6764 6792 /* Line 1806 of yacc.c */ 6765 #line 13 78"parser.yy"6793 #line 1380 "parser.yy" 6766 6794 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6767 6795 break; … … 6770 6798 6771 6799 /* Line 1806 of yacc.c */ 6772 #line 138 0"parser.yy"6800 #line 1382 "parser.yy" 6773 6801 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6774 6802 break; … … 6777 6805 6778 6806 /* Line 1806 of yacc.c */ 6779 #line 138 2"parser.yy"6807 #line 1384 "parser.yy" 6780 6808 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6781 6809 break; … … 6784 6812 6785 6813 /* Line 1806 of yacc.c */ 6786 #line 138 4"parser.yy"6814 #line 1386 "parser.yy" 6787 6815 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6788 6816 break; … … 6791 6819 6792 6820 /* Line 1806 of yacc.c */ 6793 #line 138 6"parser.yy"6821 #line 1388 "parser.yy" 6794 6822 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6795 6823 break; … … 6798 6826 6799 6827 /* Line 1806 of yacc.c */ 6800 #line 13 88"parser.yy"6828 #line 1390 "parser.yy" 6801 6829 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6802 6830 break; … … 6805 6833 6806 6834 /* Line 1806 of yacc.c */ 6807 #line 139 0"parser.yy"6835 #line 1392 "parser.yy" 6808 6836 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6809 6837 break; … … 6812 6840 6813 6841 /* Line 1806 of yacc.c */ 6814 #line 139 7"parser.yy"6842 #line 1399 "parser.yy" 6815 6843 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6816 6844 break; … … 6819 6847 6820 6848 /* Line 1806 of yacc.c */ 6821 #line 1 399"parser.yy"6849 #line 1401 "parser.yy" 6822 6850 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6823 6851 break; … … 6826 6854 6827 6855 /* Line 1806 of yacc.c */ 6828 #line 140 1"parser.yy"6856 #line 1403 "parser.yy" 6829 6857 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6830 6858 break; … … 6833 6861 6834 6862 /* Line 1806 of yacc.c */ 6835 #line 140 3"parser.yy"6863 #line 1405 "parser.yy" 6836 6864 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6837 6865 break; … … 6840 6868 6841 6869 /* Line 1806 of yacc.c */ 6842 #line 14 09"parser.yy"6870 #line 1411 "parser.yy" 6843 6871 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6844 6872 break; … … 6847 6875 6848 6876 /* Line 1806 of yacc.c */ 6849 #line 141 6"parser.yy"6877 #line 1418 "parser.yy" 6850 6878 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6851 6879 break; … … 6854 6882 6855 6883 /* Line 1806 of yacc.c */ 6856 #line 14 18"parser.yy"6884 #line 1420 "parser.yy" 6857 6885 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6858 6886 break; … … 6861 6889 6862 6890 /* Line 1806 of yacc.c */ 6863 #line 142 0"parser.yy"6891 #line 1422 "parser.yy" 6864 6892 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6865 6893 break; … … 6868 6896 6869 6897 /* Line 1806 of yacc.c */ 6870 #line 142 5"parser.yy"6898 #line 1427 "parser.yy" 6871 6899 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6872 6900 break; … … 6875 6903 6876 6904 /* Line 1806 of yacc.c */ 6877 #line 142 7"parser.yy"6905 #line 1429 "parser.yy" 6878 6906 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6879 6907 break; … … 6882 6910 6883 6911 /* Line 1806 of yacc.c */ 6884 #line 14 29"parser.yy"6912 #line 1431 "parser.yy" 6885 6913 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6886 6914 break; … … 6889 6917 6890 6918 /* Line 1806 of yacc.c */ 6891 #line 143 1"parser.yy"6919 #line 1433 "parser.yy" 6892 6920 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6893 6921 break; … … 6896 6924 6897 6925 /* Line 1806 of yacc.c */ 6898 #line 143 7"parser.yy"6926 #line 1439 "parser.yy" 6899 6927 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6900 6928 break; … … 6903 6931 6904 6932 /* Line 1806 of yacc.c */ 6905 #line 14 39"parser.yy"6933 #line 1441 "parser.yy" 6906 6934 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6907 6935 break; … … 6910 6938 6911 6939 /* Line 1806 of yacc.c */ 6912 #line 144 1"parser.yy"6940 #line 1443 "parser.yy" 6913 6941 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6914 6942 break; … … 6917 6945 6918 6946 /* Line 1806 of yacc.c */ 6919 #line 144 7"parser.yy"6947 #line 1449 "parser.yy" 6920 6948 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6921 6949 break; … … 6924 6952 6925 6953 /* Line 1806 of yacc.c */ 6926 #line 14 49"parser.yy"6954 #line 1451 "parser.yy" 6927 6955 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6928 6956 break; … … 6931 6959 6932 6960 /* Line 1806 of yacc.c */ 6933 #line 145 5"parser.yy"6961 #line 1457 "parser.yy" 6934 6962 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6935 6963 break; … … 6938 6966 6939 6967 /* Line 1806 of yacc.c */ 6940 #line 145 7"parser.yy"6968 #line 1459 "parser.yy" 6941 6969 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6942 6970 break; … … 6945 6973 6946 6974 /* Line 1806 of yacc.c */ 6947 #line 14 59"parser.yy"6975 #line 1461 "parser.yy" 6948 6976 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6949 6977 break; … … 6952 6980 6953 6981 /* Line 1806 of yacc.c */ 6954 #line 146 4"parser.yy"6982 #line 1466 "parser.yy" 6955 6983 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6956 6984 break; … … 6959 6987 6960 6988 /* Line 1806 of yacc.c */ 6961 #line 146 6"parser.yy"6989 #line 1468 "parser.yy" 6962 6990 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6963 6991 break; … … 6966 6994 6967 6995 /* Line 1806 of yacc.c */ 6968 #line 14 68"parser.yy"6996 #line 1470 "parser.yy" 6969 6997 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6970 6998 break; … … 6973 7001 6974 7002 /* Line 1806 of yacc.c */ 6975 #line 14 78"parser.yy"7003 #line 1480 "parser.yy" 6976 7004 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 6977 7005 break; … … 6980 7008 6981 7009 /* Line 1806 of yacc.c */ 6982 #line 148 0"parser.yy"7010 #line 1482 "parser.yy" 6983 7011 { 6984 7012 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6990 7018 6991 7019 /* Line 1806 of yacc.c */ 6992 #line 148 5"parser.yy"7020 #line 1487 "parser.yy" 6993 7021 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6994 7022 break; … … 6997 7025 6998 7026 /* Line 1806 of yacc.c */ 6999 #line 148 7"parser.yy"7027 #line 1489 "parser.yy" 7000 7028 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 7001 7029 break; … … 7004 7032 7005 7033 /* Line 1806 of yacc.c */ 7006 #line 14 89"parser.yy"7034 #line 1491 "parser.yy" 7007 7035 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 7008 7036 break; … … 7011 7039 7012 7040 /* Line 1806 of yacc.c */ 7013 #line 149 1"parser.yy"7041 #line 1493 "parser.yy" 7014 7042 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7015 7043 break; … … 7018 7046 7019 7047 /* Line 1806 of yacc.c */ 7020 #line 149 6"parser.yy"7048 #line 1498 "parser.yy" 7021 7049 { (yyval.aggKey) = DeclarationNode::Struct; } 7022 7050 break; … … 7025 7053 7026 7054 /* Line 1806 of yacc.c */ 7027 #line 1 498"parser.yy"7055 #line 1500 "parser.yy" 7028 7056 { (yyval.aggKey) = DeclarationNode::Union; } 7029 7057 break; … … 7032 7060 7033 7061 /* Line 1806 of yacc.c */ 7034 #line 150 3"parser.yy"7062 #line 1505 "parser.yy" 7035 7063 { (yyval.decl) = 0; } 7036 7064 break; … … 7039 7067 7040 7068 /* Line 1806 of yacc.c */ 7041 #line 150 5"parser.yy"7069 #line 1507 "parser.yy" 7042 7070 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7043 7071 break; … … 7046 7074 7047 7075 /* Line 1806 of yacc.c */ 7048 #line 151 1"parser.yy"7076 #line 1513 "parser.yy" 7049 7077 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7050 7078 break; … … 7053 7081 7054 7082 /* Line 1806 of yacc.c */ 7055 #line 151 4"parser.yy"7083 #line 1516 "parser.yy" 7056 7084 { // mark all fields in list 7057 7085 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7064 7092 7065 7093 /* Line 1806 of yacc.c */ 7066 #line 152 4"parser.yy"7094 #line 1526 "parser.yy" 7067 7095 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7068 7096 break; … … 7071 7099 7072 7100 /* Line 1806 of yacc.c */ 7073 #line 152 6"parser.yy"7101 #line 1528 "parser.yy" 7074 7102 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7075 7103 break; … … 7078 7106 7079 7107 /* Line 1806 of yacc.c */ 7080 #line 15 28"parser.yy"7108 #line 1530 "parser.yy" 7081 7109 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7082 7110 break; … … 7085 7113 7086 7114 /* Line 1806 of yacc.c */ 7087 #line 153 3"parser.yy"7115 #line 1535 "parser.yy" 7088 7116 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7089 7117 break; … … 7092 7120 7093 7121 /* Line 1806 of yacc.c */ 7094 #line 153 5"parser.yy"7122 #line 1537 "parser.yy" 7095 7123 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7096 7124 break; … … 7099 7127 7100 7128 /* Line 1806 of yacc.c */ 7101 #line 154 0"parser.yy"7129 #line 1542 "parser.yy" 7102 7130 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7103 7131 break; … … 7106 7134 7107 7135 /* Line 1806 of yacc.c */ 7108 #line 154 2"parser.yy"7136 #line 1544 "parser.yy" 7109 7137 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7110 7138 break; … … 7113 7141 7114 7142 /* Line 1806 of yacc.c */ 7115 #line 154 5"parser.yy"7143 #line 1547 "parser.yy" 7116 7144 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7117 7145 break; … … 7120 7148 7121 7149 /* Line 1806 of yacc.c */ 7122 #line 15 48"parser.yy"7150 #line 1550 "parser.yy" 7123 7151 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7124 7152 break; … … 7127 7155 7128 7156 /* Line 1806 of yacc.c */ 7129 #line 155 4"parser.yy"7157 #line 1556 "parser.yy" 7130 7158 { (yyval.en) = 0; } 7131 7159 break; … … 7134 7162 7135 7163 /* Line 1806 of yacc.c */ 7136 #line 155 6"parser.yy"7164 #line 1558 "parser.yy" 7137 7165 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7138 7166 break; … … 7141 7169 7142 7170 /* Line 1806 of yacc.c */ 7143 #line 156 1"parser.yy"7171 #line 1563 "parser.yy" 7144 7172 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7145 7173 break; … … 7148 7176 7149 7177 /* Line 1806 of yacc.c */ 7150 #line 157 0"parser.yy"7178 #line 1572 "parser.yy" 7151 7179 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 7152 7180 break; … … 7155 7183 7156 7184 /* Line 1806 of yacc.c */ 7157 #line 157 2"parser.yy"7185 #line 1574 "parser.yy" 7158 7186 { 7159 7187 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7165 7193 7166 7194 /* Line 1806 of yacc.c */ 7167 #line 157 7"parser.yy"7195 #line 1579 "parser.yy" 7168 7196 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7169 7197 break; … … 7172 7200 7173 7201 /* Line 1806 of yacc.c */ 7174 #line 15 79"parser.yy"7202 #line 1581 "parser.yy" 7175 7203 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7176 7204 break; … … 7179 7207 7180 7208 /* Line 1806 of yacc.c */ 7181 #line 158 4"parser.yy"7209 #line 1586 "parser.yy" 7182 7210 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7183 7211 break; … … 7186 7214 7187 7215 /* Line 1806 of yacc.c */ 7188 #line 158 6"parser.yy"7216 #line 1588 "parser.yy" 7189 7217 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7190 7218 break; … … 7193 7221 7194 7222 /* Line 1806 of yacc.c */ 7195 #line 159 1"parser.yy"7223 #line 1593 "parser.yy" 7196 7224 { (yyval.en) = 0; } 7197 7225 break; … … 7200 7228 7201 7229 /* Line 1806 of yacc.c */ 7202 #line 159 3"parser.yy"7230 #line 1595 "parser.yy" 7203 7231 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7204 7232 break; … … 7207 7235 7208 7236 /* Line 1806 of yacc.c */ 7209 #line 160 0"parser.yy"7237 #line 1602 "parser.yy" 7210 7238 { (yyval.decl) = 0; } 7211 7239 break; … … 7214 7242 7215 7243 /* Line 1806 of yacc.c */ 7216 #line 16 08"parser.yy"7244 #line 1610 "parser.yy" 7217 7245 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7218 7246 break; 7219 7247 7220 7248 case 408: 7221 7222 /* Line 1806 of yacc.c */7223 #line 1610 "parser.yy"7224 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }7225 break;7226 7227 case 409:7228 7249 7229 7250 /* Line 1806 of yacc.c */ … … 7232 7253 break; 7233 7254 7255 case 409: 7256 7257 /* Line 1806 of yacc.c */ 7258 #line 1614 "parser.yy" 7259 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7260 break; 7261 7234 7262 case 411: 7235 7236 /* Line 1806 of yacc.c */7237 #line 1620 "parser.yy"7238 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7239 break;7240 7241 case 412:7242 7263 7243 7264 /* Line 1806 of yacc.c */ … … 7246 7267 break; 7247 7268 7269 case 412: 7270 7271 /* Line 1806 of yacc.c */ 7272 #line 1624 "parser.yy" 7273 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7274 break; 7275 7248 7276 case 413: 7249 7277 7250 7278 /* Line 1806 of yacc.c */ 7251 #line 162 4"parser.yy"7279 #line 1626 "parser.yy" 7252 7280 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7253 7281 break; … … 7256 7284 7257 7285 /* Line 1806 of yacc.c */ 7258 #line 163 0"parser.yy"7286 #line 1632 "parser.yy" 7259 7287 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7260 7288 break; … … 7263 7291 7264 7292 /* Line 1806 of yacc.c */ 7265 #line 163 5"parser.yy"7293 #line 1637 "parser.yy" 7266 7294 { (yyval.decl) = 0; } 7267 7295 break; … … 7270 7298 7271 7299 /* Line 1806 of yacc.c */ 7272 #line 164 2"parser.yy"7300 #line 1644 "parser.yy" 7273 7301 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7274 7302 break; 7275 7303 7276 7304 case 422: 7277 7278 /* Line 1806 of yacc.c */7279 #line 1649 "parser.yy"7280 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7281 break;7282 7283 case 423:7284 7305 7285 7306 /* Line 1806 of yacc.c */ … … 7288 7309 break; 7289 7310 7311 case 423: 7312 7313 /* Line 1806 of yacc.c */ 7314 #line 1653 "parser.yy" 7315 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7316 break; 7317 7290 7318 case 425: 7291 7319 7292 7320 /* Line 1806 of yacc.c */ 7293 #line 166 0"parser.yy"7321 #line 1662 "parser.yy" 7294 7322 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7295 7323 break; … … 7298 7326 7299 7327 /* Line 1806 of yacc.c */ 7300 #line 166 3"parser.yy"7328 #line 1665 "parser.yy" 7301 7329 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7302 7330 break; … … 7305 7333 7306 7334 /* Line 1806 of yacc.c */ 7307 #line 166 5"parser.yy"7335 #line 1667 "parser.yy" 7308 7336 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7309 7337 break; … … 7312 7340 7313 7341 /* Line 1806 of yacc.c */ 7314 #line 167 5"parser.yy"7342 #line 1677 "parser.yy" 7315 7343 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7316 7344 break; … … 7319 7347 7320 7348 /* Line 1806 of yacc.c */ 7321 #line 168 1"parser.yy"7349 #line 1683 "parser.yy" 7322 7350 { 7323 7351 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7329 7357 7330 7358 /* Line 1806 of yacc.c */ 7331 #line 168 6"parser.yy"7359 #line 1688 "parser.yy" 7332 7360 { 7333 7361 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7339 7367 7340 7368 /* Line 1806 of yacc.c */ 7341 #line 169 5"parser.yy"7369 #line 1697 "parser.yy" 7342 7370 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7343 7371 break; … … 7346 7374 7347 7375 /* Line 1806 of yacc.c */ 7348 #line 170 4"parser.yy"7376 #line 1706 "parser.yy" 7349 7377 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7350 7378 break; … … 7353 7381 7354 7382 /* Line 1806 of yacc.c */ 7355 #line 170 6"parser.yy"7383 #line 1708 "parser.yy" 7356 7384 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7357 7385 break; … … 7360 7388 7361 7389 /* Line 1806 of yacc.c */ 7362 #line 173 1"parser.yy"7390 #line 1733 "parser.yy" 7363 7391 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7364 7392 break; … … 7367 7395 7368 7396 /* Line 1806 of yacc.c */ 7369 #line 17 39"parser.yy"7397 #line 1741 "parser.yy" 7370 7398 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7371 7399 break; … … 7374 7402 7375 7403 /* Line 1806 of yacc.c */ 7376 #line 174 4"parser.yy"7404 #line 1746 "parser.yy" 7377 7405 { (yyval.in) = 0; } 7378 7406 break; … … 7381 7409 7382 7410 /* Line 1806 of yacc.c */ 7383 #line 174 6"parser.yy"7411 #line 1748 "parser.yy" 7384 7412 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7385 7413 break; … … 7388 7416 7389 7417 /* Line 1806 of yacc.c */ 7390 #line 17 48"parser.yy"7418 #line 1750 "parser.yy" 7391 7419 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7392 7420 break; … … 7395 7423 7396 7424 /* Line 1806 of yacc.c */ 7397 #line 175 2"parser.yy"7425 #line 1754 "parser.yy" 7398 7426 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7399 7427 break; … … 7402 7430 7403 7431 /* Line 1806 of yacc.c */ 7404 #line 175 3"parser.yy"7432 #line 1755 "parser.yy" 7405 7433 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7406 7434 break; … … 7409 7437 7410 7438 /* Line 1806 of yacc.c */ 7411 #line 17 58"parser.yy"7439 #line 1760 "parser.yy" 7412 7440 { (yyval.in) = 0; } 7413 7441 break; … … 7416 7444 7417 7445 /* Line 1806 of yacc.c */ 7418 #line 176 0"parser.yy"7446 #line 1762 "parser.yy" 7419 7447 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7420 7448 break; … … 7423 7451 7424 7452 /* Line 1806 of yacc.c */ 7425 #line 176 1"parser.yy"7453 #line 1763 "parser.yy" 7426 7454 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7427 7455 break; … … 7430 7458 7431 7459 /* Line 1806 of yacc.c */ 7432 #line 176 3"parser.yy"7460 #line 1765 "parser.yy" 7433 7461 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7434 7462 break; … … 7437 7465 7438 7466 /* Line 1806 of yacc.c */ 7439 #line 17 79"parser.yy"7467 #line 1781 "parser.yy" 7440 7468 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7441 7469 break; … … 7444 7472 7445 7473 /* Line 1806 of yacc.c */ 7446 #line 178 5"parser.yy"7474 #line 1787 "parser.yy" 7447 7475 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7448 7476 break; … … 7451 7479 7452 7480 /* Line 1806 of yacc.c */ 7453 #line 179 1"parser.yy"7481 #line 1793 "parser.yy" 7454 7482 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7455 7483 break; 7456 7484 7457 7485 case 471: 7458 7459 /* Line 1806 of yacc.c */7460 #line 1794 "parser.yy"7461 { (yyval.en) = (yyvsp[(3) - (5)].en); }7462 break;7463 7464 case 472:7465 7486 7466 7487 /* Line 1806 of yacc.c */ … … 7469 7490 break; 7470 7491 7492 case 472: 7493 7494 /* Line 1806 of yacc.c */ 7495 #line 1798 "parser.yy" 7496 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7497 break; 7498 7471 7499 case 473: 7472 7500 7473 7501 /* Line 1806 of yacc.c */ 7474 #line 1 798"parser.yy"7502 #line 1800 "parser.yy" 7475 7503 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7476 7504 break; … … 7479 7507 7480 7508 /* Line 1806 of yacc.c */ 7481 #line 180 0"parser.yy"7509 #line 1802 "parser.yy" 7482 7510 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7483 7511 break; … … 7486 7514 7487 7515 /* Line 1806 of yacc.c */ 7488 #line 182 4"parser.yy"7516 #line 1826 "parser.yy" 7489 7517 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7490 7518 break; … … 7493 7521 7494 7522 /* Line 1806 of yacc.c */ 7495 #line 182 6"parser.yy"7523 #line 1828 "parser.yy" 7496 7524 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7497 7525 break; … … 7500 7528 7501 7529 /* Line 1806 of yacc.c */ 7502 #line 18 28"parser.yy"7530 #line 1830 "parser.yy" 7503 7531 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7504 7532 break; … … 7507 7535 7508 7536 /* Line 1806 of yacc.c */ 7509 #line 183 4"parser.yy"7537 #line 1836 "parser.yy" 7510 7538 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7511 7539 break; … … 7514 7542 7515 7543 /* Line 1806 of yacc.c */ 7516 #line 183 6"parser.yy"7544 #line 1838 "parser.yy" 7517 7545 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7518 7546 break; … … 7521 7549 7522 7550 /* Line 1806 of yacc.c */ 7523 #line 184 1"parser.yy"7551 #line 1843 "parser.yy" 7524 7552 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7525 7553 break; … … 7528 7556 7529 7557 /* Line 1806 of yacc.c */ 7530 #line 184 7"parser.yy"7558 #line 1849 "parser.yy" 7531 7559 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7532 7560 break; … … 7535 7563 7536 7564 /* Line 1806 of yacc.c */ 7537 #line 185 2"parser.yy"7565 #line 1854 "parser.yy" 7538 7566 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7539 7567 break; … … 7542 7570 7543 7571 /* Line 1806 of yacc.c */ 7544 #line 185 4"parser.yy"7572 #line 1856 "parser.yy" 7545 7573 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7546 7574 break; … … 7549 7577 7550 7578 /* Line 1806 of yacc.c */ 7551 #line 186 0"parser.yy"7579 #line 1862 "parser.yy" 7552 7580 { (yyval.tclass) = DeclarationNode::Otype; } 7553 7581 break; … … 7556 7584 7557 7585 /* Line 1806 of yacc.c */ 7558 #line 186 2"parser.yy"7586 #line 1864 "parser.yy" 7559 7587 { (yyval.tclass) = DeclarationNode::Ftype; } 7560 7588 break; … … 7563 7591 7564 7592 /* Line 1806 of yacc.c */ 7565 #line 186 4"parser.yy"7593 #line 1866 "parser.yy" 7566 7594 { (yyval.tclass) = DeclarationNode::Dtype; } 7567 7595 break; … … 7570 7598 7571 7599 /* Line 1806 of yacc.c */ 7572 #line 18 69"parser.yy"7600 #line 1871 "parser.yy" 7573 7601 { (yyval.decl) = 0; } 7574 7602 break; … … 7577 7605 7578 7606 /* Line 1806 of yacc.c */ 7579 #line 187 1"parser.yy"7607 #line 1873 "parser.yy" 7580 7608 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7581 7609 break; … … 7584 7612 7585 7613 /* Line 1806 of yacc.c */ 7586 #line 187 6"parser.yy"7614 #line 1878 "parser.yy" 7587 7615 { 7588 7616 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7594 7622 7595 7623 /* Line 1806 of yacc.c */ 7596 #line 188 1"parser.yy"7624 #line 1883 "parser.yy" 7597 7625 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7598 7626 break; … … 7601 7629 7602 7630 /* Line 1806 of yacc.c */ 7603 #line 188 3"parser.yy"7631 #line 1885 "parser.yy" 7604 7632 { (yyval.decl) = 0; } 7605 7633 break; … … 7608 7636 7609 7637 /* Line 1806 of yacc.c */ 7610 #line 18 88"parser.yy"7638 #line 1890 "parser.yy" 7611 7639 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7612 7640 break; … … 7615 7643 7616 7644 /* Line 1806 of yacc.c */ 7617 #line 189 1"parser.yy"7645 #line 1893 "parser.yy" 7618 7646 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7619 7647 break; … … 7622 7650 7623 7651 /* Line 1806 of yacc.c */ 7624 #line 189 3"parser.yy"7652 #line 1895 "parser.yy" 7625 7653 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7626 7654 break; … … 7629 7657 7630 7658 /* Line 1806 of yacc.c */ 7631 #line 1 898"parser.yy"7659 #line 1900 "parser.yy" 7632 7660 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7633 7661 break; … … 7636 7664 7637 7665 /* Line 1806 of yacc.c */ 7638 #line 190 0"parser.yy"7666 #line 1902 "parser.yy" 7639 7667 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7640 7668 break; … … 7643 7671 7644 7672 /* Line 1806 of yacc.c */ 7645 #line 190 2"parser.yy"7673 #line 1904 "parser.yy" 7646 7674 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7647 7675 break; … … 7650 7678 7651 7679 /* Line 1806 of yacc.c */ 7652 #line 190 7"parser.yy"7680 #line 1909 "parser.yy" 7653 7681 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7654 7682 break; … … 7657 7685 7658 7686 /* Line 1806 of yacc.c */ 7659 #line 19 09"parser.yy"7687 #line 1911 "parser.yy" 7660 7688 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7661 7689 break; … … 7664 7692 7665 7693 /* Line 1806 of yacc.c */ 7666 #line 191 4"parser.yy"7694 #line 1916 "parser.yy" 7667 7695 { 7668 7696 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7674 7702 7675 7703 /* Line 1806 of yacc.c */ 7676 #line 19 19"parser.yy"7704 #line 1921 "parser.yy" 7677 7705 { 7678 7706 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7684 7712 7685 7713 /* Line 1806 of yacc.c */ 7686 #line 192 7"parser.yy"7714 #line 1929 "parser.yy" 7687 7715 { 7688 7716 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7694 7722 7695 7723 /* Line 1806 of yacc.c */ 7696 #line 193 2"parser.yy"7724 #line 1934 "parser.yy" 7697 7725 { 7698 7726 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7704 7732 7705 7733 /* Line 1806 of yacc.c */ 7706 #line 193 7"parser.yy"7734 #line 1939 "parser.yy" 7707 7735 { 7708 7736 typedefTable.leaveTrait(); … … 7715 7743 7716 7744 /* Line 1806 of yacc.c */ 7717 #line 194 7"parser.yy"7745 #line 1949 "parser.yy" 7718 7746 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7719 7747 break; … … 7722 7750 7723 7751 /* Line 1806 of yacc.c */ 7724 #line 195 7"parser.yy"7752 #line 1959 "parser.yy" 7725 7753 { 7726 7754 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7732 7760 7733 7761 /* Line 1806 of yacc.c */ 7734 #line 196 2"parser.yy"7762 #line 1964 "parser.yy" 7735 7763 { 7736 7764 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7742 7770 7743 7771 /* Line 1806 of yacc.c */ 7744 #line 196 7"parser.yy"7772 #line 1969 "parser.yy" 7745 7773 { 7746 7774 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7752 7780 7753 7781 /* Line 1806 of yacc.c */ 7754 #line 197 5"parser.yy"7782 #line 1977 "parser.yy" 7755 7783 { 7756 7784 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7762 7790 7763 7791 /* Line 1806 of yacc.c */ 7764 #line 198 0"parser.yy"7792 #line 1982 "parser.yy" 7765 7793 { 7766 7794 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7772 7800 7773 7801 /* Line 1806 of yacc.c */ 7774 #line 199 0"parser.yy"7802 #line 1992 "parser.yy" 7775 7803 {} 7776 7804 break; … … 7779 7807 7780 7808 /* Line 1806 of yacc.c */ 7781 #line 199 2"parser.yy"7809 #line 1994 "parser.yy" 7782 7810 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 7783 7811 break; … … 7786 7814 7787 7815 /* Line 1806 of yacc.c */ 7788 #line 1998"parser.yy"7816 #line 2000 "parser.yy" 7789 7817 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7790 7818 break; … … 7793 7821 7794 7822 /* Line 1806 of yacc.c */ 7795 #line 200 3"parser.yy"7823 #line 2005 "parser.yy" 7796 7824 { (yyval.decl) = 0; } 7797 7825 break; … … 7800 7828 7801 7829 /* Line 1806 of yacc.c */ 7802 #line 201 1"parser.yy"7830 #line 2013 "parser.yy" 7803 7831 {} 7804 7832 break; … … 7807 7835 7808 7836 /* Line 1806 of yacc.c */ 7809 #line 201 3"parser.yy"7837 #line 2015 "parser.yy" 7810 7838 { 7811 7839 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" … … 7817 7845 7818 7846 /* Line 1806 of yacc.c */ 7819 #line 20 18"parser.yy"7847 #line 2020 "parser.yy" 7820 7848 { 7821 7849 linkage = linkageStack.top(); … … 7828 7856 7829 7857 /* Line 1806 of yacc.c */ 7830 #line 202 4"parser.yy"7858 #line 2026 "parser.yy" 7831 7859 { // mark all fields in list 7832 7860 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7839 7867 7840 7868 /* Line 1806 of yacc.c */ 7841 #line 20 39"parser.yy"7869 #line 2041 "parser.yy" 7842 7870 { 7843 7871 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7850 7878 7851 7879 /* Line 1806 of yacc.c */ 7852 #line 204 5"parser.yy"7880 #line 2047 "parser.yy" 7853 7881 { 7854 7882 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7861 7889 7862 7890 /* Line 1806 of yacc.c */ 7863 #line 205 4"parser.yy"7891 #line 2056 "parser.yy" 7864 7892 { 7865 7893 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7872 7900 7873 7901 /* Line 1806 of yacc.c */ 7874 #line 206 0"parser.yy"7902 #line 2062 "parser.yy" 7875 7903 { 7876 7904 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7883 7911 7884 7912 /* Line 1806 of yacc.c */ 7885 #line 206 6"parser.yy"7913 #line 2068 "parser.yy" 7886 7914 { 7887 7915 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7894 7922 7895 7923 /* Line 1806 of yacc.c */ 7896 #line 207 2"parser.yy"7924 #line 2074 "parser.yy" 7897 7925 { 7898 7926 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7905 7933 7906 7934 /* Line 1806 of yacc.c */ 7907 #line 20 78"parser.yy"7935 #line 2080 "parser.yy" 7908 7936 { 7909 7937 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7916 7944 7917 7945 /* Line 1806 of yacc.c */ 7918 #line 208 6"parser.yy"7946 #line 2088 "parser.yy" 7919 7947 { 7920 7948 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7927 7955 7928 7956 /* Line 1806 of yacc.c */ 7929 #line 209 2"parser.yy"7957 #line 2094 "parser.yy" 7930 7958 { 7931 7959 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7938 7966 7939 7967 /* Line 1806 of yacc.c */ 7940 #line 210 0"parser.yy"7968 #line 2102 "parser.yy" 7941 7969 { 7942 7970 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7949 7977 7950 7978 /* Line 1806 of yacc.c */ 7951 #line 210 6"parser.yy"7979 #line 2108 "parser.yy" 7952 7980 { 7953 7981 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7960 7988 7961 7989 /* Line 1806 of yacc.c */ 7962 #line 212 1"parser.yy"7990 #line 2123 "parser.yy" 7963 7991 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7964 7992 break; … … 7967 7995 7968 7996 /* Line 1806 of yacc.c */ 7969 #line 212 6"parser.yy"7997 #line 2128 "parser.yy" 7970 7998 { delete (yyvsp[(3) - (5)].str); } 7971 7999 break; … … 7974 8002 7975 8003 /* Line 1806 of yacc.c */ 7976 #line 213 1"parser.yy"8004 #line 2133 "parser.yy" 7977 8005 { (yyval.decl) = 0; } 7978 8006 break; … … 7981 8009 7982 8010 /* Line 1806 of yacc.c */ 7983 #line 21 38"parser.yy"8011 #line 2140 "parser.yy" 7984 8012 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7985 8013 break; … … 7988 8016 7989 8017 /* Line 1806 of yacc.c */ 7990 #line 214 4"parser.yy"8018 #line 2146 "parser.yy" 7991 8019 { (yyval.decl) = 0; } 7992 8020 break; … … 7995 8023 7996 8024 /* Line 1806 of yacc.c */ 7997 #line 215 5"parser.yy"8025 #line 2157 "parser.yy" 7998 8026 { delete (yyvsp[(3) - (4)].en); } 7999 8027 break; … … 8002 8030 8003 8031 /* Line 1806 of yacc.c */ 8004 #line 21 59"parser.yy"8032 #line 2161 "parser.yy" 8005 8033 { delete (yyvsp[(1) - (1)].tok); } 8006 8034 break; 8007 8035 8008 8036 case 560: 8009 8010 /* Line 1806 of yacc.c */8011 #line 2160 "parser.yy"8012 { delete (yyvsp[(1) - (1)].decl); }8013 break;8014 8015 case 561:8016 8017 /* Line 1806 of yacc.c */8018 #line 2161 "parser.yy"8019 { delete (yyvsp[(1) - (1)].decl); }8020 break;8021 8022 case 562:8023 8037 8024 8038 /* Line 1806 of yacc.c */ … … 8027 8041 break; 8028 8042 8043 case 561: 8044 8045 /* Line 1806 of yacc.c */ 8046 #line 2163 "parser.yy" 8047 { delete (yyvsp[(1) - (1)].decl); } 8048 break; 8049 8050 case 562: 8051 8052 /* Line 1806 of yacc.c */ 8053 #line 2164 "parser.yy" 8054 { delete (yyvsp[(1) - (1)].decl); } 8055 break; 8056 8029 8057 case 563: 8030 8058 8031 8059 /* Line 1806 of yacc.c */ 8032 #line 219 7"parser.yy"8060 #line 2199 "parser.yy" 8033 8061 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8034 8062 break; 8035 8063 8036 8064 case 565: 8037 8038 /* Line 1806 of yacc.c */8039 #line 2200 "parser.yy"8040 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8041 break;8042 8043 case 566:8044 8065 8045 8066 /* Line 1806 of yacc.c */ … … 8048 8069 break; 8049 8070 8071 case 566: 8072 8073 /* Line 1806 of yacc.c */ 8074 #line 2204 "parser.yy" 8075 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8076 break; 8077 8050 8078 case 567: 8051 8079 8052 8080 /* Line 1806 of yacc.c */ 8053 #line 220 7"parser.yy"8081 #line 2209 "parser.yy" 8054 8082 { 8055 8083 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8061 8089 8062 8090 /* Line 1806 of yacc.c */ 8063 #line 221 2"parser.yy"8091 #line 2214 "parser.yy" 8064 8092 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8065 8093 break; … … 8068 8096 8069 8097 /* Line 1806 of yacc.c */ 8070 #line 221 7"parser.yy"8098 #line 2219 "parser.yy" 8071 8099 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8072 8100 break; … … 8075 8103 8076 8104 /* Line 1806 of yacc.c */ 8077 #line 22 19"parser.yy"8105 #line 2221 "parser.yy" 8078 8106 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8079 8107 break; … … 8082 8110 8083 8111 /* Line 1806 of yacc.c */ 8084 #line 222 1"parser.yy"8112 #line 2223 "parser.yy" 8085 8113 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8086 8114 break; … … 8089 8117 8090 8118 /* Line 1806 of yacc.c */ 8091 #line 222 6"parser.yy"8119 #line 2228 "parser.yy" 8092 8120 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8093 8121 break; 8094 8122 8095 8123 case 573: 8096 8097 /* Line 1806 of yacc.c */8098 #line 2228 "parser.yy"8099 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8100 break;8101 8102 case 574:8103 8124 8104 8125 /* Line 1806 of yacc.c */ … … 8107 8128 break; 8108 8129 8130 case 574: 8131 8132 /* Line 1806 of yacc.c */ 8133 #line 2232 "parser.yy" 8134 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8135 break; 8136 8109 8137 case 575: 8110 8138 8111 8139 /* Line 1806 of yacc.c */ 8112 #line 223 2"parser.yy"8140 #line 2234 "parser.yy" 8113 8141 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8114 8142 break; … … 8117 8145 8118 8146 /* Line 1806 of yacc.c */ 8119 #line 223 7"parser.yy"8147 #line 2239 "parser.yy" 8120 8148 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8121 8149 break; … … 8124 8152 8125 8153 /* Line 1806 of yacc.c */ 8126 #line 22 39"parser.yy"8154 #line 2241 "parser.yy" 8127 8155 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8128 8156 break; … … 8131 8159 8132 8160 /* Line 1806 of yacc.c */ 8133 #line 22 48"parser.yy"8161 #line 2250 "parser.yy" 8134 8162 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8135 8163 break; … … 8138 8166 8139 8167 /* Line 1806 of yacc.c */ 8140 #line 225 1"parser.yy"8168 #line 2253 "parser.yy" 8141 8169 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8142 8170 break; … … 8145 8173 8146 8174 /* Line 1806 of yacc.c */ 8147 #line 225 6"parser.yy"8175 #line 2258 "parser.yy" 8148 8176 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8149 8177 break; … … 8152 8180 8153 8181 /* Line 1806 of yacc.c */ 8154 #line 22 58"parser.yy"8182 #line 2260 "parser.yy" 8155 8183 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8156 8184 break; … … 8159 8187 8160 8188 /* Line 1806 of yacc.c */ 8161 #line 226 0"parser.yy"8189 #line 2262 "parser.yy" 8162 8190 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8163 8191 break; … … 8166 8194 8167 8195 /* Line 1806 of yacc.c */ 8168 #line 226 5"parser.yy"8196 #line 2267 "parser.yy" 8169 8197 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8170 8198 break; … … 8173 8201 8174 8202 /* Line 1806 of yacc.c */ 8175 #line 226 7"parser.yy"8203 #line 2269 "parser.yy" 8176 8204 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8177 8205 break; … … 8180 8208 8181 8209 /* Line 1806 of yacc.c */ 8182 #line 22 69"parser.yy"8210 #line 2271 "parser.yy" 8183 8211 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8184 8212 break; 8185 8213 8186 8214 case 587: 8187 8188 /* Line 1806 of yacc.c */8189 #line 2274 "parser.yy"8190 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8191 break;8192 8193 case 588:8194 8215 8195 8216 /* Line 1806 of yacc.c */ … … 8198 8219 break; 8199 8220 8221 case 588: 8222 8223 /* Line 1806 of yacc.c */ 8224 #line 2278 "parser.yy" 8225 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8226 break; 8227 8200 8228 case 589: 8201 8229 8202 8230 /* Line 1806 of yacc.c */ 8203 #line 22 78"parser.yy"8231 #line 2280 "parser.yy" 8204 8232 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8205 8233 break; … … 8208 8236 8209 8237 /* Line 1806 of yacc.c */ 8210 #line 229 3"parser.yy"8238 #line 2295 "parser.yy" 8211 8239 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8212 8240 break; … … 8215 8243 8216 8244 /* Line 1806 of yacc.c */ 8217 #line 229 5"parser.yy"8245 #line 2297 "parser.yy" 8218 8246 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8219 8247 break; … … 8222 8250 8223 8251 /* Line 1806 of yacc.c */ 8224 #line 229 7"parser.yy"8252 #line 2299 "parser.yy" 8225 8253 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8226 8254 break; … … 8229 8257 8230 8258 /* Line 1806 of yacc.c */ 8231 #line 230 2"parser.yy"8259 #line 2304 "parser.yy" 8232 8260 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8233 8261 break; … … 8236 8264 8237 8265 /* Line 1806 of yacc.c */ 8238 #line 230 4"parser.yy"8266 #line 2306 "parser.yy" 8239 8267 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8240 8268 break; … … 8243 8271 8244 8272 /* Line 1806 of yacc.c */ 8245 #line 230 6"parser.yy"8273 #line 2308 "parser.yy" 8246 8274 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8247 8275 break; 8248 8276 8249 8277 case 599: 8250 8251 /* Line 1806 of yacc.c */8252 #line 2311 "parser.yy"8253 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8254 break;8255 8256 case 600:8257 8278 8258 8279 /* Line 1806 of yacc.c */ … … 8261 8282 break; 8262 8283 8284 case 600: 8285 8286 /* Line 1806 of yacc.c */ 8287 #line 2315 "parser.yy" 8288 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8289 break; 8290 8263 8291 case 601: 8264 8292 8265 8293 /* Line 1806 of yacc.c */ 8266 #line 231 5"parser.yy"8294 #line 2317 "parser.yy" 8267 8295 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8268 8296 break; … … 8271 8299 8272 8300 /* Line 1806 of yacc.c */ 8273 #line 233 0"parser.yy"8301 #line 2332 "parser.yy" 8274 8302 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8275 8303 break; 8276 8304 8277 8305 case 604: 8278 8279 /* Line 1806 of yacc.c */8280 #line 2333 "parser.yy"8281 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8282 break;8283 8284 case 605:8285 8306 8286 8307 /* Line 1806 of yacc.c */ … … 8289 8310 break; 8290 8311 8312 case 605: 8313 8314 /* Line 1806 of yacc.c */ 8315 #line 2337 "parser.yy" 8316 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8317 break; 8318 8291 8319 case 607: 8292 8320 8293 8321 /* Line 1806 of yacc.c */ 8294 #line 234 1"parser.yy"8322 #line 2343 "parser.yy" 8295 8323 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8296 8324 break; … … 8299 8327 8300 8328 /* Line 1806 of yacc.c */ 8301 #line 234 6"parser.yy"8329 #line 2348 "parser.yy" 8302 8330 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8303 8331 break; … … 8306 8334 8307 8335 /* Line 1806 of yacc.c */ 8308 #line 23 48"parser.yy"8336 #line 2350 "parser.yy" 8309 8337 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8310 8338 break; … … 8313 8341 8314 8342 /* Line 1806 of yacc.c */ 8315 #line 235 0"parser.yy"8343 #line 2352 "parser.yy" 8316 8344 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8317 8345 break; … … 8320 8348 8321 8349 /* Line 1806 of yacc.c */ 8322 #line 235 5"parser.yy"8350 #line 2357 "parser.yy" 8323 8351 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8324 8352 break; 8325 8353 8326 8354 case 612: 8327 8328 /* Line 1806 of yacc.c */8329 #line 2357 "parser.yy"8330 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8331 break;8332 8333 case 613:8334 8355 8335 8356 /* Line 1806 of yacc.c */ … … 8338 8359 break; 8339 8360 8361 case 613: 8362 8363 /* Line 1806 of yacc.c */ 8364 #line 2361 "parser.yy" 8365 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8366 break; 8367 8340 8368 case 614: 8341 8369 8342 8370 /* Line 1806 of yacc.c */ 8343 #line 236 1"parser.yy"8371 #line 2363 "parser.yy" 8344 8372 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8345 8373 break; … … 8348 8376 8349 8377 /* Line 1806 of yacc.c */ 8350 #line 236 6"parser.yy"8378 #line 2368 "parser.yy" 8351 8379 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8352 8380 break; … … 8355 8383 8356 8384 /* Line 1806 of yacc.c */ 8357 #line 23 68"parser.yy"8385 #line 2370 "parser.yy" 8358 8386 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8359 8387 break; … … 8362 8390 8363 8391 /* Line 1806 of yacc.c */ 8364 #line 237 0"parser.yy"8392 #line 2372 "parser.yy" 8365 8393 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8366 8394 break; … … 8369 8397 8370 8398 /* Line 1806 of yacc.c */ 8371 #line 238 0"parser.yy"8399 #line 2382 "parser.yy" 8372 8400 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8373 8401 break; 8374 8402 8375 8403 case 620: 8376 8377 /* Line 1806 of yacc.c */8378 #line 2383 "parser.yy"8379 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8380 break;8381 8382 case 621:8383 8404 8384 8405 /* Line 1806 of yacc.c */ … … 8387 8408 break; 8388 8409 8410 case 621: 8411 8412 /* Line 1806 of yacc.c */ 8413 #line 2387 "parser.yy" 8414 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8415 break; 8416 8389 8417 case 622: 8390 8418 8391 8419 /* Line 1806 of yacc.c */ 8392 #line 239 0"parser.yy"8420 #line 2392 "parser.yy" 8393 8421 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8394 8422 break; … … 8397 8425 8398 8426 /* Line 1806 of yacc.c */ 8399 #line 239 2"parser.yy"8427 #line 2394 "parser.yy" 8400 8428 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8401 8429 break; … … 8404 8432 8405 8433 /* Line 1806 of yacc.c */ 8406 #line 239 4"parser.yy"8434 #line 2396 "parser.yy" 8407 8435 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8408 8436 break; … … 8411 8439 8412 8440 /* Line 1806 of yacc.c */ 8413 #line 2 399"parser.yy"8441 #line 2401 "parser.yy" 8414 8442 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8415 8443 break; 8416 8444 8417 8445 case 626: 8418 8419 /* Line 1806 of yacc.c */8420 #line 2401 "parser.yy"8421 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8422 break;8423 8424 case 627:8425 8446 8426 8447 /* Line 1806 of yacc.c */ … … 8429 8450 break; 8430 8451 8452 case 627: 8453 8454 /* Line 1806 of yacc.c */ 8455 #line 2405 "parser.yy" 8456 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8457 break; 8458 8431 8459 case 628: 8432 8460 8433 8461 /* Line 1806 of yacc.c */ 8434 #line 240 5"parser.yy"8462 #line 2407 "parser.yy" 8435 8463 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8436 8464 break; … … 8439 8467 8440 8468 /* Line 1806 of yacc.c */ 8441 #line 241 0"parser.yy"8469 #line 2412 "parser.yy" 8442 8470 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8443 8471 break; … … 8446 8474 8447 8475 /* Line 1806 of yacc.c */ 8448 #line 241 2"parser.yy"8476 #line 2414 "parser.yy" 8449 8477 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8450 8478 break; … … 8453 8481 8454 8482 /* Line 1806 of yacc.c */ 8455 #line 241 4"parser.yy"8483 #line 2416 "parser.yy" 8456 8484 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8457 8485 break; … … 8460 8488 8461 8489 /* Line 1806 of yacc.c */ 8462 #line 244 5"parser.yy"8490 #line 2447 "parser.yy" 8463 8491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8464 8492 break; 8465 8493 8466 8494 case 634: 8467 8468 /* Line 1806 of yacc.c */8469 #line 2448 "parser.yy"8470 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8471 break;8472 8473 case 635:8474 8495 8475 8496 /* Line 1806 of yacc.c */ … … 8478 8499 break; 8479 8500 8501 case 635: 8502 8503 /* Line 1806 of yacc.c */ 8504 #line 2452 "parser.yy" 8505 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8506 break; 8507 8480 8508 case 636: 8481 8509 8482 8510 /* Line 1806 of yacc.c */ 8483 #line 245 5"parser.yy"8511 #line 2457 "parser.yy" 8484 8512 { 8485 8513 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8491 8519 8492 8520 /* Line 1806 of yacc.c */ 8493 #line 246 0"parser.yy"8521 #line 2462 "parser.yy" 8494 8522 { 8495 8523 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8501 8529 8502 8530 /* Line 1806 of yacc.c */ 8503 #line 24 68"parser.yy"8531 #line 2470 "parser.yy" 8504 8532 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8505 8533 break; … … 8508 8536 8509 8537 /* Line 1806 of yacc.c */ 8510 #line 247 0"parser.yy"8538 #line 2472 "parser.yy" 8511 8539 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8512 8540 break; … … 8515 8543 8516 8544 /* Line 1806 of yacc.c */ 8517 #line 247 2"parser.yy"8545 #line 2474 "parser.yy" 8518 8546 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8519 8547 break; … … 8522 8550 8523 8551 /* Line 1806 of yacc.c */ 8524 #line 247 7"parser.yy"8552 #line 2479 "parser.yy" 8525 8553 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8526 8554 break; … … 8529 8557 8530 8558 /* Line 1806 of yacc.c */ 8531 #line 24 79"parser.yy"8559 #line 2481 "parser.yy" 8532 8560 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8533 8561 break; … … 8536 8564 8537 8565 /* Line 1806 of yacc.c */ 8538 #line 248 4"parser.yy"8566 #line 2486 "parser.yy" 8539 8567 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8540 8568 break; … … 8543 8571 8544 8572 /* Line 1806 of yacc.c */ 8545 #line 248 6"parser.yy"8573 #line 2488 "parser.yy" 8546 8574 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8547 8575 break; 8548 8576 8549 8577 case 646: 8550 8551 /* Line 1806 of yacc.c */8552 #line 2501 "parser.yy"8553 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8554 break;8555 8556 case 647:8557 8578 8558 8579 /* Line 1806 of yacc.c */ … … 8561 8582 break; 8562 8583 8584 case 647: 8585 8586 /* Line 1806 of yacc.c */ 8587 #line 2505 "parser.yy" 8588 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8589 break; 8590 8563 8591 case 648: 8564 8592 8565 8593 /* Line 1806 of yacc.c */ 8566 #line 25 08"parser.yy"8594 #line 2510 "parser.yy" 8567 8595 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8568 8596 break; … … 8571 8599 8572 8600 /* Line 1806 of yacc.c */ 8573 #line 251 0"parser.yy"8601 #line 2512 "parser.yy" 8574 8602 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8575 8603 break; … … 8578 8606 8579 8607 /* Line 1806 of yacc.c */ 8580 #line 251 2"parser.yy"8608 #line 2514 "parser.yy" 8581 8609 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8582 8610 break; … … 8585 8613 8586 8614 /* Line 1806 of yacc.c */ 8587 #line 251 4"parser.yy"8615 #line 2516 "parser.yy" 8588 8616 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8589 8617 break; … … 8592 8620 8593 8621 /* Line 1806 of yacc.c */ 8594 #line 251 6"parser.yy"8622 #line 2518 "parser.yy" 8595 8623 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8596 8624 break; 8597 8625 8598 8626 case 654: 8599 8600 /* Line 1806 of yacc.c */8601 #line 2522 "parser.yy"8602 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8603 break;8604 8605 case 655:8606 8627 8607 8628 /* Line 1806 of yacc.c */ … … 8610 8631 break; 8611 8632 8633 case 655: 8634 8635 /* Line 1806 of yacc.c */ 8636 #line 2526 "parser.yy" 8637 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8638 break; 8639 8612 8640 case 656: 8613 8641 8614 8642 /* Line 1806 of yacc.c */ 8615 #line 252 6"parser.yy"8643 #line 2528 "parser.yy" 8616 8644 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8617 8645 break; … … 8620 8648 8621 8649 /* Line 1806 of yacc.c */ 8622 #line 253 1"parser.yy"8650 #line 2533 "parser.yy" 8623 8651 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8624 8652 break; … … 8627 8655 8628 8656 /* Line 1806 of yacc.c */ 8629 #line 253 3"parser.yy"8657 #line 2535 "parser.yy" 8630 8658 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8631 8659 break; … … 8634 8662 8635 8663 /* Line 1806 of yacc.c */ 8636 #line 253 5"parser.yy"8664 #line 2537 "parser.yy" 8637 8665 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8638 8666 break; … … 8641 8669 8642 8670 /* Line 1806 of yacc.c */ 8643 #line 254 1"parser.yy"8671 #line 2543 "parser.yy" 8644 8672 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8645 8673 break; … … 8648 8676 8649 8677 /* Line 1806 of yacc.c */ 8650 #line 254 3"parser.yy"8678 #line 2545 "parser.yy" 8651 8679 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8652 8680 break; … … 8655 8683 8656 8684 /* Line 1806 of yacc.c */ 8657 #line 25 49"parser.yy"8685 #line 2551 "parser.yy" 8658 8686 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8659 8687 break; … … 8662 8690 8663 8691 /* Line 1806 of yacc.c */ 8664 #line 255 1"parser.yy"8692 #line 2553 "parser.yy" 8665 8693 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8666 8694 break; … … 8669 8697 8670 8698 /* Line 1806 of yacc.c */ 8671 #line 255 3"parser.yy"8699 #line 2555 "parser.yy" 8672 8700 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8673 8701 break; … … 8676 8704 8677 8705 /* Line 1806 of yacc.c */ 8678 #line 255 5"parser.yy"8706 #line 2557 "parser.yy" 8679 8707 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8680 8708 break; 8681 8709 8682 8710 case 668: 8683 8684 /* Line 1806 of yacc.c */8685 #line 2570 "parser.yy"8686 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8687 break;8688 8689 case 669:8690 8711 8691 8712 /* Line 1806 of yacc.c */ … … 8694 8715 break; 8695 8716 8717 case 669: 8718 8719 /* Line 1806 of yacc.c */ 8720 #line 2574 "parser.yy" 8721 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8722 break; 8723 8696 8724 case 670: 8697 8725 8698 8726 /* Line 1806 of yacc.c */ 8699 #line 257 7"parser.yy"8727 #line 2579 "parser.yy" 8700 8728 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8701 8729 break; … … 8704 8732 8705 8733 /* Line 1806 of yacc.c */ 8706 #line 25 79"parser.yy"8734 #line 2581 "parser.yy" 8707 8735 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8708 8736 break; … … 8711 8739 8712 8740 /* Line 1806 of yacc.c */ 8713 #line 258 1"parser.yy"8741 #line 2583 "parser.yy" 8714 8742 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8715 8743 break; … … 8718 8746 8719 8747 /* Line 1806 of yacc.c */ 8720 #line 258 3"parser.yy"8748 #line 2585 "parser.yy" 8721 8749 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8722 8750 break; … … 8725 8753 8726 8754 /* Line 1806 of yacc.c */ 8727 #line 258 5"parser.yy"8755 #line 2587 "parser.yy" 8728 8756 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8729 8757 break; 8730 8758 8731 8759 case 676: 8732 8733 /* Line 1806 of yacc.c */8734 #line 2591 "parser.yy"8735 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8736 break;8737 8738 case 677:8739 8760 8740 8761 /* Line 1806 of yacc.c */ … … 8743 8764 break; 8744 8765 8766 case 677: 8767 8768 /* Line 1806 of yacc.c */ 8769 #line 2595 "parser.yy" 8770 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8771 break; 8772 8745 8773 case 678: 8746 8774 8747 8775 /* Line 1806 of yacc.c */ 8748 #line 259 5"parser.yy"8776 #line 2597 "parser.yy" 8749 8777 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8750 8778 break; … … 8753 8781 8754 8782 /* Line 1806 of yacc.c */ 8755 #line 260 0"parser.yy"8783 #line 2602 "parser.yy" 8756 8784 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8757 8785 break; … … 8760 8788 8761 8789 /* Line 1806 of yacc.c */ 8762 #line 260 2"parser.yy"8790 #line 2604 "parser.yy" 8763 8791 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8764 8792 break; … … 8767 8795 8768 8796 /* Line 1806 of yacc.c */ 8769 #line 260 4"parser.yy"8797 #line 2606 "parser.yy" 8770 8798 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8771 8799 break; … … 8774 8802 8775 8803 /* Line 1806 of yacc.c */ 8776 #line 261 1"parser.yy"8804 #line 2613 "parser.yy" 8777 8805 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8778 8806 break; … … 8781 8809 8782 8810 /* Line 1806 of yacc.c */ 8783 #line 262 2"parser.yy"8811 #line 2624 "parser.yy" 8784 8812 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8785 8813 break; … … 8788 8816 8789 8817 /* Line 1806 of yacc.c */ 8790 #line 262 5"parser.yy"8818 #line 2627 "parser.yy" 8791 8819 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8792 8820 break; … … 8795 8823 8796 8824 /* Line 1806 of yacc.c */ 8797 #line 262 7"parser.yy"8825 #line 2629 "parser.yy" 8798 8826 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8799 8827 break; … … 8802 8830 8803 8831 /* Line 1806 of yacc.c */ 8804 #line 263 0"parser.yy"8832 #line 2632 "parser.yy" 8805 8833 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8806 8834 break; … … 8809 8837 8810 8838 /* Line 1806 of yacc.c */ 8811 #line 263 2"parser.yy"8839 #line 2634 "parser.yy" 8812 8840 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8813 8841 break; … … 8816 8844 8817 8845 /* Line 1806 of yacc.c */ 8818 #line 263 4"parser.yy"8846 #line 2636 "parser.yy" 8819 8847 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8820 8848 break; 8821 8849 8822 8850 case 692: 8823 8824 /* Line 1806 of yacc.c */8825 #line 2648 "parser.yy"8826 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8827 break;8828 8829 case 693:8830 8851 8831 8852 /* Line 1806 of yacc.c */ … … 8834 8855 break; 8835 8856 8857 case 693: 8858 8859 /* Line 1806 of yacc.c */ 8860 #line 2652 "parser.yy" 8861 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8862 break; 8863 8836 8864 case 694: 8837 8865 8838 8866 /* Line 1806 of yacc.c */ 8839 #line 265 5"parser.yy"8867 #line 2657 "parser.yy" 8840 8868 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8841 8869 break; … … 8844 8872 8845 8873 /* Line 1806 of yacc.c */ 8846 #line 265 7"parser.yy"8874 #line 2659 "parser.yy" 8847 8875 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8848 8876 break; … … 8851 8879 8852 8880 /* Line 1806 of yacc.c */ 8853 #line 26 59"parser.yy"8881 #line 2661 "parser.yy" 8854 8882 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8855 8883 break; … … 8858 8886 8859 8887 /* Line 1806 of yacc.c */ 8860 #line 266 1"parser.yy"8888 #line 2663 "parser.yy" 8861 8889 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8862 8890 break; … … 8865 8893 8866 8894 /* Line 1806 of yacc.c */ 8867 #line 266 3"parser.yy"8895 #line 2665 "parser.yy" 8868 8896 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8869 8897 break; 8870 8898 8871 8899 case 700: 8872 8873 /* Line 1806 of yacc.c */8874 #line 2669 "parser.yy"8875 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8876 break;8877 8878 case 701:8879 8900 8880 8901 /* Line 1806 of yacc.c */ … … 8883 8904 break; 8884 8905 8906 case 701: 8907 8908 /* Line 1806 of yacc.c */ 8909 #line 2673 "parser.yy" 8910 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8911 break; 8912 8885 8913 case 702: 8886 8914 8887 8915 /* Line 1806 of yacc.c */ 8888 #line 267 3"parser.yy"8916 #line 2675 "parser.yy" 8889 8917 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8890 8918 break; … … 8893 8921 8894 8922 /* Line 1806 of yacc.c */ 8895 #line 26 78"parser.yy"8923 #line 2680 "parser.yy" 8896 8924 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8897 8925 break; … … 8900 8928 8901 8929 /* Line 1806 of yacc.c */ 8902 #line 268 0"parser.yy"8930 #line 2682 "parser.yy" 8903 8931 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8904 8932 break; … … 8907 8935 8908 8936 /* Line 1806 of yacc.c */ 8909 #line 269 0"parser.yy"8937 #line 2692 "parser.yy" 8910 8938 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8911 8939 break; … … 8914 8942 8915 8943 /* Line 1806 of yacc.c */ 8916 #line 270 0"parser.yy"8944 #line 2702 "parser.yy" 8917 8945 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8918 8946 break; … … 8921 8949 8922 8950 /* Line 1806 of yacc.c */ 8923 #line 270 2"parser.yy"8951 #line 2704 "parser.yy" 8924 8952 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8925 8953 break; … … 8928 8956 8929 8957 /* Line 1806 of yacc.c */ 8930 #line 270 4"parser.yy"8958 #line 2706 "parser.yy" 8931 8959 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8932 8960 break; … … 8935 8963 8936 8964 /* Line 1806 of yacc.c */ 8937 #line 270 6"parser.yy"8965 #line 2708 "parser.yy" 8938 8966 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8939 8967 break; … … 8942 8970 8943 8971 /* Line 1806 of yacc.c */ 8944 #line 27 08"parser.yy"8972 #line 2710 "parser.yy" 8945 8973 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8946 8974 break; … … 8949 8977 8950 8978 /* Line 1806 of yacc.c */ 8951 #line 271 0"parser.yy"8979 #line 2712 "parser.yy" 8952 8980 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8953 8981 break; … … 8956 8984 8957 8985 /* Line 1806 of yacc.c */ 8958 #line 271 7"parser.yy"8986 #line 2719 "parser.yy" 8959 8987 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8960 8988 break; … … 8963 8991 8964 8992 /* Line 1806 of yacc.c */ 8965 #line 27 19"parser.yy"8993 #line 2721 "parser.yy" 8966 8994 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8967 8995 break; … … 8970 8998 8971 8999 /* Line 1806 of yacc.c */ 8972 #line 272 1"parser.yy"9000 #line 2723 "parser.yy" 8973 9001 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8974 9002 break; … … 8977 9005 8978 9006 /* Line 1806 of yacc.c */ 8979 #line 272 3"parser.yy"9007 #line 2725 "parser.yy" 8980 9008 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8981 9009 break; … … 8984 9012 8985 9013 /* Line 1806 of yacc.c */ 8986 #line 272 5"parser.yy"9014 #line 2727 "parser.yy" 8987 9015 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8988 9016 break; … … 8991 9019 8992 9020 /* Line 1806 of yacc.c */ 8993 #line 272 8"parser.yy"9021 #line 2729 "parser.yy" 8994 9022 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8995 9023 break; … … 8998 9026 8999 9027 /* Line 1806 of yacc.c */ 9000 #line 273 0"parser.yy"9028 #line 2731 "parser.yy" 9001 9029 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9002 9030 break; … … 9005 9033 9006 9034 /* Line 1806 of yacc.c */ 9007 #line 273 2"parser.yy"9035 #line 2733 "parser.yy" 9008 9036 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9009 9037 break; … … 9012 9040 9013 9041 /* Line 1806 of yacc.c */ 9014 #line 273 4"parser.yy"9042 #line 2735 "parser.yy" 9015 9043 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9016 9044 break; … … 9019 9047 9020 9048 /* Line 1806 of yacc.c */ 9021 #line 273 6"parser.yy"9049 #line 2737 "parser.yy" 9022 9050 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9023 9051 break; … … 9026 9054 9027 9055 /* Line 1806 of yacc.c */ 9028 #line 274 1"parser.yy"9056 #line 2742 "parser.yy" 9029 9057 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9030 9058 break; … … 9033 9061 9034 9062 /* Line 1806 of yacc.c */ 9035 #line 274 3"parser.yy"9063 #line 2744 "parser.yy" 9036 9064 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9037 9065 break; … … 9040 9068 9041 9069 /* Line 1806 of yacc.c */ 9042 #line 274 8"parser.yy"9070 #line 2749 "parser.yy" 9043 9071 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9044 9072 break; … … 9047 9075 9048 9076 /* Line 1806 of yacc.c */ 9049 #line 275 0"parser.yy"9077 #line 2751 "parser.yy" 9050 9078 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9051 9079 break; … … 9054 9082 9055 9083 /* Line 1806 of yacc.c */ 9056 #line 277 7"parser.yy"9084 #line 2778 "parser.yy" 9057 9085 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9058 9086 break; … … 9061 9089 9062 9090 /* Line 1806 of yacc.c */ 9063 #line 278 8"parser.yy"9091 #line 2789 "parser.yy" 9064 9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9065 9093 break; … … 9068 9096 9069 9097 /* Line 1806 of yacc.c */ 9070 #line 279 0"parser.yy"9098 #line 2791 "parser.yy" 9071 9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9072 9100 break; … … 9075 9103 9076 9104 /* Line 1806 of yacc.c */ 9077 #line 279 2"parser.yy"9105 #line 2793 "parser.yy" 9078 9106 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9079 9107 break; … … 9082 9110 9083 9111 /* Line 1806 of yacc.c */ 9084 #line 279 4"parser.yy"9112 #line 2795 "parser.yy" 9085 9113 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9086 9114 break; … … 9089 9117 9090 9118 /* Line 1806 of yacc.c */ 9091 #line 279 6"parser.yy"9119 #line 2797 "parser.yy" 9092 9120 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9093 9121 break; … … 9096 9124 9097 9125 /* Line 1806 of yacc.c */ 9098 #line 279 8"parser.yy"9126 #line 2799 "parser.yy" 9099 9127 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9100 9128 break; … … 9103 9131 9104 9132 /* Line 1806 of yacc.c */ 9105 #line 280 5"parser.yy"9133 #line 2806 "parser.yy" 9106 9134 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9107 9135 break; … … 9110 9138 9111 9139 /* Line 1806 of yacc.c */ 9112 #line 280 7"parser.yy"9140 #line 2808 "parser.yy" 9113 9141 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9114 9142 break; … … 9117 9145 9118 9146 /* Line 1806 of yacc.c */ 9119 #line 28 09"parser.yy"9147 #line 2810 "parser.yy" 9120 9148 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9121 9149 break; … … 9124 9152 9125 9153 /* Line 1806 of yacc.c */ 9126 #line 281 1"parser.yy"9154 #line 2812 "parser.yy" 9127 9155 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9128 9156 break; … … 9131 9159 9132 9160 /* Line 1806 of yacc.c */ 9133 #line 281 3"parser.yy"9161 #line 2814 "parser.yy" 9134 9162 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9135 9163 break; … … 9138 9166 9139 9167 /* Line 1806 of yacc.c */ 9140 #line 281 5"parser.yy"9168 #line 2816 "parser.yy" 9141 9169 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9142 9170 break; … … 9145 9173 9146 9174 /* Line 1806 of yacc.c */ 9147 #line 282 0"parser.yy"9175 #line 2821 "parser.yy" 9148 9176 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9149 9177 break; … … 9152 9180 9153 9181 /* Line 1806 of yacc.c */ 9154 #line 282 5"parser.yy"9182 #line 2826 "parser.yy" 9155 9183 { (yyval.decl) = DeclarationNode::newFunction( nullptr, DeclarationNode::newTuple( nullptr ), (yyvsp[(4) - (5)].decl), nullptr ); } 9156 9184 break; … … 9159 9187 9160 9188 /* Line 1806 of yacc.c */ 9161 #line 282 7"parser.yy"9189 #line 2828 "parser.yy" 9162 9190 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9163 9191 break; … … 9166 9194 9167 9195 /* Line 1806 of yacc.c */ 9168 #line 28 29"parser.yy"9196 #line 2830 "parser.yy" 9169 9197 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9170 9198 break; … … 9173 9201 9174 9202 /* Line 1806 of yacc.c */ 9175 #line 285 3"parser.yy"9203 #line 2854 "parser.yy" 9176 9204 { (yyval.en) = 0; } 9177 9205 break; … … 9180 9208 9181 9209 /* Line 1806 of yacc.c */ 9182 #line 285 5"parser.yy"9210 #line 2856 "parser.yy" 9183 9211 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9184 9212 break; … … 9187 9215 9188 9216 /* Line 1806 of yacc.c */ 9189 #line 9 190"Parser/parser.cc"9217 #line 9218 "Parser/parser.cc" 9190 9218 default: break; 9191 9219 } … … 9418 9446 9419 9447 /* Line 2067 of yacc.c */ 9420 #line 285 8"parser.yy"9448 #line 2859 "parser.yy" 9421 9449 9422 9450 // ----end of grammar----
Note:
See TracChangeset
for help on using the changeset viewer.