Changes in src/Parser/parser.cc [1b29996:8780e30]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (550 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r1b29996 r8780e30 1026 1026 static const yytype_uint16 yyrline[] = 1027 1027 { 1028 0, 30 6, 306, 310, 317, 318, 319, 320, 321, 325,1029 32 6, 327, 331, 332, 336, 337, 341, 342, 346, 350,1030 35 1, 362, 364, 366, 367, 369, 374, 375, 381, 383,1031 38 5, 386, 387, 389, 390, 392, 394, 396, 405, 406,1032 41 2, 413, 417, 418, 422, 424, 426, 428, 430, 432,1033 43 4, 439, 441, 443, 447, 449, 453, 456, 458, 460,1034 4 65, 478, 480, 482, 484, 486, 488, 490, 492, 494,1035 496, 498, 505, 506, 512, 513, 514, 515, 519, 520,1036 5 27, 528, 530, 532, 537, 538, 540, 545, 546, 548,1037 55 3, 554, 556, 558, 560, 565, 566, 568, 573, 574,1038 5 79, 580, 585, 586, 591, 592, 597, 598, 603, 604,1039 6 07, 614, 619, 620, 628, 629, 633, 634, 635, 636,1040 6 37, 638, 639, 640, 641, 642, 643, 644, 654, 656,1041 66 1, 662, 667, 668, 674, 675, 681, 682, 683, 684,1042 6 85, 686, 687, 688, 689, 699, 706, 708, 718, 719,1043 7 24, 726, 732, 734, 738, 739, 744, 749, 752, 754,1044 7 56, 766, 768, 779, 780, 782, 786, 788, 792, 793,1045 798, 799, 803, 808, 809, 813, 815, 821, 822, 826,1046 8 28, 830, 832, 838, 839, 843, 845, 850, 852, 854,1047 8 59, 861, 866, 868, 872, 875, 879, 882, 886, 888,1048 89 0, 892, 897, 899, 901, 906, 908, 910, 912, 914,1049 9 19, 921, 923, 925, 930, 942, 943, 948, 950, 955,1050 9 59, 961, 963, 965, 967, 973, 974, 980, 981, 985,1051 9 86, 991, 993, 999, 1000, 1002, 1007, 1012, 1022, 1024,1052 10 28, 1029, 1034, 1036, 1040, 1041, 1045, 1047, 1051, 1052,1053 10 56, 1057, 1061, 1062, 1077, 1078, 1079, 1080, 1081, 1085,1054 109 0, 1097, 1107, 1112, 1117, 1125, 1130, 1135, 1140, 1145,1055 11 75, 1180, 1187, 1189, 1196, 1201, 1206, 1217, 1222, 1227,1056 123 2, 1237, 1246, 1251, 1259, 1260, 1261, 1262, 1268, 1273,1057 128 1, 1282, 1283, 1284, 1288, 1289, 1290, 1291, 1296, 1297,1058 13 06, 1307, 1312, 1313, 1318, 1320, 1322, 1324, 1326, 1329,1059 13 28, 1340, 1341, 1343, 1353, 1354, 1359, 1361, 1363, 1365,1060 13 67, 1370, 1372, 1375, 1380, 1382, 1384, 1386, 1388, 1390,1061 139 2, 1394, 1396, 1398, 1400, 1402, 1404, 1410, 1411, 1413,1062 14 15, 1417, 1422, 1423, 1429, 1430, 1432, 1434, 1439, 1441,1063 144 3, 1445, 1450, 1451, 1453, 1455, 1460, 1461, 1463, 1468,1064 14 69, 1471, 1473, 1478, 1480, 1482, 1487, 1488, 1492, 1494,1065 150 0, 1499, 1503, 1505, 1510, 1512, 1518, 1519, 1524, 1525,1066 15 27, 1528, 1537, 1538, 1540, 1542, 1547, 1549, 1555, 1556,1067 15 58, 1561, 1564, 1569, 1570, 1575, 1580, 1584, 1586, 1592,1068 159 1, 1598, 1600, 1606, 1607, 1615, 1616, 1620, 1621, 1622,1069 16 24, 1626, 1633, 1634, 1636, 1638, 1643, 1644, 1650, 1651,1070 16 55, 1656, 1661, 1662, 1663, 1665, 1673, 1674, 1676, 1679,1071 168 1, 1685, 1686, 1687, 1689, 1691, 1695, 1700, 1708, 1709,1072 17 18, 1720, 1725, 1726, 1727, 1731, 1732, 1733, 1737, 1738,1073 17 39, 1743, 1744, 1745, 1750, 1751, 1752, 1753, 1759, 1760,1074 176 2, 1767, 1768, 1773, 1774, 1775, 1776, 1777, 1792, 1793,1075 1 798, 1799, 1805, 1807, 1810, 1812, 1814, 1837, 1838, 1840,1076 184 2, 1847, 1848, 1850, 1855, 1860, 1861, 1867, 1866, 1870,1077 18 74, 1876, 1878, 1884, 1885, 1890, 1895, 1897, 1902, 1904,1078 19 05, 1907, 1912, 1914, 1916, 1921, 1923, 1928, 1933, 1941,1079 19 47, 1946, 1960, 1961, 1966, 1967, 1971, 1976, 1981, 1989,1080 1994, 2005, 2006, 2011, 2012, 2018, 2019, 2023, 2024, 2025,1081 20 28, 2027, 2038, 2047, 2053, 2059, 2068, 2074, 2080, 2086,1082 209 2, 2100, 2106, 2114, 2120, 2129, 2130, 2131, 2135, 2139,1083 214 1, 2146, 2147, 2151, 2152, 2157, 2163, 2164, 2167, 2169,1084 217 0, 2174, 2175, 2176, 2177, 2211, 2213, 2214, 2216, 2221,1085 22 26, 2231, 2233, 2235, 2240, 2242, 2244, 2246, 2251, 2253,1086 226 2, 2264, 2265, 2270, 2272, 2274, 2279, 2281, 2283, 2288,1087 229 0, 2292, 2301, 2302, 2303, 2307, 2309, 2311, 2316, 2318,1088 232 0, 2325, 2327, 2329, 2344, 2346, 2347, 2349, 2354, 2355,1089 236 0, 2362, 2364, 2369, 2371, 2373, 2375, 2380, 2382, 2384,1090 2 394, 2396, 2397, 2399, 2404, 2406, 2408, 2413, 2415, 2417,1091 24 19, 2424, 2426, 2428, 2459, 2461, 2462, 2464, 2469, 2474,1092 248 2, 2484, 2486, 2491, 2493, 2498, 2500, 2514, 2515, 2517,1093 252 2, 2524, 2526, 2528, 2530, 2535, 2536, 2538, 2540, 2545,1094 25 47, 2549, 2555, 2557, 2559, 2563, 2565, 2567, 2569, 2583,1095 25 84, 2586, 2591, 2593, 2595, 2597, 2599, 2604, 2605, 2607,1096 26 09, 2614, 2616, 2618, 2624, 2625, 2627, 2636, 2639, 2641,1097 26 44, 2646, 2648, 2661, 2662, 2664, 2669, 2671, 2673, 2675,1098 26 77, 2682, 2683, 2685, 2687, 2692, 2694, 2702, 2703, 2704,1099 27 09, 2710, 2714, 2716, 2718, 2720, 2722, 2724, 2731, 2733,1100 27 35, 2737, 2739, 2742, 2744, 2746, 2748, 2750, 2755, 2757,1101 27 59, 2764, 2790, 2791, 2793, 2797, 2798, 2802, 2804, 2806,1102 28 08, 2810, 2812, 2819, 2821, 2823, 2825, 2827, 2829, 2834,1103 284 1, 2843, 2861, 2863, 2868, 28691028 0, 305, 305, 309, 316, 317, 318, 319, 320, 324, 1029 325, 326, 330, 331, 335, 336, 340, 341, 345, 349, 1030 350, 361, 363, 365, 366, 368, 373, 374, 380, 382, 1031 384, 386, 388, 390, 392, 394, 396, 398, 407, 408, 1032 414, 415, 419, 420, 424, 425, 427, 429, 431, 433, 1033 435, 440, 442, 444, 450, 451, 459, 462, 464, 466, 1034 471, 484, 486, 488, 490, 492, 494, 496, 498, 500, 1035 502, 504, 511, 512, 518, 519, 520, 521, 525, 526, 1036 533, 534, 536, 538, 543, 544, 546, 551, 552, 554, 1037 559, 560, 562, 564, 566, 571, 572, 574, 579, 580, 1038 585, 586, 591, 592, 597, 598, 603, 604, 609, 610, 1039 613, 620, 625, 626, 634, 635, 639, 640, 641, 642, 1040 643, 644, 645, 646, 647, 648, 649, 650, 660, 662, 1041 667, 668, 673, 674, 680, 681, 687, 688, 689, 690, 1042 691, 692, 693, 694, 695, 705, 712, 714, 724, 725, 1043 730, 732, 738, 740, 744, 745, 750, 755, 758, 760, 1044 762, 772, 774, 785, 786, 788, 792, 794, 798, 799, 1045 804, 805, 809, 814, 815, 819, 821, 827, 828, 832, 1046 834, 836, 838, 844, 845, 849, 851, 856, 858, 860, 1047 865, 867, 872, 874, 878, 881, 885, 888, 892, 894, 1048 896, 898, 903, 905, 907, 912, 914, 916, 918, 920, 1049 925, 927, 929, 931, 936, 948, 949, 954, 956, 961, 1050 965, 967, 969, 971, 973, 979, 980, 986, 987, 991, 1051 992, 997, 999, 1005, 1006, 1008, 1013, 1018, 1028, 1030, 1052 1034, 1035, 1040, 1042, 1046, 1047, 1051, 1053, 1057, 1058, 1053 1062, 1063, 1067, 1068, 1083, 1084, 1085, 1086, 1087, 1091, 1054 1096, 1103, 1113, 1118, 1123, 1131, 1136, 1141, 1146, 1151, 1055 1181, 1186, 1193, 1195, 1202, 1207, 1212, 1223, 1228, 1233, 1056 1238, 1243, 1252, 1257, 1265, 1266, 1267, 1268, 1274, 1279, 1057 1287, 1288, 1289, 1290, 1294, 1295, 1296, 1297, 1302, 1303, 1058 1312, 1313, 1318, 1319, 1324, 1326, 1328, 1330, 1332, 1335, 1059 1334, 1346, 1347, 1349, 1359, 1360, 1365, 1367, 1369, 1371, 1060 1373, 1376, 1378, 1381, 1386, 1388, 1390, 1392, 1394, 1396, 1061 1398, 1400, 1402, 1404, 1406, 1408, 1410, 1416, 1417, 1419, 1062 1421, 1423, 1428, 1429, 1435, 1436, 1438, 1440, 1445, 1447, 1063 1449, 1451, 1456, 1457, 1459, 1461, 1466, 1467, 1469, 1474, 1064 1475, 1477, 1479, 1484, 1486, 1488, 1493, 1494, 1498, 1500, 1065 1506, 1505, 1509, 1511, 1516, 1518, 1524, 1525, 1530, 1531, 1066 1533, 1534, 1543, 1544, 1546, 1548, 1553, 1555, 1561, 1562, 1067 1564, 1567, 1570, 1575, 1576, 1581, 1586, 1590, 1592, 1598, 1068 1597, 1604, 1606, 1612, 1613, 1621, 1622, 1626, 1627, 1628, 1069 1630, 1632, 1639, 1640, 1642, 1644, 1649, 1650, 1656, 1657, 1070 1661, 1662, 1667, 1668, 1669, 1671, 1679, 1680, 1682, 1685, 1071 1687, 1691, 1692, 1693, 1695, 1697, 1701, 1706, 1714, 1715, 1072 1724, 1726, 1731, 1732, 1733, 1737, 1738, 1739, 1743, 1744, 1073 1745, 1749, 1750, 1751, 1756, 1757, 1758, 1759, 1765, 1766, 1074 1768, 1773, 1774, 1779, 1780, 1781, 1782, 1783, 1798, 1799, 1075 1804, 1805, 1811, 1813, 1816, 1818, 1820, 1843, 1844, 1846, 1076 1848, 1853, 1854, 1856, 1861, 1866, 1867, 1873, 1872, 1876, 1077 1880, 1882, 1884, 1890, 1891, 1896, 1901, 1903, 1908, 1910, 1078 1911, 1913, 1918, 1920, 1922, 1927, 1929, 1934, 1939, 1947, 1079 1953, 1952, 1966, 1967, 1972, 1973, 1977, 1982, 1987, 1995, 1080 2000, 2011, 2012, 2017, 2018, 2024, 2025, 2029, 2030, 2031, 1081 2034, 2033, 2044, 2053, 2059, 2065, 2074, 2080, 2086, 2092, 1082 2098, 2106, 2112, 2120, 2126, 2135, 2136, 2137, 2141, 2145, 1083 2147, 2152, 2153, 2157, 2158, 2163, 2169, 2170, 2173, 2175, 1084 2176, 2180, 2181, 2182, 2183, 2217, 2219, 2220, 2222, 2227, 1085 2232, 2237, 2239, 2241, 2246, 2248, 2250, 2252, 2257, 2259, 1086 2268, 2270, 2271, 2276, 2278, 2280, 2285, 2287, 2289, 2294, 1087 2296, 2298, 2307, 2308, 2309, 2313, 2315, 2317, 2322, 2324, 1088 2326, 2331, 2333, 2335, 2350, 2352, 2353, 2355, 2360, 2361, 1089 2366, 2368, 2370, 2375, 2377, 2379, 2381, 2386, 2388, 2390, 1090 2400, 2402, 2403, 2405, 2410, 2412, 2414, 2419, 2421, 2423, 1091 2425, 2430, 2432, 2434, 2465, 2467, 2468, 2470, 2475, 2480, 1092 2488, 2490, 2492, 2497, 2499, 2504, 2506, 2520, 2521, 2523, 1093 2528, 2530, 2532, 2534, 2536, 2541, 2542, 2544, 2546, 2551, 1094 2553, 2555, 2561, 2563, 2565, 2569, 2571, 2573, 2575, 2589, 1095 2590, 2592, 2597, 2599, 2601, 2603, 2605, 2610, 2611, 2613, 1096 2615, 2620, 2622, 2624, 2630, 2631, 2633, 2642, 2645, 2647, 1097 2650, 2652, 2654, 2667, 2668, 2670, 2675, 2677, 2679, 2681, 1098 2683, 2688, 2689, 2691, 2693, 2698, 2700, 2708, 2709, 2710, 1099 2715, 2716, 2720, 2722, 2724, 2726, 2728, 2730, 2737, 2739, 1100 2741, 2743, 2745, 2748, 2750, 2752, 2754, 2756, 2761, 2763, 1101 2765, 2770, 2796, 2797, 2799, 2803, 2804, 2808, 2810, 2812, 1102 2814, 2816, 2818, 2825, 2827, 2829, 2831, 2833, 2835, 2840, 1103 2847, 2849, 2867, 2869, 2874, 2875 1104 1104 }; 1105 1105 #endif … … 4851 4851 4852 4852 /* Line 1806 of yacc.c */ 4853 #line 30 6"parser.yy"4853 #line 305 "parser.yy" 4854 4854 { typedefTable.enterScope(); } 4855 4855 break; … … 4858 4858 4859 4859 /* Line 1806 of yacc.c */ 4860 #line 3 10"parser.yy"4860 #line 309 "parser.yy" 4861 4861 { typedefTable.leaveScope(); } 4862 4862 break; … … 4865 4865 4866 4866 /* Line 1806 of yacc.c */ 4867 #line 316 "parser.yy" 4868 { (yyval.en) = new ExpressionNode( build_constantInteger( *(yyvsp[(1) - (1)].tok) ) ); } 4869 break; 4870 4871 case 5: 4872 4873 /* Line 1806 of yacc.c */ 4867 4874 #line 317 "parser.yy" 4868 { (yyval.en) = new ExpressionNode( build_constant Integer( *(yyvsp[(1) - (1)].tok) ) ); }4869 break; 4870 4871 case 5:4875 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); } 4876 break; 4877 4878 case 6: 4872 4879 4873 4880 /* Line 1806 of yacc.c */ … … 4876 4883 break; 4877 4884 4878 case 6:4885 case 7: 4879 4886 4880 4887 /* Line 1806 of yacc.c */ … … 4883 4890 break; 4884 4891 4885 case 7:4892 case 8: 4886 4893 4887 4894 /* Line 1806 of yacc.c */ 4888 4895 #line 320 "parser.yy" 4889 { (yyval.en) = new ExpressionNode( build_constantFloat( *(yyvsp[(1) - (1)].tok) ) ); }4890 break;4891 4892 case 8:4893 4894 /* Line 1806 of yacc.c */4895 #line 321 "parser.yy"4896 4896 { (yyval.en) = new ExpressionNode( build_constantChar( *(yyvsp[(1) - (1)].tok) ) ); } 4897 4897 break; … … 4900 4900 4901 4901 /* Line 1806 of yacc.c */ 4902 #line 34 6"parser.yy"4902 #line 345 "parser.yy" 4903 4903 { (yyval.constant) = build_constantStr( *(yyvsp[(1) - (1)].str) ); } 4904 4904 break; … … 4907 4907 4908 4908 /* Line 1806 of yacc.c */ 4909 #line 3 50"parser.yy"4909 #line 349 "parser.yy" 4910 4910 { (yyval.str) = (yyvsp[(1) - (1)].tok); } 4911 4911 break; … … 4914 4914 4915 4915 /* Line 1806 of yacc.c */ 4916 #line 35 2"parser.yy"4916 #line 351 "parser.yy" 4917 4917 { 4918 4918 appendStr( (yyvsp[(1) - (2)].str), (yyvsp[(2) - (2)].tok) ); // append 2nd juxtaposed string to 1st … … 4925 4925 4926 4926 /* Line 1806 of yacc.c */ 4927 #line 36 3"parser.yy"4927 #line 362 "parser.yy" 4928 4928 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4929 4929 break; … … 4932 4932 4933 4933 /* Line 1806 of yacc.c */ 4934 #line 36 5"parser.yy"4934 #line 364 "parser.yy" 4935 4935 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); } 4936 4936 break; … … 4939 4939 4940 4940 /* Line 1806 of yacc.c */ 4941 #line 36 8"parser.yy"4941 #line 367 "parser.yy" 4942 4942 { (yyval.en) = (yyvsp[(2) - (3)].en); } 4943 4943 break; … … 4946 4946 4947 4947 /* Line 1806 of yacc.c */ 4948 #line 3 70"parser.yy"4948 #line 369 "parser.yy" 4949 4949 { (yyval.en) = new ExpressionNode( build_valexpr( (yyvsp[(2) - (3)].sn) ) ); } 4950 4950 break; … … 4953 4953 4954 4954 /* Line 1806 of yacc.c */ 4955 #line 3 80"parser.yy"4955 #line 379 "parser.yy" 4956 4956 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Index, (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ) ); } 4957 4957 break; … … 4960 4960 4961 4961 /* Line 1806 of yacc.c */ 4962 #line 38 2"parser.yy"4962 #line 381 "parser.yy" 4963 4963 { (yyval.en) = new ExpressionNode( build_func( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ) ); } 4964 4964 break; … … 4967 4967 4968 4968 /* Line 1806 of yacc.c */ 4969 #line 38 4"parser.yy"4969 #line 383 "parser.yy" 4970 4970 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 4971 4971 break; 4972 4972 4973 case 30: 4974 4975 /* Line 1806 of yacc.c */ 4976 #line 385 "parser.yy" 4977 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 4978 break; 4979 4980 case 31: 4981 4982 /* Line 1806 of yacc.c */ 4983 #line 387 "parser.yy" 4984 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ) ) ); } 4985 break; 4986 4973 4987 case 32: 4974 4988 4975 4989 /* Line 1806 of yacc.c */ 4976 #line 38 8"parser.yy"4990 #line 389 "parser.yy" 4977 4991 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), build_varref( (yyvsp[(3) - (3)].tok) ) ) ); } 4978 4992 break; 4979 4993 4994 case 33: 4995 4996 /* Line 1806 of yacc.c */ 4997 #line 391 "parser.yy" 4998 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 4999 break; 5000 4980 5001 case 34: 4981 5002 4982 5003 /* Line 1806 of yacc.c */ 4983 #line 39 1"parser.yy"5004 #line 393 "parser.yy" 4984 5005 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::IncrPost, (yyvsp[(1) - (2)].en) ) ); } 4985 5006 break; … … 4988 5009 4989 5010 /* Line 1806 of yacc.c */ 4990 #line 39 3"parser.yy"5011 #line 395 "parser.yy" 4991 5012 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::DecrPost, (yyvsp[(1) - (2)].en) ) ); } 4992 5013 break; … … 4995 5016 4996 5017 /* Line 1806 of yacc.c */ 4997 #line 39 5"parser.yy"5018 #line 397 "parser.yy" 4998 5019 { (yyval.en) = new ExpressionNode( build_compoundLiteral( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ) ); } 4999 5020 break; … … 5002 5023 5003 5024 /* Line 1806 of yacc.c */ 5004 #line 39 7"parser.yy"5025 #line 399 "parser.yy" 5005 5026 { 5006 5027 Token fn; … … 5013 5034 5014 5035 /* Line 1806 of yacc.c */ 5015 #line 40 7"parser.yy"5036 #line 409 "parser.yy" 5016 5037 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 5017 5038 break; … … 5020 5041 5021 5042 /* Line 1806 of yacc.c */ 5022 #line 41 2"parser.yy"5043 #line 414 "parser.yy" 5023 5044 { (yyval.en) = 0; } 5024 5045 break; … … 5027 5048 5028 5049 /* Line 1806 of yacc.c */ 5029 #line 4 18"parser.yy"5050 #line 420 "parser.yy" 5030 5051 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5031 5052 break; 5032 5053 5033 case 44:5034 5035 /* Line 1806 of yacc.c */5036 #line 423 "parser.yy"5037 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (1)].tok) ) ); }5038 break;5039 5040 5054 case 45: 5041 5055 5042 5056 /* Line 1806 of yacc.c */ 5043 #line 42 5"parser.yy"5044 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(2) - (2)].en), build_varref( (yyvsp[(1) - (2)].tok) ) ) ); }5057 #line 426 "parser.yy" 5058 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (2)].tok) ) ), maybeMoveBuild<Expression>( (yyvsp[(2) - (2)].en) ) ) ); } 5045 5059 break; 5046 5060 … … 5048 5062 5049 5063 /* Line 1806 of yacc.c */ 5050 #line 42 7"parser.yy"5051 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(4) - (6)].en), build_varref( (yyvsp[(1) - (6)].tok) ) ) ); }5064 #line 428 "parser.yy" 5065 { (yyval.en) = new ExpressionNode( build_fieldSel( new ExpressionNode( build_field_name_REALDECIMALconstant( *(yyvsp[(1) - (6)].tok) ) ), build_tuple( (yyvsp[(4) - (6)].en) ) ) ); } 5052 5066 break; 5053 5067 … … 5055 5069 5056 5070 /* Line 1806 of yacc.c */ 5057 #line 4 29"parser.yy"5058 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[( 3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); }5071 #line 430 "parser.yy" 5072 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5059 5073 break; 5060 5074 … … 5062 5076 5063 5077 /* Line 1806 of yacc.c */ 5064 #line 43 1"parser.yy"5065 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[( 5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); }5078 #line 432 "parser.yy" 5079 { (yyval.en) = new ExpressionNode( build_fieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5066 5080 break; 5067 5081 … … 5069 5083 5070 5084 /* Line 1806 of yacc.c */ 5071 #line 43 3"parser.yy"5072 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[( 3) - (3)].en), build_varref( (yyvsp[(1) - (3)].tok) ) ) ); }5085 #line 434 "parser.yy" 5086 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (3)].en), maybeMoveBuild<Expression>( (yyvsp[(3) - (3)].en) ) ) ); } 5073 5087 break; 5074 5088 … … 5076 5090 5077 5091 /* Line 1806 of yacc.c */ 5078 #line 43 5"parser.yy"5079 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[( 5) - (7)].en), build_varref( (yyvsp[(1) - (7)].tok) ) ) ); }5092 #line 436 "parser.yy" 5093 { (yyval.en) = new ExpressionNode( build_pfieldSel( (yyvsp[(1) - (7)].en), build_tuple( (yyvsp[(5) - (7)].en) ) ) ); } 5080 5094 break; 5081 5095 … … 5083 5097 5084 5098 /* Line 1806 of yacc.c */ 5085 #line 44 0"parser.yy"5086 { (yyval. tok) = (yyvsp[(1) - (2)].tok); }5099 #line 441 "parser.yy" 5100 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_constantInteger( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5087 5101 break; 5088 5102 … … 5090 5104 5091 5105 /* Line 1806 of yacc.c */ 5092 #line 44 2"parser.yy"5093 { (yyval. tok) = (yyvsp[(1) - (2)].tok); }5106 #line 443 "parser.yy" 5107 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_field_name_FLOATINGconstant( *(yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5094 5108 break; 5095 5109 … … 5097 5111 5098 5112 /* Line 1806 of yacc.c */ 5099 #line 444 "parser.yy" 5100 { (yyval.tok) = (yyvsp[(1) - (2)].tok); } 5113 #line 445 "parser.yy" 5114 { (yyval.en) = new ExpressionNode( build_field_name_fraction_constants( build_varref( (yyvsp[(1) - (2)].tok) ), (yyvsp[(2) - (2)].en) ) ); } 5115 break; 5116 5117 case 54: 5118 5119 /* Line 1806 of yacc.c */ 5120 #line 450 "parser.yy" 5121 { (yyval.en) = nullptr; } 5122 break; 5123 5124 case 55: 5125 5126 /* Line 1806 of yacc.c */ 5127 #line 452 "parser.yy" 5128 { 5129 Expression * constant = build_field_name_REALFRACTIONconstant( *(yyvsp[(2) - (2)].tok) ); 5130 (yyval.en) = (yyvsp[(1) - (2)].en) != nullptr ? new ExpressionNode( build_fieldSel( (yyvsp[(1) - (2)].en), constant ) ) : new ExpressionNode( constant ); 5131 } 5101 5132 break; 5102 5133 … … 5104 5135 5105 5136 /* Line 1806 of yacc.c */ 5106 #line 4 57"parser.yy"5137 #line 463 "parser.yy" 5107 5138 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5108 5139 break; … … 5111 5142 5112 5143 /* Line 1806 of yacc.c */ 5113 #line 4 59"parser.yy"5144 #line 465 "parser.yy" 5114 5145 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 5115 5146 break; … … 5118 5149 5119 5150 /* Line 1806 of yacc.c */ 5120 #line 46 1"parser.yy"5151 #line 467 "parser.yy" 5121 5152 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5122 5153 break; … … 5125 5156 5126 5157 /* Line 1806 of yacc.c */ 5127 #line 4 66"parser.yy"5158 #line 472 "parser.yy" 5128 5159 { 5129 5160 switch ( (yyvsp[(1) - (2)].op) ) { … … 5143 5174 5144 5175 /* Line 1806 of yacc.c */ 5145 #line 4 79"parser.yy"5176 #line 485 "parser.yy" 5146 5177 { (yyval.en) = new ExpressionNode( build_unary_val( (yyvsp[(1) - (2)].op), (yyvsp[(2) - (2)].en) ) ); } 5147 5178 break; … … 5150 5181 5151 5182 /* Line 1806 of yacc.c */ 5152 #line 48 1"parser.yy"5183 #line 487 "parser.yy" 5153 5184 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Incr, (yyvsp[(2) - (2)].en) ) ); } 5154 5185 break; … … 5157 5188 5158 5189 /* Line 1806 of yacc.c */ 5159 #line 48 3"parser.yy"5190 #line 489 "parser.yy" 5160 5191 { (yyval.en) = new ExpressionNode( build_unary_ptr( OperKinds::Decr, (yyvsp[(2) - (2)].en) ) ); } 5161 5192 break; … … 5164 5195 5165 5196 /* Line 1806 of yacc.c */ 5166 #line 4 85"parser.yy"5197 #line 491 "parser.yy" 5167 5198 { (yyval.en) = new ExpressionNode( build_sizeOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5168 5199 break; … … 5171 5202 5172 5203 /* Line 1806 of yacc.c */ 5173 #line 4 87"parser.yy"5204 #line 493 "parser.yy" 5174 5205 { (yyval.en) = new ExpressionNode( build_sizeOftype( (yyvsp[(3) - (4)].decl) ) ); } 5175 5206 break; … … 5178 5209 5179 5210 /* Line 1806 of yacc.c */ 5180 #line 4 89"parser.yy"5211 #line 495 "parser.yy" 5181 5212 { (yyval.en) = new ExpressionNode( build_alignOfexpr( (yyvsp[(2) - (2)].en) ) ); } 5182 5213 break; … … 5185 5216 5186 5217 /* Line 1806 of yacc.c */ 5187 #line 49 1"parser.yy"5218 #line 497 "parser.yy" 5188 5219 { (yyval.en) = new ExpressionNode( build_alignOftype( (yyvsp[(3) - (4)].decl) ) ); } 5189 5220 break; … … 5192 5223 5193 5224 /* Line 1806 of yacc.c */ 5194 #line 49 3"parser.yy"5225 #line 499 "parser.yy" 5195 5226 { (yyval.en) = new ExpressionNode( build_offsetOf( (yyvsp[(3) - (6)].decl), build_varref( (yyvsp[(5) - (6)].tok) ) ) ); } 5196 5227 break; … … 5199 5230 5200 5231 /* Line 1806 of yacc.c */ 5201 #line 495"parser.yy"5232 #line 501 "parser.yy" 5202 5233 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (1)].tok) ), nullptr ) ); } 5203 5234 break; … … 5206 5237 5207 5238 /* Line 1806 of yacc.c */ 5208 #line 497"parser.yy"5239 #line 503 "parser.yy" 5209 5240 { (yyval.en) = new ExpressionNode( build_attrexpr( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ) ); } 5210 5241 break; … … 5213 5244 5214 5245 /* Line 1806 of yacc.c */ 5215 #line 499"parser.yy"5246 #line 505 "parser.yy" 5216 5247 { (yyval.en) = new ExpressionNode( build_attrtype( build_varref( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].decl) ) ); } 5217 5248 break; … … 5220 5251 5221 5252 /* Line 1806 of yacc.c */ 5222 #line 5 05"parser.yy"5253 #line 511 "parser.yy" 5223 5254 { (yyval.op) = OperKinds::PointTo; } 5224 5255 break; … … 5227 5258 5228 5259 /* Line 1806 of yacc.c */ 5229 #line 5 06"parser.yy"5260 #line 512 "parser.yy" 5230 5261 { (yyval.op) = OperKinds::AddressOf; } 5231 5262 break; … … 5234 5265 5235 5266 /* Line 1806 of yacc.c */ 5236 #line 51 2"parser.yy"5267 #line 518 "parser.yy" 5237 5268 { (yyval.op) = OperKinds::UnPlus; } 5238 5269 break; … … 5241 5272 5242 5273 /* Line 1806 of yacc.c */ 5243 #line 51 3"parser.yy"5274 #line 519 "parser.yy" 5244 5275 { (yyval.op) = OperKinds::UnMinus; } 5245 5276 break; … … 5248 5279 5249 5280 /* Line 1806 of yacc.c */ 5250 #line 5 14"parser.yy"5281 #line 520 "parser.yy" 5251 5282 { (yyval.op) = OperKinds::Neg; } 5252 5283 break; … … 5255 5286 5256 5287 /* Line 1806 of yacc.c */ 5257 #line 5 15"parser.yy"5288 #line 521 "parser.yy" 5258 5289 { (yyval.op) = OperKinds::BitNeg; } 5259 5290 break; … … 5262 5293 5263 5294 /* Line 1806 of yacc.c */ 5264 #line 52 1"parser.yy"5295 #line 527 "parser.yy" 5265 5296 { (yyval.en) = new ExpressionNode( build_cast( (yyvsp[(2) - (4)].decl), (yyvsp[(4) - (4)].en) ) ); } 5266 5297 break; … … 5269 5300 5270 5301 /* Line 1806 of yacc.c */ 5271 #line 5 29"parser.yy"5302 #line 535 "parser.yy" 5272 5303 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mul, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5273 5304 break; … … 5276 5307 5277 5308 /* Line 1806 of yacc.c */ 5278 #line 53 1"parser.yy"5309 #line 537 "parser.yy" 5279 5310 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Div, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5280 5311 break; … … 5283 5314 5284 5315 /* Line 1806 of yacc.c */ 5285 #line 53 3"parser.yy"5316 #line 539 "parser.yy" 5286 5317 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Mod, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5287 5318 break; … … 5290 5321 5291 5322 /* Line 1806 of yacc.c */ 5292 #line 5 39"parser.yy"5323 #line 545 "parser.yy" 5293 5324 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Plus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5294 5325 break; … … 5297 5328 5298 5329 /* Line 1806 of yacc.c */ 5299 #line 54 1"parser.yy"5330 #line 547 "parser.yy" 5300 5331 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Minus, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5301 5332 break; … … 5304 5335 5305 5336 /* Line 1806 of yacc.c */ 5306 #line 5 47"parser.yy"5337 #line 553 "parser.yy" 5307 5338 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5308 5339 break; … … 5311 5342 5312 5343 /* Line 1806 of yacc.c */ 5313 #line 5 49"parser.yy"5344 #line 555 "parser.yy" 5314 5345 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::RShift, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5315 5346 break; … … 5318 5349 5319 5350 /* Line 1806 of yacc.c */ 5320 #line 5 55"parser.yy"5351 #line 561 "parser.yy" 5321 5352 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5322 5353 break; … … 5325 5356 5326 5357 /* Line 1806 of yacc.c */ 5327 #line 5 57"parser.yy"5358 #line 563 "parser.yy" 5328 5359 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5329 5360 break; … … 5332 5363 5333 5364 /* Line 1806 of yacc.c */ 5334 #line 5 59"parser.yy"5365 #line 565 "parser.yy" 5335 5366 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::LEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5336 5367 break; … … 5339 5370 5340 5371 /* Line 1806 of yacc.c */ 5341 #line 56 1"parser.yy"5372 #line 567 "parser.yy" 5342 5373 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::GEThan, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5343 5374 break; … … 5346 5377 5347 5378 /* Line 1806 of yacc.c */ 5348 #line 5 67"parser.yy"5379 #line 573 "parser.yy" 5349 5380 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Eq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5350 5381 break; … … 5353 5384 5354 5385 /* Line 1806 of yacc.c */ 5355 #line 5 69"parser.yy"5386 #line 575 "parser.yy" 5356 5387 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Neq, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5357 5388 break; … … 5360 5391 5361 5392 /* Line 1806 of yacc.c */ 5362 #line 5 75"parser.yy"5393 #line 581 "parser.yy" 5363 5394 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitAnd, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5364 5395 break; … … 5367 5398 5368 5399 /* Line 1806 of yacc.c */ 5369 #line 58 1"parser.yy"5400 #line 587 "parser.yy" 5370 5401 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::Xor, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5371 5402 break; … … 5374 5405 5375 5406 /* Line 1806 of yacc.c */ 5376 #line 5 87"parser.yy"5407 #line 593 "parser.yy" 5377 5408 { (yyval.en) = new ExpressionNode( build_binary_val( OperKinds::BitOr, (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5378 5409 break; … … 5381 5412 5382 5413 /* Line 1806 of yacc.c */ 5383 #line 59 3"parser.yy"5414 #line 599 "parser.yy" 5384 5415 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), true ) ); } 5385 5416 break; … … 5388 5419 5389 5420 /* Line 1806 of yacc.c */ 5390 #line 599"parser.yy"5421 #line 605 "parser.yy" 5391 5422 { (yyval.en) = new ExpressionNode( build_and_or( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en), false ) ); } 5392 5423 break; … … 5395 5426 5396 5427 /* Line 1806 of yacc.c */ 5397 #line 6 05"parser.yy"5428 #line 611 "parser.yy" 5398 5429 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (5)].en), (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].en) ) ); } 5399 5430 break; … … 5402 5433 5403 5434 /* Line 1806 of yacc.c */ 5404 #line 6 08"parser.yy"5435 #line 614 "parser.yy" 5405 5436 { (yyval.en) = new ExpressionNode( build_cond( (yyvsp[(1) - (4)].en), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ) ); } 5406 5437 break; … … 5409 5440 5410 5441 /* Line 1806 of yacc.c */ 5411 #line 62 1"parser.yy"5442 #line 627 "parser.yy" 5412 5443 { (yyval.en) = new ExpressionNode( build_binary_ptr( (yyvsp[(2) - (3)].op), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5413 5444 break; … … 5416 5447 5417 5448 /* Line 1806 of yacc.c */ 5418 #line 6 28"parser.yy"5449 #line 634 "parser.yy" 5419 5450 { (yyval.en) = nullptr; } 5420 5451 break; … … 5423 5454 5424 5455 /* Line 1806 of yacc.c */ 5425 #line 63 3"parser.yy"5456 #line 639 "parser.yy" 5426 5457 { (yyval.op) = OperKinds::Assign; } 5427 5458 break; … … 5430 5461 5431 5462 /* Line 1806 of yacc.c */ 5432 #line 6 34"parser.yy"5463 #line 640 "parser.yy" 5433 5464 { (yyval.op) = OperKinds::AtAssn; } 5434 5465 break; … … 5437 5468 5438 5469 /* Line 1806 of yacc.c */ 5439 #line 6 35"parser.yy"5470 #line 641 "parser.yy" 5440 5471 { (yyval.op) = OperKinds::MulAssn; } 5441 5472 break; … … 5444 5475 5445 5476 /* Line 1806 of yacc.c */ 5446 #line 6 36"parser.yy"5477 #line 642 "parser.yy" 5447 5478 { (yyval.op) = OperKinds::DivAssn; } 5448 5479 break; … … 5451 5482 5452 5483 /* Line 1806 of yacc.c */ 5453 #line 6 37"parser.yy"5484 #line 643 "parser.yy" 5454 5485 { (yyval.op) = OperKinds::ModAssn; } 5455 5486 break; … … 5458 5489 5459 5490 /* Line 1806 of yacc.c */ 5460 #line 6 38"parser.yy"5491 #line 644 "parser.yy" 5461 5492 { (yyval.op) = OperKinds::PlusAssn; } 5462 5493 break; … … 5465 5496 5466 5497 /* Line 1806 of yacc.c */ 5467 #line 6 39"parser.yy"5498 #line 645 "parser.yy" 5468 5499 { (yyval.op) = OperKinds::MinusAssn; } 5469 5500 break; … … 5472 5503 5473 5504 /* Line 1806 of yacc.c */ 5474 #line 64 0"parser.yy"5505 #line 646 "parser.yy" 5475 5506 { (yyval.op) = OperKinds::LSAssn; } 5476 5507 break; … … 5479 5510 5480 5511 /* Line 1806 of yacc.c */ 5481 #line 64 1"parser.yy"5512 #line 647 "parser.yy" 5482 5513 { (yyval.op) = OperKinds::RSAssn; } 5483 5514 break; … … 5486 5517 5487 5518 /* Line 1806 of yacc.c */ 5488 #line 64 2"parser.yy"5519 #line 648 "parser.yy" 5489 5520 { (yyval.op) = OperKinds::AndAssn; } 5490 5521 break; … … 5493 5524 5494 5525 /* Line 1806 of yacc.c */ 5495 #line 64 3"parser.yy"5526 #line 649 "parser.yy" 5496 5527 { (yyval.op) = OperKinds::ERAssn; } 5497 5528 break; … … 5500 5531 5501 5532 /* Line 1806 of yacc.c */ 5502 #line 6 44"parser.yy"5533 #line 650 "parser.yy" 5503 5534 { (yyval.op) = OperKinds::OrAssn; } 5504 5535 break; … … 5507 5538 5508 5539 /* Line 1806 of yacc.c */ 5509 #line 6 55"parser.yy"5540 #line 661 "parser.yy" 5510 5541 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(new ExpressionNode( nullptr ) )->set_last( (yyvsp[(4) - (6)].en) ) ) ); } 5511 5542 break; … … 5514 5545 5515 5546 /* Line 1806 of yacc.c */ 5516 #line 6 57"parser.yy"5547 #line 663 "parser.yy" 5517 5548 { (yyval.en) = new ExpressionNode( build_tuple( (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_last( (yyvsp[(5) - (7)].en) ) ) ); } 5518 5549 break; … … 5521 5552 5522 5553 /* Line 1806 of yacc.c */ 5523 #line 66 3"parser.yy"5554 #line 669 "parser.yy" 5524 5555 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 5525 5556 break; … … 5528 5559 5529 5560 /* Line 1806 of yacc.c */ 5530 #line 6 69"parser.yy"5561 #line 675 "parser.yy" 5531 5562 { (yyval.en) = new ExpressionNode( build_comma( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5532 5563 break; … … 5535 5566 5536 5567 /* Line 1806 of yacc.c */ 5537 #line 6 74"parser.yy"5568 #line 680 "parser.yy" 5538 5569 { (yyval.en) = 0; } 5539 5570 break; … … 5542 5573 5543 5574 /* Line 1806 of yacc.c */ 5544 #line 68 3"parser.yy"5575 #line 689 "parser.yy" 5545 5576 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5546 5577 break; … … 5549 5580 5550 5581 /* Line 1806 of yacc.c */ 5551 #line 69 0"parser.yy"5582 #line 696 "parser.yy" 5552 5583 { 5553 5584 Token fn; … … 5560 5591 5561 5592 /* Line 1806 of yacc.c */ 5562 #line 70 0"parser.yy"5593 #line 706 "parser.yy" 5563 5594 { 5564 5595 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5569 5600 5570 5601 /* Line 1806 of yacc.c */ 5571 #line 7 07"parser.yy"5602 #line 713 "parser.yy" 5572 5603 { (yyval.sn) = new StatementNode( build_compound( (StatementNode *)0 ) ); } 5573 5604 break; … … 5576 5607 5577 5608 /* Line 1806 of yacc.c */ 5578 #line 7 14"parser.yy"5609 #line 720 "parser.yy" 5579 5610 { (yyval.sn) = new StatementNode( build_compound( (yyvsp[(5) - (7)].sn) ) ); } 5580 5611 break; … … 5583 5614 5584 5615 /* Line 1806 of yacc.c */ 5585 #line 72 0"parser.yy"5616 #line 726 "parser.yy" 5586 5617 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5587 5618 break; … … 5590 5621 5591 5622 /* Line 1806 of yacc.c */ 5592 #line 7 25"parser.yy"5623 #line 731 "parser.yy" 5593 5624 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5594 5625 break; … … 5597 5628 5598 5629 /* Line 1806 of yacc.c */ 5599 #line 7 27"parser.yy"5630 #line 733 "parser.yy" 5600 5631 { // mark all fields in list 5601 5632 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 5608 5639 5609 5640 /* Line 1806 of yacc.c */ 5610 #line 73 3"parser.yy"5641 #line 739 "parser.yy" 5611 5642 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5612 5643 break; … … 5615 5646 5616 5647 /* Line 1806 of yacc.c */ 5617 #line 74 0"parser.yy"5648 #line 746 "parser.yy" 5618 5649 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5619 5650 break; … … 5622 5653 5623 5654 /* Line 1806 of yacc.c */ 5624 #line 7 45"parser.yy"5655 #line 751 "parser.yy" 5625 5656 { (yyval.sn) = new StatementNode( build_expr( (yyvsp[(1) - (2)].en) ) ); } 5626 5657 break; … … 5629 5660 5630 5661 /* Line 1806 of yacc.c */ 5631 #line 75 1"parser.yy"5662 #line 757 "parser.yy" 5632 5663 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn), nullptr ) ); } 5633 5664 break; … … 5636 5667 5637 5668 /* Line 1806 of yacc.c */ 5638 #line 75 3"parser.yy"5669 #line 759 "parser.yy" 5639 5670 { (yyval.sn) = new StatementNode( build_if( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].sn), (yyvsp[(7) - (7)].sn) ) ); } 5640 5671 break; … … 5643 5674 5644 5675 /* Line 1806 of yacc.c */ 5645 #line 7 55"parser.yy"5676 #line 761 "parser.yy" 5646 5677 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5647 5678 break; … … 5650 5681 5651 5682 /* Line 1806 of yacc.c */ 5652 #line 7 57"parser.yy"5683 #line 763 "parser.yy" 5653 5684 { 5654 5685 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5665 5696 5666 5697 /* Line 1806 of yacc.c */ 5667 #line 7 67"parser.yy"5698 #line 773 "parser.yy" 5668 5699 { (yyval.sn) = new StatementNode( build_switch( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5669 5700 break; … … 5672 5703 5673 5704 /* Line 1806 of yacc.c */ 5674 #line 7 69"parser.yy"5705 #line 775 "parser.yy" 5675 5706 { 5676 5707 StatementNode *sw = new StatementNode( build_switch( (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ) ); … … 5682 5713 5683 5714 /* Line 1806 of yacc.c */ 5684 #line 7 79"parser.yy"5715 #line 785 "parser.yy" 5685 5716 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5686 5717 break; … … 5689 5720 5690 5721 /* Line 1806 of yacc.c */ 5691 #line 78 1"parser.yy"5722 #line 787 "parser.yy" 5692 5723 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 5693 5724 break; … … 5696 5727 5697 5728 /* Line 1806 of yacc.c */ 5698 #line 7 86"parser.yy"5729 #line 792 "parser.yy" 5699 5730 { (yyval.sn) = new StatementNode( build_case( (yyvsp[(1) - (1)].en) ) ); } 5700 5731 break; … … 5703 5734 5704 5735 /* Line 1806 of yacc.c */ 5705 #line 7 88"parser.yy"5736 #line 794 "parser.yy" 5706 5737 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_last( new StatementNode( build_case( (yyvsp[(3) - (3)].en) ) ) ) ); } 5707 5738 break; … … 5710 5741 5711 5742 /* Line 1806 of yacc.c */ 5712 #line 79 2"parser.yy"5743 #line 798 "parser.yy" 5713 5744 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 5714 5745 break; … … 5717 5748 5718 5749 /* Line 1806 of yacc.c */ 5719 #line 79 3"parser.yy"5750 #line 799 "parser.yy" 5720 5751 { (yyval.sn) = new StatementNode( build_default() ); } 5721 5752 break; … … 5724 5755 5725 5756 /* Line 1806 of yacc.c */ 5726 #line 799"parser.yy"5757 #line 805 "parser.yy" 5727 5758 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_last( (yyvsp[(2) - (2)].sn) )); } 5728 5759 break; … … 5731 5762 5732 5763 /* Line 1806 of yacc.c */ 5733 #line 80 3"parser.yy"5764 #line 809 "parser.yy" 5734 5765 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5735 5766 break; … … 5738 5769 5739 5770 /* Line 1806 of yacc.c */ 5740 #line 8 08"parser.yy"5771 #line 814 "parser.yy" 5741 5772 { (yyval.sn) = 0; } 5742 5773 break; … … 5745 5776 5746 5777 /* Line 1806 of yacc.c */ 5747 #line 8 14"parser.yy"5778 #line 820 "parser.yy" 5748 5779 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(2) - (2)].sn) ) ) ); } 5749 5780 break; … … 5752 5783 5753 5784 /* Line 1806 of yacc.c */ 5754 #line 8 16"parser.yy"5785 #line 822 "parser.yy" 5755 5786 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( new StatementNode( build_compound( (yyvsp[(3) - (3)].sn) ) ) ) ) ); } 5756 5787 break; … … 5759 5790 5760 5791 /* Line 1806 of yacc.c */ 5761 #line 82 1"parser.yy"5792 #line 827 "parser.yy" 5762 5793 { (yyval.sn) = 0; } 5763 5794 break; … … 5766 5797 5767 5798 /* Line 1806 of yacc.c */ 5768 #line 8 27"parser.yy"5799 #line 833 "parser.yy" 5769 5800 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5770 5801 break; … … 5773 5804 5774 5805 /* Line 1806 of yacc.c */ 5775 #line 8 29"parser.yy"5806 #line 835 "parser.yy" 5776 5807 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new StatementNode( build_compound( (StatementNode *)(yyvsp[(2) - (3)].sn)->set_last( (yyvsp[(3) - (3)].sn) ) ) ) ); } 5777 5808 break; … … 5780 5811 5781 5812 /* Line 1806 of yacc.c */ 5782 #line 83 1"parser.yy"5813 #line 837 "parser.yy" 5783 5814 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_last( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5784 5815 break; … … 5787 5818 5788 5819 /* Line 1806 of yacc.c */ 5789 #line 83 3"parser.yy"5820 #line 839 "parser.yy" 5790 5821 { (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) ) ) ) ) ) ); } 5791 5822 break; … … 5794 5825 5795 5826 /* Line 1806 of yacc.c */ 5796 #line 8 38"parser.yy"5827 #line 844 "parser.yy" 5797 5828 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5798 5829 break; … … 5801 5832 5802 5833 /* Line 1806 of yacc.c */ 5803 #line 8 44"parser.yy"5834 #line 850 "parser.yy" 5804 5835 { (yyval.sn) = 0; } 5805 5836 break; … … 5808 5839 5809 5840 /* Line 1806 of yacc.c */ 5810 #line 8 46"parser.yy"5841 #line 852 "parser.yy" 5811 5842 { (yyval.sn) = 0; } 5812 5843 break; … … 5815 5846 5816 5847 /* Line 1806 of yacc.c */ 5817 #line 85 1"parser.yy"5848 #line 857 "parser.yy" 5818 5849 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ) ); } 5819 5850 break; … … 5822 5853 5823 5854 /* Line 1806 of yacc.c */ 5824 #line 85 3"parser.yy"5855 #line 859 "parser.yy" 5825 5856 { (yyval.sn) = new StatementNode( build_while( (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn), true ) ); } 5826 5857 break; … … 5829 5860 5830 5861 /* Line 1806 of yacc.c */ 5831 #line 8 55"parser.yy"5862 #line 861 "parser.yy" 5832 5863 { (yyval.sn) = new StatementNode( build_for( (yyvsp[(4) - (6)].fctl), (yyvsp[(6) - (6)].sn) ) ); } 5833 5864 break; … … 5836 5867 5837 5868 /* Line 1806 of yacc.c */ 5838 #line 86 0"parser.yy"5869 #line 866 "parser.yy" 5839 5870 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 5840 5871 break; … … 5843 5874 5844 5875 /* Line 1806 of yacc.c */ 5845 #line 86 2"parser.yy"5876 #line 868 "parser.yy" 5846 5877 { (yyval.fctl) = new ForCtl( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5847 5878 break; … … 5850 5881 5851 5882 /* Line 1806 of yacc.c */ 5852 #line 8 67"parser.yy"5883 #line 873 "parser.yy" 5853 5884 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Goto ) ); } 5854 5885 break; … … 5857 5888 5858 5889 /* Line 1806 of yacc.c */ 5859 #line 87 1"parser.yy"5890 #line 877 "parser.yy" 5860 5891 { (yyval.sn) = new StatementNode( build_computedgoto( (yyvsp[(3) - (4)].en) ) ); } 5861 5892 break; … … 5864 5895 5865 5896 /* Line 1806 of yacc.c */ 5866 #line 8 74"parser.yy"5897 #line 880 "parser.yy" 5867 5898 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Continue ) ); } 5868 5899 break; … … 5871 5902 5872 5903 /* Line 1806 of yacc.c */ 5873 #line 8 78"parser.yy"5904 #line 884 "parser.yy" 5874 5905 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Continue ) ); } 5875 5906 break; … … 5878 5909 5879 5910 /* Line 1806 of yacc.c */ 5880 #line 88 1"parser.yy"5911 #line 887 "parser.yy" 5881 5912 { (yyval.sn) = new StatementNode( build_branch( BranchStmt::Break ) ); } 5882 5913 break; … … 5885 5916 5886 5917 /* Line 1806 of yacc.c */ 5887 #line 8 85"parser.yy"5918 #line 891 "parser.yy" 5888 5919 { (yyval.sn) = new StatementNode( build_branch( (yyvsp[(2) - (3)].tok), BranchStmt::Break ) ); } 5889 5920 break; … … 5892 5923 5893 5924 /* Line 1806 of yacc.c */ 5894 #line 8 87"parser.yy"5925 #line 893 "parser.yy" 5895 5926 { (yyval.sn) = new StatementNode( build_return( (yyvsp[(2) - (3)].en) ) ); } 5896 5927 break; … … 5899 5930 5900 5931 /* Line 1806 of yacc.c */ 5901 #line 8 89"parser.yy"5932 #line 895 "parser.yy" 5902 5933 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5903 5934 break; … … 5906 5937 5907 5938 /* Line 1806 of yacc.c */ 5908 #line 89 1"parser.yy"5939 #line 897 "parser.yy" 5909 5940 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (3)].en) ) ); } 5910 5941 break; … … 5913 5944 5914 5945 /* Line 1806 of yacc.c */ 5915 #line 89 3"parser.yy"5946 #line 899 "parser.yy" 5916 5947 { (yyval.sn) = new StatementNode( build_throw( (yyvsp[(2) - (5)].en) ) ); } 5917 5948 break; … … 5920 5951 5921 5952 /* Line 1806 of yacc.c */ 5922 #line 898"parser.yy"5953 #line 904 "parser.yy" 5923 5954 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), (yyvsp[(3) - (3)].sn), 0 ) ); } 5924 5955 break; … … 5927 5958 5928 5959 /* Line 1806 of yacc.c */ 5929 #line 90 0"parser.yy"5960 #line 906 "parser.yy" 5930 5961 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (3)].sn), 0, (yyvsp[(3) - (3)].sn) ) ); } 5931 5962 break; … … 5934 5965 5935 5966 /* Line 1806 of yacc.c */ 5936 #line 90 2"parser.yy"5967 #line 908 "parser.yy" 5937 5968 { (yyval.sn) = new StatementNode( build_try( (yyvsp[(2) - (4)].sn), (yyvsp[(3) - (4)].sn), (yyvsp[(4) - (4)].sn) ) ); } 5938 5969 break; … … 5941 5972 5942 5973 /* Line 1806 of yacc.c */ 5943 #line 9 09"parser.yy"5974 #line 915 "parser.yy" 5944 5975 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5945 5976 break; … … 5948 5979 5949 5980 /* Line 1806 of yacc.c */ 5950 #line 91 1"parser.yy"5981 #line 917 "parser.yy" 5951 5982 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5952 5983 break; … … 5955 5986 5956 5987 /* Line 1806 of yacc.c */ 5957 #line 91 3"parser.yy"5988 #line 919 "parser.yy" 5958 5989 { (yyval.sn) = new StatementNode( build_catch( 0, (yyvsp[(5) - (5)].sn), true ) ); } 5959 5990 break; … … 5962 5993 5963 5994 /* Line 1806 of yacc.c */ 5964 #line 9 15"parser.yy"5995 #line 921 "parser.yy" 5965 5996 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (6)].sn)->set_last( new StatementNode( build_catch( 0, (yyvsp[(6) - (6)].sn), true ) ) ); } 5966 5997 break; … … 5969 6000 5970 6001 /* Line 1806 of yacc.c */ 5971 #line 92 0"parser.yy"6002 #line 926 "parser.yy" 5972 6003 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5973 6004 break; … … 5976 6007 5977 6008 /* Line 1806 of yacc.c */ 5978 #line 92 2"parser.yy"6009 #line 928 "parser.yy" 5979 6010 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 5980 6011 break; … … 5983 6014 5984 6015 /* Line 1806 of yacc.c */ 5985 #line 9 24"parser.yy"6016 #line 930 "parser.yy" 5986 6017 { (yyval.sn) = new StatementNode( build_catch( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ) ); } 5987 6018 break; … … 5990 6021 5991 6022 /* Line 1806 of yacc.c */ 5992 #line 9 26"parser.yy"6023 #line 932 "parser.yy" 5993 6024 { (yyval.sn) = (StatementNode *)(yyvsp[(1) - (10)].sn)->set_last( new StatementNode( build_catch( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ) ); } 5994 6025 break; … … 5997 6028 5998 6029 /* Line 1806 of yacc.c */ 5999 #line 93 1"parser.yy"6030 #line 937 "parser.yy" 6000 6031 { 6001 6032 (yyval.sn) = new StatementNode( build_finally( (yyvsp[(2) - (2)].sn) ) ); … … 6006 6037 6007 6038 /* Line 1806 of yacc.c */ 6008 #line 9 44"parser.yy"6039 #line 950 "parser.yy" 6009 6040 { 6010 6041 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6016 6047 6017 6048 /* Line 1806 of yacc.c */ 6018 #line 9 49"parser.yy"6049 #line 955 "parser.yy" 6019 6050 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6020 6051 break; … … 6023 6054 6024 6055 /* Line 1806 of yacc.c */ 6025 #line 95 1"parser.yy"6056 #line 957 "parser.yy" 6026 6057 { 6027 6058 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6033 6064 6034 6065 /* Line 1806 of yacc.c */ 6035 #line 96 0"parser.yy"6066 #line 966 "parser.yy" 6036 6067 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ) ); } 6037 6068 break; … … 6040 6071 6041 6072 /* Line 1806 of yacc.c */ 6042 #line 96 2"parser.yy"6073 #line 968 "parser.yy" 6043 6074 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ) ); } 6044 6075 break; … … 6047 6078 6048 6079 /* Line 1806 of yacc.c */ 6049 #line 9 64"parser.yy"6080 #line 970 "parser.yy" 6050 6081 { (yyval.sn) = new StatementNode( build_asmstmt( (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ) ); } 6051 6082 break; … … 6054 6085 6055 6086 /* Line 1806 of yacc.c */ 6056 #line 9 66"parser.yy"6087 #line 972 "parser.yy" 6057 6088 { (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) ) ); } 6058 6089 break; … … 6061 6092 6062 6093 /* Line 1806 of yacc.c */ 6063 #line 9 68"parser.yy"6094 #line 974 "parser.yy" 6064 6095 { (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) ) ); } 6065 6096 break; … … 6068 6099 6069 6100 /* Line 1806 of yacc.c */ 6070 #line 97 3"parser.yy"6101 #line 979 "parser.yy" 6071 6102 { (yyval.flag) = false; } 6072 6103 break; … … 6075 6106 6076 6107 /* Line 1806 of yacc.c */ 6077 #line 9 75"parser.yy"6108 #line 981 "parser.yy" 6078 6109 { (yyval.flag) = true; } 6079 6110 break; … … 6082 6113 6083 6114 /* Line 1806 of yacc.c */ 6084 #line 98 0"parser.yy"6115 #line 986 "parser.yy" 6085 6116 { (yyval.en) = 0; } 6086 6117 break; … … 6089 6120 6090 6121 /* Line 1806 of yacc.c */ 6091 #line 9 87"parser.yy"6122 #line 993 "parser.yy" 6092 6123 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) ); } 6093 6124 break; … … 6096 6127 6097 6128 /* Line 1806 of yacc.c */ 6098 #line 99 2"parser.yy"6129 #line 998 "parser.yy" 6099 6130 { (yyval.en) = new ExpressionNode( build_asmexpr( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ) ); } 6100 6131 break; … … 6103 6134 6104 6135 /* Line 1806 of yacc.c */ 6105 #line 994"parser.yy"6136 #line 1000 "parser.yy" 6106 6137 { (yyval.en) = new ExpressionNode( build_asmexpr( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ) ); } 6107 6138 break; … … 6110 6141 6111 6142 /* Line 1806 of yacc.c */ 6112 #line 999"parser.yy"6143 #line 1005 "parser.yy" 6113 6144 { (yyval.en) = 0; } 6114 6145 break; … … 6117 6148 6118 6149 /* Line 1806 of yacc.c */ 6119 #line 100 1"parser.yy"6150 #line 1007 "parser.yy" 6120 6151 { (yyval.en) = new ExpressionNode( (yyvsp[(1) - (1)].constant) ); } 6121 6152 break; … … 6124 6155 6125 6156 /* Line 1806 of yacc.c */ 6126 #line 100 3"parser.yy"6157 #line 1009 "parser.yy" 6127 6158 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( (yyvsp[(3) - (3)].constant) ) ); } 6128 6159 break; … … 6131 6162 6132 6163 /* Line 1806 of yacc.c */ 6133 #line 10 08"parser.yy"6164 #line 1014 "parser.yy" 6134 6165 { 6135 6166 (yyval.label) = new LabelNode(); (yyval.label)->labels.push_back( *(yyvsp[(1) - (1)].tok) ); … … 6141 6172 6142 6173 /* Line 1806 of yacc.c */ 6143 #line 101 3"parser.yy"6174 #line 1019 "parser.yy" 6144 6175 { 6145 6176 (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->labels.push_back( *(yyvsp[(3) - (3)].tok) ); … … 6151 6182 6152 6183 /* Line 1806 of yacc.c */ 6153 #line 102 3"parser.yy"6184 #line 1029 "parser.yy" 6154 6185 { (yyval.decl) = 0; } 6155 6186 break; … … 6158 6189 6159 6190 /* Line 1806 of yacc.c */ 6160 #line 103 0"parser.yy"6191 #line 1036 "parser.yy" 6161 6192 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6162 6193 break; … … 6165 6196 6166 6197 /* Line 1806 of yacc.c */ 6167 #line 10 35"parser.yy"6198 #line 1041 "parser.yy" 6168 6199 { (yyval.decl) = 0; } 6169 6200 break; … … 6172 6203 6173 6204 /* Line 1806 of yacc.c */ 6174 #line 104 2"parser.yy"6205 #line 1048 "parser.yy" 6175 6206 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6176 6207 break; … … 6179 6210 6180 6211 /* Line 1806 of yacc.c */ 6181 #line 10 56"parser.yy"6212 #line 1062 "parser.yy" 6182 6213 {} 6183 6214 break; … … 6186 6217 6187 6218 /* Line 1806 of yacc.c */ 6188 #line 10 57"parser.yy"6219 #line 1063 "parser.yy" 6189 6220 {} 6190 6221 break; … … 6193 6224 6194 6225 /* Line 1806 of yacc.c */ 6195 #line 10 86"parser.yy"6226 #line 1092 "parser.yy" 6196 6227 { 6197 6228 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6203 6234 6204 6235 /* Line 1806 of yacc.c */ 6205 #line 109 3"parser.yy"6236 #line 1099 "parser.yy" 6206 6237 { 6207 6238 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6213 6244 6214 6245 /* Line 1806 of yacc.c */ 6215 #line 1 098"parser.yy"6246 #line 1104 "parser.yy" 6216 6247 { 6217 6248 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6223 6254 6224 6255 /* Line 1806 of yacc.c */ 6225 #line 11 08"parser.yy"6256 #line 1114 "parser.yy" 6226 6257 { 6227 6258 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6233 6264 6234 6265 /* Line 1806 of yacc.c */ 6235 #line 111 3"parser.yy"6266 #line 1119 "parser.yy" 6236 6267 { 6237 6268 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6243 6274 6244 6275 /* Line 1806 of yacc.c */ 6245 #line 11 18"parser.yy"6276 #line 1124 "parser.yy" 6246 6277 { 6247 6278 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6253 6284 6254 6285 /* Line 1806 of yacc.c */ 6255 #line 11 26"parser.yy"6286 #line 1132 "parser.yy" 6256 6287 { 6257 6288 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6263 6294 6264 6295 /* Line 1806 of yacc.c */ 6265 #line 113 1"parser.yy"6296 #line 1137 "parser.yy" 6266 6297 { 6267 6298 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6273 6304 6274 6305 /* Line 1806 of yacc.c */ 6275 #line 11 36"parser.yy"6306 #line 1142 "parser.yy" 6276 6307 { 6277 6308 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6283 6314 6284 6315 /* Line 1806 of yacc.c */ 6285 #line 114 1"parser.yy"6316 #line 1147 "parser.yy" 6286 6317 { 6287 6318 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6293 6324 6294 6325 /* Line 1806 of yacc.c */ 6295 #line 11 46"parser.yy"6326 #line 1152 "parser.yy" 6296 6327 { 6297 6328 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6303 6334 6304 6335 /* Line 1806 of yacc.c */ 6305 #line 11 77"parser.yy"6336 #line 1183 "parser.yy" 6306 6337 { 6307 6338 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6312 6343 6313 6344 /* Line 1806 of yacc.c */ 6314 #line 118 1"parser.yy"6345 #line 1187 "parser.yy" 6315 6346 { 6316 6347 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6321 6352 6322 6353 /* Line 1806 of yacc.c */ 6323 #line 11 88"parser.yy"6354 #line 1194 "parser.yy" 6324 6355 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6325 6356 break; … … 6328 6359 6329 6360 /* Line 1806 of yacc.c */ 6330 #line 119 2"parser.yy"6361 #line 1198 "parser.yy" 6331 6362 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6332 6363 break; … … 6335 6366 6336 6367 /* Line 1806 of yacc.c */ 6337 #line 1 197"parser.yy"6368 #line 1203 "parser.yy" 6338 6369 { 6339 6370 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6345 6376 6346 6377 /* Line 1806 of yacc.c */ 6347 #line 120 2"parser.yy"6378 #line 1208 "parser.yy" 6348 6379 { 6349 6380 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6355 6386 6356 6387 /* Line 1806 of yacc.c */ 6357 #line 12 07"parser.yy"6388 #line 1213 "parser.yy" 6358 6389 { 6359 6390 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6365 6396 6366 6397 /* Line 1806 of yacc.c */ 6367 #line 12 18"parser.yy"6398 #line 1224 "parser.yy" 6368 6399 { 6369 6400 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6375 6406 6376 6407 /* Line 1806 of yacc.c */ 6377 #line 122 3"parser.yy"6408 #line 1229 "parser.yy" 6378 6409 { 6379 6410 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6385 6416 6386 6417 /* Line 1806 of yacc.c */ 6387 #line 12 28"parser.yy"6418 #line 1234 "parser.yy" 6388 6419 { 6389 6420 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6395 6426 6396 6427 /* Line 1806 of yacc.c */ 6397 #line 123 3"parser.yy"6428 #line 1239 "parser.yy" 6398 6429 { 6399 6430 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6405 6436 6406 6437 /* Line 1806 of yacc.c */ 6407 #line 12 38"parser.yy"6438 #line 1244 "parser.yy" 6408 6439 { 6409 6440 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6415 6446 6416 6447 /* Line 1806 of yacc.c */ 6417 #line 12 47"parser.yy"6448 #line 1253 "parser.yy" 6418 6449 { 6419 6450 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6425 6456 6426 6457 /* Line 1806 of yacc.c */ 6427 #line 125 2"parser.yy"6458 #line 1258 "parser.yy" 6428 6459 { 6429 6460 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6435 6466 6436 6467 /* Line 1806 of yacc.c */ 6437 #line 12 69"parser.yy"6468 #line 1275 "parser.yy" 6438 6469 { 6439 6470 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6445 6476 6446 6477 /* Line 1806 of yacc.c */ 6447 #line 12 74"parser.yy"6478 #line 1280 "parser.yy" 6448 6479 { 6449 6480 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6455 6486 6456 6487 /* Line 1806 of yacc.c */ 6457 #line 1 296"parser.yy"6488 #line 1302 "parser.yy" 6458 6489 { (yyval.decl) = 0; } 6459 6490 break; … … 6462 6493 6463 6494 /* Line 1806 of yacc.c */ 6464 #line 13 08"parser.yy"6495 #line 1314 "parser.yy" 6465 6496 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6466 6497 break; … … 6469 6500 6470 6501 /* Line 1806 of yacc.c */ 6471 #line 13 19"parser.yy"6502 #line 1325 "parser.yy" 6472 6503 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6473 6504 break; … … 6476 6507 6477 6508 /* Line 1806 of yacc.c */ 6478 #line 132 1"parser.yy"6509 #line 1327 "parser.yy" 6479 6510 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6480 6511 break; … … 6483 6514 6484 6515 /* Line 1806 of yacc.c */ 6485 #line 132 3"parser.yy"6516 #line 1329 "parser.yy" 6486 6517 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6487 6518 break; … … 6490 6521 6491 6522 /* Line 1806 of yacc.c */ 6492 #line 13 25"parser.yy"6523 #line 1331 "parser.yy" 6493 6524 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6494 6525 break; … … 6497 6528 6498 6529 /* Line 1806 of yacc.c */ 6499 #line 13 27"parser.yy"6530 #line 1333 "parser.yy" 6500 6531 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6501 6532 break; … … 6504 6535 6505 6536 /* Line 1806 of yacc.c */ 6506 #line 13 29"parser.yy"6537 #line 1335 "parser.yy" 6507 6538 { 6508 6539 typedefTable.enterScope(); … … 6513 6544 6514 6545 /* Line 1806 of yacc.c */ 6515 #line 133 3"parser.yy"6546 #line 1339 "parser.yy" 6516 6547 { 6517 6548 typedefTable.leaveScope(); … … 6523 6554 6524 6555 /* Line 1806 of yacc.c */ 6525 #line 134 2"parser.yy"6556 #line 1348 "parser.yy" 6526 6557 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6527 6558 break; … … 6530 6561 6531 6562 /* Line 1806 of yacc.c */ 6532 #line 13 44"parser.yy"6563 #line 1350 "parser.yy" 6533 6564 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6534 6565 break; … … 6537 6568 6538 6569 /* Line 1806 of yacc.c */ 6539 #line 13 55"parser.yy"6570 #line 1361 "parser.yy" 6540 6571 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6541 6572 break; … … 6544 6575 6545 6576 /* Line 1806 of yacc.c */ 6546 #line 136 0"parser.yy"6577 #line 1366 "parser.yy" 6547 6578 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6548 6579 break; … … 6551 6582 6552 6583 /* Line 1806 of yacc.c */ 6553 #line 136 2"parser.yy"6584 #line 1368 "parser.yy" 6554 6585 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6555 6586 break; … … 6558 6589 6559 6590 /* Line 1806 of yacc.c */ 6560 #line 13 64"parser.yy"6591 #line 1370 "parser.yy" 6561 6592 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6562 6593 break; … … 6565 6596 6566 6597 /* Line 1806 of yacc.c */ 6567 #line 13 66"parser.yy"6598 #line 1372 "parser.yy" 6568 6599 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6569 6600 break; … … 6572 6603 6573 6604 /* Line 1806 of yacc.c */ 6574 #line 13 69"parser.yy"6605 #line 1375 "parser.yy" 6575 6606 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isInline = true; } 6576 6607 break; … … 6579 6610 6580 6611 /* Line 1806 of yacc.c */ 6581 #line 137 1"parser.yy"6612 #line 1377 "parser.yy" 6582 6613 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6583 6614 break; … … 6586 6617 6587 6618 /* Line 1806 of yacc.c */ 6588 #line 13 74"parser.yy"6619 #line 1380 "parser.yy" 6589 6620 { (yyval.decl) = new DeclarationNode; (yyval.decl)->isNoreturn = true; } 6590 6621 break; … … 6593 6624 6594 6625 /* Line 1806 of yacc.c */ 6595 #line 13 76"parser.yy"6626 #line 1382 "parser.yy" 6596 6627 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6597 6628 break; … … 6600 6631 6601 6632 /* Line 1806 of yacc.c */ 6602 #line 138 1"parser.yy"6633 #line 1387 "parser.yy" 6603 6634 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6604 6635 break; … … 6607 6638 6608 6639 /* Line 1806 of yacc.c */ 6609 #line 138 3"parser.yy"6640 #line 1389 "parser.yy" 6610 6641 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6611 6642 break; … … 6614 6645 6615 6646 /* Line 1806 of yacc.c */ 6616 #line 13 85"parser.yy"6647 #line 1391 "parser.yy" 6617 6648 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6618 6649 break; … … 6621 6652 6622 6653 /* Line 1806 of yacc.c */ 6623 #line 13 87"parser.yy"6654 #line 1393 "parser.yy" 6624 6655 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6625 6656 break; … … 6628 6659 6629 6660 /* Line 1806 of yacc.c */ 6630 #line 13 89"parser.yy"6661 #line 1395 "parser.yy" 6631 6662 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Long ); } 6632 6663 break; … … 6635 6666 6636 6667 /* Line 1806 of yacc.c */ 6637 #line 139 1"parser.yy"6668 #line 1397 "parser.yy" 6638 6669 { (yyval.decl) = DeclarationNode::newLength( DeclarationNode::Short ); } 6639 6670 break; … … 6642 6673 6643 6674 /* Line 1806 of yacc.c */ 6644 #line 139 3"parser.yy"6675 #line 1399 "parser.yy" 6645 6676 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Signed ); } 6646 6677 break; … … 6649 6680 6650 6681 /* Line 1806 of yacc.c */ 6651 #line 1 395"parser.yy"6682 #line 1401 "parser.yy" 6652 6683 { (yyval.decl) = DeclarationNode::newSignedNess( DeclarationNode::Unsigned ); } 6653 6684 break; … … 6656 6687 6657 6688 /* Line 1806 of yacc.c */ 6658 #line 1 397"parser.yy"6689 #line 1403 "parser.yy" 6659 6690 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6660 6691 break; … … 6663 6694 6664 6695 /* Line 1806 of yacc.c */ 6665 #line 1 399"parser.yy"6696 #line 1405 "parser.yy" 6666 6697 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6667 6698 break; … … 6670 6701 6671 6702 /* Line 1806 of yacc.c */ 6672 #line 140 1"parser.yy"6703 #line 1407 "parser.yy" 6673 6704 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Complex ); } 6674 6705 break; … … 6677 6708 6678 6709 /* Line 1806 of yacc.c */ 6679 #line 140 3"parser.yy"6710 #line 1409 "parser.yy" 6680 6711 { (yyval.decl) = DeclarationNode::newComplexType( DeclarationNode::Imaginary ); } 6681 6712 break; … … 6684 6715 6685 6716 /* Line 1806 of yacc.c */ 6686 #line 14 05"parser.yy"6717 #line 1411 "parser.yy" 6687 6718 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6688 6719 break; … … 6691 6722 6692 6723 /* Line 1806 of yacc.c */ 6693 #line 141 2"parser.yy"6724 #line 1418 "parser.yy" 6694 6725 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6695 6726 break; … … 6698 6729 6699 6730 /* Line 1806 of yacc.c */ 6700 #line 14 14"parser.yy"6731 #line 1420 "parser.yy" 6701 6732 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6702 6733 break; … … 6705 6736 6706 6737 /* Line 1806 of yacc.c */ 6707 #line 14 16"parser.yy"6738 #line 1422 "parser.yy" 6708 6739 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6709 6740 break; … … 6712 6743 6713 6744 /* Line 1806 of yacc.c */ 6714 #line 14 18"parser.yy"6745 #line 1424 "parser.yy" 6715 6746 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6716 6747 break; … … 6719 6750 6720 6751 /* Line 1806 of yacc.c */ 6721 #line 14 24"parser.yy"6752 #line 1430 "parser.yy" 6722 6753 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6723 6754 break; … … 6726 6757 6727 6758 /* Line 1806 of yacc.c */ 6728 #line 143 1"parser.yy"6759 #line 1437 "parser.yy" 6729 6760 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6730 6761 break; … … 6733 6764 6734 6765 /* Line 1806 of yacc.c */ 6735 #line 143 3"parser.yy"6766 #line 1439 "parser.yy" 6736 6767 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6737 6768 break; … … 6740 6771 6741 6772 /* Line 1806 of yacc.c */ 6742 #line 14 35"parser.yy"6773 #line 1441 "parser.yy" 6743 6774 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6744 6775 break; … … 6747 6778 6748 6779 /* Line 1806 of yacc.c */ 6749 #line 144 0"parser.yy"6780 #line 1446 "parser.yy" 6750 6781 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6751 6782 break; … … 6754 6785 6755 6786 /* Line 1806 of yacc.c */ 6756 #line 144 2"parser.yy"6787 #line 1448 "parser.yy" 6757 6788 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6758 6789 break; … … 6761 6792 6762 6793 /* Line 1806 of yacc.c */ 6763 #line 14 44"parser.yy"6794 #line 1450 "parser.yy" 6764 6795 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6765 6796 break; … … 6768 6799 6769 6800 /* Line 1806 of yacc.c */ 6770 #line 14 46"parser.yy"6801 #line 1452 "parser.yy" 6771 6802 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6772 6803 break; … … 6775 6806 6776 6807 /* Line 1806 of yacc.c */ 6777 #line 145 2"parser.yy"6808 #line 1458 "parser.yy" 6778 6809 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6779 6810 break; … … 6782 6813 6783 6814 /* Line 1806 of yacc.c */ 6784 #line 14 54"parser.yy"6815 #line 1460 "parser.yy" 6785 6816 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6786 6817 break; … … 6789 6820 6790 6821 /* Line 1806 of yacc.c */ 6791 #line 14 56"parser.yy"6822 #line 1462 "parser.yy" 6792 6823 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6793 6824 break; … … 6796 6827 6797 6828 /* Line 1806 of yacc.c */ 6798 #line 146 2"parser.yy"6829 #line 1468 "parser.yy" 6799 6830 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6800 6831 break; … … 6803 6834 6804 6835 /* Line 1806 of yacc.c */ 6805 #line 14 64"parser.yy"6836 #line 1470 "parser.yy" 6806 6837 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6807 6838 break; … … 6810 6841 6811 6842 /* Line 1806 of yacc.c */ 6812 #line 147 0"parser.yy"6843 #line 1476 "parser.yy" 6813 6844 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6814 6845 break; … … 6817 6848 6818 6849 /* Line 1806 of yacc.c */ 6819 #line 147 2"parser.yy"6850 #line 1478 "parser.yy" 6820 6851 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6821 6852 break; … … 6824 6855 6825 6856 /* Line 1806 of yacc.c */ 6826 #line 14 74"parser.yy"6857 #line 1480 "parser.yy" 6827 6858 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6828 6859 break; … … 6831 6862 6832 6863 /* Line 1806 of yacc.c */ 6833 #line 14 79"parser.yy"6864 #line 1485 "parser.yy" 6834 6865 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 6835 6866 break; … … 6838 6869 6839 6870 /* Line 1806 of yacc.c */ 6840 #line 148 1"parser.yy"6871 #line 1487 "parser.yy" 6841 6872 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6842 6873 break; … … 6845 6876 6846 6877 /* Line 1806 of yacc.c */ 6847 #line 148 3"parser.yy"6878 #line 1489 "parser.yy" 6848 6879 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6849 6880 break; … … 6852 6883 6853 6884 /* Line 1806 of yacc.c */ 6854 #line 149 3"parser.yy"6885 #line 1499 "parser.yy" 6855 6886 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), nullptr, nullptr, (yyvsp[(3) - (4)].decl), true ); } 6856 6887 break; … … 6859 6890 6860 6891 /* Line 1806 of yacc.c */ 6861 #line 1 495"parser.yy"6892 #line 1501 "parser.yy" 6862 6893 { 6863 6894 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 6869 6900 6870 6901 /* Line 1806 of yacc.c */ 6871 #line 150 0"parser.yy"6902 #line 1506 "parser.yy" 6872 6903 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 6873 6904 break; … … 6876 6907 6877 6908 /* Line 1806 of yacc.c */ 6878 #line 150 2"parser.yy"6909 #line 1508 "parser.yy" 6879 6910 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), nullptr, (yyvsp[(5) - (6)].decl), true ); } 6880 6911 break; … … 6883 6914 6884 6915 /* Line 1806 of yacc.c */ 6885 #line 15 04"parser.yy"6916 #line 1510 "parser.yy" 6886 6917 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), nullptr, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 6887 6918 break; … … 6890 6921 6891 6922 /* Line 1806 of yacc.c */ 6892 #line 15 06"parser.yy"6923 #line 1512 "parser.yy" 6893 6924 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 6894 6925 break; … … 6897 6928 6898 6929 /* Line 1806 of yacc.c */ 6899 #line 151 1"parser.yy"6930 #line 1517 "parser.yy" 6900 6931 { (yyval.aggKey) = DeclarationNode::Struct; } 6901 6932 break; … … 6904 6935 6905 6936 /* Line 1806 of yacc.c */ 6906 #line 151 3"parser.yy"6937 #line 1519 "parser.yy" 6907 6938 { (yyval.aggKey) = DeclarationNode::Union; } 6908 6939 break; … … 6911 6942 6912 6943 /* Line 1806 of yacc.c */ 6913 #line 15 18"parser.yy"6944 #line 1524 "parser.yy" 6914 6945 { (yyval.decl) = 0; } 6915 6946 break; … … 6918 6949 6919 6950 /* Line 1806 of yacc.c */ 6920 #line 152 0"parser.yy"6951 #line 1526 "parser.yy" 6921 6952 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 6922 6953 break; … … 6925 6956 6926 6957 /* Line 1806 of yacc.c */ 6927 #line 15 26"parser.yy"6958 #line 1532 "parser.yy" 6928 6959 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 6929 6960 break; … … 6932 6963 6933 6964 /* Line 1806 of yacc.c */ 6934 #line 15 29"parser.yy"6965 #line 1535 "parser.yy" 6935 6966 { // mark all fields in list 6936 6967 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 6943 6974 6944 6975 /* Line 1806 of yacc.c */ 6945 #line 15 39"parser.yy"6976 #line 1545 "parser.yy" 6946 6977 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 6947 6978 break; … … 6950 6981 6951 6982 /* Line 1806 of yacc.c */ 6952 #line 154 1"parser.yy"6983 #line 1547 "parser.yy" 6953 6984 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 6954 6985 break; … … 6957 6988 6958 6989 /* Line 1806 of yacc.c */ 6959 #line 154 3"parser.yy"6990 #line 1549 "parser.yy" 6960 6991 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 6961 6992 break; … … 6964 6995 6965 6996 /* Line 1806 of yacc.c */ 6966 #line 15 48"parser.yy"6997 #line 1554 "parser.yy" 6967 6998 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6968 6999 break; … … 6971 7002 6972 7003 /* Line 1806 of yacc.c */ 6973 #line 155 0"parser.yy"7004 #line 1556 "parser.yy" 6974 7005 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 6975 7006 break; … … 6978 7009 6979 7010 /* Line 1806 of yacc.c */ 6980 #line 15 55"parser.yy"7011 #line 1561 "parser.yy" 6981 7012 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 6982 7013 break; … … 6985 7016 6986 7017 /* Line 1806 of yacc.c */ 6987 #line 15 57"parser.yy"7018 #line 1563 "parser.yy" 6988 7019 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 6989 7020 break; … … 6992 7023 6993 7024 /* Line 1806 of yacc.c */ 6994 #line 156 0"parser.yy"7025 #line 1566 "parser.yy" 6995 7026 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 6996 7027 break; … … 6999 7030 7000 7031 /* Line 1806 of yacc.c */ 7001 #line 156 3"parser.yy"7032 #line 1569 "parser.yy" 7002 7033 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7003 7034 break; … … 7006 7037 7007 7038 /* Line 1806 of yacc.c */ 7008 #line 15 69"parser.yy"7039 #line 1575 "parser.yy" 7009 7040 { (yyval.en) = 0; } 7010 7041 break; … … 7013 7044 7014 7045 /* Line 1806 of yacc.c */ 7015 #line 157 1"parser.yy"7046 #line 1577 "parser.yy" 7016 7047 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7017 7048 break; … … 7020 7051 7021 7052 /* Line 1806 of yacc.c */ 7022 #line 15 76"parser.yy"7053 #line 1582 "parser.yy" 7023 7054 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7024 7055 break; … … 7027 7058 7028 7059 /* Line 1806 of yacc.c */ 7029 #line 15 85"parser.yy"7060 #line 1591 "parser.yy" 7030 7061 { (yyval.decl) = DeclarationNode::newEnum( nullptr, (yyvsp[(3) - (5)].decl) ); } 7031 7062 break; … … 7034 7065 7035 7066 /* Line 1806 of yacc.c */ 7036 #line 15 87"parser.yy"7067 #line 1593 "parser.yy" 7037 7068 { 7038 7069 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7044 7075 7045 7076 /* Line 1806 of yacc.c */ 7046 #line 159 2"parser.yy"7077 #line 1598 "parser.yy" 7047 7078 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7048 7079 break; … … 7051 7082 7052 7083 /* Line 1806 of yacc.c */ 7053 #line 1 594"parser.yy"7084 #line 1600 "parser.yy" 7054 7085 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7055 7086 break; … … 7058 7089 7059 7090 /* Line 1806 of yacc.c */ 7060 #line 1 599"parser.yy"7091 #line 1605 "parser.yy" 7061 7092 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7062 7093 break; … … 7065 7096 7066 7097 /* Line 1806 of yacc.c */ 7067 #line 160 1"parser.yy"7098 #line 1607 "parser.yy" 7068 7099 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7069 7100 break; … … 7072 7103 7073 7104 /* Line 1806 of yacc.c */ 7074 #line 16 06"parser.yy"7105 #line 1612 "parser.yy" 7075 7106 { (yyval.en) = 0; } 7076 7107 break; … … 7079 7110 7080 7111 /* Line 1806 of yacc.c */ 7081 #line 16 08"parser.yy"7112 #line 1614 "parser.yy" 7082 7113 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7083 7114 break; … … 7086 7117 7087 7118 /* Line 1806 of yacc.c */ 7088 #line 16 15"parser.yy"7119 #line 1621 "parser.yy" 7089 7120 { (yyval.decl) = 0; } 7090 7121 break; … … 7093 7124 7094 7125 /* Line 1806 of yacc.c */ 7095 #line 162 3"parser.yy"7126 #line 1629 "parser.yy" 7096 7127 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7097 7128 break; … … 7100 7131 7101 7132 /* Line 1806 of yacc.c */ 7102 #line 16 25"parser.yy"7133 #line 1631 "parser.yy" 7103 7134 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7104 7135 break; … … 7107 7138 7108 7139 /* Line 1806 of yacc.c */ 7109 #line 16 27"parser.yy"7140 #line 1633 "parser.yy" 7110 7141 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7111 7142 break; … … 7114 7145 7115 7146 /* Line 1806 of yacc.c */ 7116 #line 16 35"parser.yy"7147 #line 1641 "parser.yy" 7117 7148 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7118 7149 break; … … 7121 7152 7122 7153 /* Line 1806 of yacc.c */ 7123 #line 16 37"parser.yy"7154 #line 1643 "parser.yy" 7124 7155 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7125 7156 break; … … 7128 7159 7129 7160 /* Line 1806 of yacc.c */ 7130 #line 16 39"parser.yy"7161 #line 1645 "parser.yy" 7131 7162 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7132 7163 break; … … 7135 7166 7136 7167 /* Line 1806 of yacc.c */ 7137 #line 16 45"parser.yy"7168 #line 1651 "parser.yy" 7138 7169 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7139 7170 break; … … 7142 7173 7143 7174 /* Line 1806 of yacc.c */ 7144 #line 165 0"parser.yy"7175 #line 1656 "parser.yy" 7145 7176 { (yyval.decl) = 0; } 7146 7177 break; … … 7149 7180 7150 7181 /* Line 1806 of yacc.c */ 7151 #line 16 57"parser.yy"7182 #line 1663 "parser.yy" 7152 7183 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7153 7184 break; … … 7156 7187 7157 7188 /* Line 1806 of yacc.c */ 7158 #line 16 64"parser.yy"7189 #line 1670 "parser.yy" 7159 7190 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7160 7191 break; … … 7163 7194 7164 7195 /* Line 1806 of yacc.c */ 7165 #line 16 66"parser.yy"7196 #line 1672 "parser.yy" 7166 7197 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7167 7198 break; … … 7170 7201 7171 7202 /* Line 1806 of yacc.c */ 7172 #line 16 75"parser.yy"7203 #line 1681 "parser.yy" 7173 7204 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7174 7205 break; … … 7177 7208 7178 7209 /* Line 1806 of yacc.c */ 7179 #line 16 78"parser.yy"7210 #line 1684 "parser.yy" 7180 7211 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7181 7212 break; … … 7184 7215 7185 7216 /* Line 1806 of yacc.c */ 7186 #line 168 0"parser.yy"7217 #line 1686 "parser.yy" 7187 7218 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7188 7219 break; … … 7191 7222 7192 7223 /* Line 1806 of yacc.c */ 7193 #line 169 0"parser.yy"7224 #line 1696 "parser.yy" 7194 7225 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7195 7226 break; … … 7198 7229 7199 7230 /* Line 1806 of yacc.c */ 7200 #line 1 696"parser.yy"7231 #line 1702 "parser.yy" 7201 7232 { 7202 7233 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7208 7239 7209 7240 /* Line 1806 of yacc.c */ 7210 #line 170 1"parser.yy"7241 #line 1707 "parser.yy" 7211 7242 { 7212 7243 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7218 7249 7219 7250 /* Line 1806 of yacc.c */ 7220 #line 171 0"parser.yy"7251 #line 1716 "parser.yy" 7221 7252 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7222 7253 break; … … 7225 7256 7226 7257 /* Line 1806 of yacc.c */ 7227 #line 17 19"parser.yy"7258 #line 1725 "parser.yy" 7228 7259 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7229 7260 break; … … 7232 7263 7233 7264 /* Line 1806 of yacc.c */ 7234 #line 172 1"parser.yy"7265 #line 1727 "parser.yy" 7235 7266 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7236 7267 break; … … 7239 7270 7240 7271 /* Line 1806 of yacc.c */ 7241 #line 17 46"parser.yy"7272 #line 1752 "parser.yy" 7242 7273 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7243 7274 break; … … 7246 7277 7247 7278 /* Line 1806 of yacc.c */ 7248 #line 17 54"parser.yy"7279 #line 1760 "parser.yy" 7249 7280 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7250 7281 break; … … 7253 7284 7254 7285 /* Line 1806 of yacc.c */ 7255 #line 17 59"parser.yy"7286 #line 1765 "parser.yy" 7256 7287 { (yyval.in) = 0; } 7257 7288 break; … … 7260 7291 7261 7292 /* Line 1806 of yacc.c */ 7262 #line 176 1"parser.yy"7293 #line 1767 "parser.yy" 7263 7294 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7264 7295 break; … … 7267 7298 7268 7299 /* Line 1806 of yacc.c */ 7269 #line 176 3"parser.yy"7300 #line 1769 "parser.yy" 7270 7301 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7271 7302 break; … … 7274 7305 7275 7306 /* Line 1806 of yacc.c */ 7276 #line 17 67"parser.yy"7307 #line 1773 "parser.yy" 7277 7308 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7278 7309 break; … … 7281 7312 7282 7313 /* Line 1806 of yacc.c */ 7283 #line 17 68"parser.yy"7314 #line 1774 "parser.yy" 7284 7315 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7285 7316 break; … … 7288 7319 7289 7320 /* Line 1806 of yacc.c */ 7290 #line 177 3"parser.yy"7321 #line 1779 "parser.yy" 7291 7322 { (yyval.in) = 0; } 7292 7323 break; … … 7295 7326 7296 7327 /* Line 1806 of yacc.c */ 7297 #line 17 75"parser.yy"7328 #line 1781 "parser.yy" 7298 7329 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7299 7330 break; … … 7302 7333 7303 7334 /* Line 1806 of yacc.c */ 7304 #line 17 76"parser.yy"7335 #line 1782 "parser.yy" 7305 7336 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_last( (yyvsp[(3) - (3)].in) ) ); } 7306 7337 break; … … 7309 7340 7310 7341 /* Line 1806 of yacc.c */ 7311 #line 17 78"parser.yy"7342 #line 1784 "parser.yy" 7312 7343 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_last( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7313 7344 break; … … 7316 7347 7317 7348 /* Line 1806 of yacc.c */ 7318 #line 1 794"parser.yy"7349 #line 1800 "parser.yy" 7319 7350 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(1) - (2)].tok) ) ); } 7320 7351 break; … … 7323 7354 7324 7355 /* Line 1806 of yacc.c */ 7325 #line 180 0"parser.yy"7356 #line 1806 "parser.yy" 7326 7357 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_last( (yyvsp[(2) - (2)].en) ) ); } 7327 7358 break; … … 7330 7361 7331 7362 /* Line 1806 of yacc.c */ 7332 #line 18 06"parser.yy"7363 #line 1812 "parser.yy" 7333 7364 { (yyval.en) = new ExpressionNode( build_varref( (yyvsp[(2) - (2)].tok) ) ); } 7334 7365 break; … … 7337 7368 7338 7369 /* Line 1806 of yacc.c */ 7339 #line 18 09"parser.yy"7370 #line 1815 "parser.yy" 7340 7371 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7341 7372 break; … … 7344 7375 7345 7376 /* Line 1806 of yacc.c */ 7346 #line 181 1"parser.yy"7377 #line 1817 "parser.yy" 7347 7378 { (yyval.en) = (yyvsp[(3) - (5)].en); } 7348 7379 break; … … 7351 7382 7352 7383 /* Line 1806 of yacc.c */ 7353 #line 181 3"parser.yy"7384 #line 1819 "parser.yy" 7354 7385 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ) ); } 7355 7386 break; … … 7358 7389 7359 7390 /* Line 1806 of yacc.c */ 7360 #line 18 15"parser.yy"7391 #line 1821 "parser.yy" 7361 7392 { (yyval.en) = (yyvsp[(4) - (6)].en); } 7362 7393 break; … … 7365 7396 7366 7397 /* Line 1806 of yacc.c */ 7367 #line 18 39"parser.yy"7398 #line 1845 "parser.yy" 7368 7399 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7369 7400 break; … … 7372 7403 7373 7404 /* Line 1806 of yacc.c */ 7374 #line 184 1"parser.yy"7405 #line 1847 "parser.yy" 7375 7406 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7376 7407 break; … … 7379 7410 7380 7411 /* Line 1806 of yacc.c */ 7381 #line 184 3"parser.yy"7412 #line 1849 "parser.yy" 7382 7413 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7383 7414 break; … … 7386 7417 7387 7418 /* Line 1806 of yacc.c */ 7388 #line 18 49"parser.yy"7419 #line 1855 "parser.yy" 7389 7420 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7390 7421 break; … … 7393 7424 7394 7425 /* Line 1806 of yacc.c */ 7395 #line 185 1"parser.yy"7426 #line 1857 "parser.yy" 7396 7427 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7397 7428 break; … … 7400 7431 7401 7432 /* Line 1806 of yacc.c */ 7402 #line 18 56"parser.yy"7433 #line 1862 "parser.yy" 7403 7434 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7404 7435 break; … … 7407 7438 7408 7439 /* Line 1806 of yacc.c */ 7409 #line 186 2"parser.yy"7440 #line 1868 "parser.yy" 7410 7441 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7411 7442 break; … … 7414 7445 7415 7446 /* Line 1806 of yacc.c */ 7416 #line 18 67"parser.yy"7447 #line 1873 "parser.yy" 7417 7448 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7418 7449 break; … … 7421 7452 7422 7453 /* Line 1806 of yacc.c */ 7423 #line 18 69"parser.yy"7454 #line 1875 "parser.yy" 7424 7455 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7425 7456 break; … … 7428 7459 7429 7460 /* Line 1806 of yacc.c */ 7430 #line 18 75"parser.yy"7461 #line 1881 "parser.yy" 7431 7462 { (yyval.tclass) = DeclarationNode::Otype; } 7432 7463 break; … … 7435 7466 7436 7467 /* Line 1806 of yacc.c */ 7437 #line 18 77"parser.yy"7468 #line 1883 "parser.yy" 7438 7469 { (yyval.tclass) = DeclarationNode::Ftype; } 7439 7470 break; … … 7442 7473 7443 7474 /* Line 1806 of yacc.c */ 7444 #line 18 79"parser.yy"7475 #line 1885 "parser.yy" 7445 7476 { (yyval.tclass) = DeclarationNode::Dtype; } 7446 7477 break; … … 7449 7480 7450 7481 /* Line 1806 of yacc.c */ 7451 #line 18 84"parser.yy"7482 #line 1890 "parser.yy" 7452 7483 { (yyval.decl) = 0; } 7453 7484 break; … … 7456 7487 7457 7488 /* Line 1806 of yacc.c */ 7458 #line 18 86"parser.yy"7489 #line 1892 "parser.yy" 7459 7490 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7460 7491 break; … … 7463 7494 7464 7495 /* Line 1806 of yacc.c */ 7465 #line 189 1"parser.yy"7496 #line 1897 "parser.yy" 7466 7497 { 7467 7498 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7473 7504 7474 7505 /* Line 1806 of yacc.c */ 7475 #line 1 896"parser.yy"7506 #line 1902 "parser.yy" 7476 7507 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7477 7508 break; … … 7480 7511 7481 7512 /* Line 1806 of yacc.c */ 7482 #line 1 898"parser.yy"7513 #line 1904 "parser.yy" 7483 7514 { (yyval.decl) = 0; } 7484 7515 break; … … 7487 7518 7488 7519 /* Line 1806 of yacc.c */ 7489 #line 190 3"parser.yy"7520 #line 1909 "parser.yy" 7490 7521 { (yyval.en) = new ExpressionNode( build_typevalue( (yyvsp[(1) - (1)].decl) ) ); } 7491 7522 break; … … 7494 7525 7495 7526 /* Line 1806 of yacc.c */ 7496 #line 19 06"parser.yy"7527 #line 1912 "parser.yy" 7497 7528 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( new ExpressionNode( build_typevalue( (yyvsp[(3) - (3)].decl) ) ) ) ); } 7498 7529 break; … … 7501 7532 7502 7533 /* Line 1806 of yacc.c */ 7503 #line 19 08"parser.yy"7534 #line 1914 "parser.yy" 7504 7535 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_last( (yyvsp[(3) - (3)].en) )); } 7505 7536 break; … … 7508 7539 7509 7540 /* Line 1806 of yacc.c */ 7510 #line 191 3"parser.yy"7541 #line 1919 "parser.yy" 7511 7542 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7512 7543 break; … … 7515 7546 7516 7547 /* Line 1806 of yacc.c */ 7517 #line 19 15"parser.yy"7548 #line 1921 "parser.yy" 7518 7549 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7519 7550 break; … … 7522 7553 7523 7554 /* Line 1806 of yacc.c */ 7524 #line 19 17"parser.yy"7555 #line 1923 "parser.yy" 7525 7556 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7526 7557 break; … … 7529 7560 7530 7561 /* Line 1806 of yacc.c */ 7531 #line 192 2"parser.yy"7562 #line 1928 "parser.yy" 7532 7563 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7533 7564 break; … … 7536 7567 7537 7568 /* Line 1806 of yacc.c */ 7538 #line 19 24"parser.yy"7569 #line 1930 "parser.yy" 7539 7570 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7540 7571 break; … … 7543 7574 7544 7575 /* Line 1806 of yacc.c */ 7545 #line 19 29"parser.yy"7576 #line 1935 "parser.yy" 7546 7577 { 7547 7578 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7553 7584 7554 7585 /* Line 1806 of yacc.c */ 7555 #line 19 34"parser.yy"7586 #line 1940 "parser.yy" 7556 7587 { 7557 7588 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7563 7594 7564 7595 /* Line 1806 of yacc.c */ 7565 #line 194 2"parser.yy"7596 #line 1948 "parser.yy" 7566 7597 { 7567 7598 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7573 7604 7574 7605 /* Line 1806 of yacc.c */ 7575 #line 19 47"parser.yy"7606 #line 1953 "parser.yy" 7576 7607 { 7577 7608 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7583 7614 7584 7615 /* Line 1806 of yacc.c */ 7585 #line 195 2"parser.yy"7616 #line 1958 "parser.yy" 7586 7617 { 7587 7618 typedefTable.leaveTrait(); … … 7594 7625 7595 7626 /* Line 1806 of yacc.c */ 7596 #line 196 2"parser.yy"7627 #line 1968 "parser.yy" 7597 7628 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7598 7629 break; … … 7601 7632 7602 7633 /* Line 1806 of yacc.c */ 7603 #line 197 2"parser.yy"7634 #line 1978 "parser.yy" 7604 7635 { 7605 7636 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7611 7642 7612 7643 /* Line 1806 of yacc.c */ 7613 #line 19 77"parser.yy"7644 #line 1983 "parser.yy" 7614 7645 { 7615 7646 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7621 7652 7622 7653 /* Line 1806 of yacc.c */ 7623 #line 198 2"parser.yy"7654 #line 1988 "parser.yy" 7624 7655 { 7625 7656 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7631 7662 7632 7663 /* Line 1806 of yacc.c */ 7633 #line 199 0"parser.yy"7664 #line 1996 "parser.yy" 7634 7665 { 7635 7666 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7641 7672 7642 7673 /* Line 1806 of yacc.c */ 7643 #line 1995"parser.yy"7674 #line 2001 "parser.yy" 7644 7675 { 7645 7676 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7651 7682 7652 7683 /* Line 1806 of yacc.c */ 7653 #line 20 05"parser.yy"7684 #line 2011 "parser.yy" 7654 7685 {} 7655 7686 break; … … 7658 7689 7659 7690 /* Line 1806 of yacc.c */ 7660 #line 20 07"parser.yy"7691 #line 2013 "parser.yy" 7661 7692 { parseTree = parseTree != nullptr ? parseTree->appendList( (yyvsp[(1) - (1)].decl) ) : (yyvsp[(1) - (1)].decl); } 7662 7693 break; … … 7665 7696 7666 7697 /* Line 1806 of yacc.c */ 7667 #line 201 3"parser.yy"7698 #line 2019 "parser.yy" 7668 7699 { (yyval.decl) = (yyvsp[(1) - (3)].decl) != nullptr ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7669 7700 break; … … 7672 7703 7673 7704 /* Line 1806 of yacc.c */ 7674 #line 20 18"parser.yy"7705 #line 2024 "parser.yy" 7675 7706 { (yyval.decl) = 0; } 7676 7707 break; … … 7679 7710 7680 7711 /* Line 1806 of yacc.c */ 7681 #line 20 26"parser.yy"7712 #line 2032 "parser.yy" 7682 7713 {} 7683 7714 break; … … 7686 7717 7687 7718 /* Line 1806 of yacc.c */ 7688 #line 20 28"parser.yy"7719 #line 2034 "parser.yy" 7689 7720 { 7690 7721 linkageStack.push( linkage ); // handle nested extern "C"/"Cforall" … … 7696 7727 7697 7728 /* Line 1806 of yacc.c */ 7698 #line 203 3"parser.yy"7729 #line 2039 "parser.yy" 7699 7730 { 7700 7731 linkage = linkageStack.top(); … … 7707 7738 7708 7739 /* Line 1806 of yacc.c */ 7709 #line 20 39"parser.yy"7740 #line 2045 "parser.yy" 7710 7741 { // mark all fields in list 7711 7742 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != nullptr; iter = (DeclarationNode *)iter->get_next() ) … … 7718 7749 7719 7750 /* Line 1806 of yacc.c */ 7720 #line 20 54"parser.yy"7751 #line 2060 "parser.yy" 7721 7752 { 7722 7753 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7729 7760 7730 7761 /* Line 1806 of yacc.c */ 7731 #line 206 0"parser.yy"7762 #line 2066 "parser.yy" 7732 7763 { 7733 7764 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7740 7771 7741 7772 /* Line 1806 of yacc.c */ 7742 #line 20 69"parser.yy"7773 #line 2075 "parser.yy" 7743 7774 { 7744 7775 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7751 7782 7752 7783 /* Line 1806 of yacc.c */ 7753 #line 20 75"parser.yy"7784 #line 2081 "parser.yy" 7754 7785 { 7755 7786 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7760 7791 7761 7792 case 538: 7762 7763 /* Line 1806 of yacc.c */7764 #line 2081 "parser.yy"7765 {7766 typedefTable.addToEnclosingScope( TypedefTable::ID );7767 typedefTable.leaveScope();7768 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) );7769 }7770 break;7771 7772 case 539:7773 7793 7774 7794 /* Line 1806 of yacc.c */ … … 7781 7801 break; 7782 7802 7803 case 539: 7804 7805 /* Line 1806 of yacc.c */ 7806 #line 2093 "parser.yy" 7807 { 7808 typedefTable.addToEnclosingScope( TypedefTable::ID ); 7809 typedefTable.leaveScope(); 7810 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addFunctionBody( (yyvsp[(3) - (3)].sn) )->addQualifiers( (yyvsp[(1) - (3)].decl) ); 7811 } 7812 break; 7813 7783 7814 case 540: 7784 7815 7785 7816 /* Line 1806 of yacc.c */ 7786 #line 209 3"parser.yy"7817 #line 2099 "parser.yy" 7787 7818 { 7788 7819 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7795 7826 7796 7827 /* Line 1806 of yacc.c */ 7797 #line 210 1"parser.yy"7828 #line 2107 "parser.yy" 7798 7829 { 7799 7830 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7806 7837 7807 7838 /* Line 1806 of yacc.c */ 7808 #line 21 07"parser.yy"7839 #line 2113 "parser.yy" 7809 7840 { 7810 7841 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7817 7848 7818 7849 /* Line 1806 of yacc.c */ 7819 #line 21 15"parser.yy"7850 #line 2121 "parser.yy" 7820 7851 { 7821 7852 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7828 7859 7829 7860 /* Line 1806 of yacc.c */ 7830 #line 212 1"parser.yy"7861 #line 2127 "parser.yy" 7831 7862 { 7832 7863 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7839 7870 7840 7871 /* Line 1806 of yacc.c */ 7841 #line 21 36"parser.yy"7872 #line 2142 "parser.yy" 7842 7873 { (yyval.en) = new ExpressionNode( build_range( (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ) ); } 7843 7874 break; … … 7846 7877 7847 7878 /* Line 1806 of yacc.c */ 7848 #line 214 1"parser.yy"7879 #line 2147 "parser.yy" 7849 7880 { delete (yyvsp[(3) - (5)].str); } 7850 7881 break; … … 7853 7884 7854 7885 /* Line 1806 of yacc.c */ 7855 #line 21 46"parser.yy"7886 #line 2152 "parser.yy" 7856 7887 { (yyval.decl) = 0; } 7857 7888 break; … … 7860 7891 7861 7892 /* Line 1806 of yacc.c */ 7862 #line 215 3"parser.yy"7893 #line 2159 "parser.yy" 7863 7894 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7864 7895 break; … … 7867 7898 7868 7899 /* Line 1806 of yacc.c */ 7869 #line 21 59"parser.yy"7900 #line 2165 "parser.yy" 7870 7901 { (yyval.decl) = 0; } 7871 7902 break; … … 7874 7905 7875 7906 /* Line 1806 of yacc.c */ 7876 #line 217 0"parser.yy"7907 #line 2176 "parser.yy" 7877 7908 { delete (yyvsp[(3) - (4)].en); } 7878 7909 break; … … 7881 7912 7882 7913 /* Line 1806 of yacc.c */ 7883 #line 21 74"parser.yy"7914 #line 2180 "parser.yy" 7884 7915 { delete (yyvsp[(1) - (1)].tok); } 7885 7916 break; … … 7888 7919 7889 7920 /* Line 1806 of yacc.c */ 7890 #line 21 75"parser.yy"7921 #line 2181 "parser.yy" 7891 7922 { delete (yyvsp[(1) - (1)].decl); } 7892 7923 break; … … 7895 7926 7896 7927 /* Line 1806 of yacc.c */ 7897 #line 21 76"parser.yy"7928 #line 2182 "parser.yy" 7898 7929 { delete (yyvsp[(1) - (1)].decl); } 7899 7930 break; … … 7902 7933 7903 7934 /* Line 1806 of yacc.c */ 7904 #line 21 77"parser.yy"7935 #line 2183 "parser.yy" 7905 7936 { delete (yyvsp[(1) - (1)].decl); } 7906 7937 break; … … 7909 7940 7910 7941 /* Line 1806 of yacc.c */ 7911 #line 221 2"parser.yy"7942 #line 2218 "parser.yy" 7912 7943 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7913 7944 break; … … 7916 7947 7917 7948 /* Line 1806 of yacc.c */ 7918 #line 22 15"parser.yy"7949 #line 2221 "parser.yy" 7919 7950 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7920 7951 break; … … 7923 7954 7924 7955 /* Line 1806 of yacc.c */ 7925 #line 22 17"parser.yy"7956 #line 2223 "parser.yy" 7926 7957 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7927 7958 break; … … 7930 7961 7931 7962 /* Line 1806 of yacc.c */ 7932 #line 222 2"parser.yy"7963 #line 2228 "parser.yy" 7933 7964 { 7934 7965 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 7940 7971 7941 7972 /* Line 1806 of yacc.c */ 7942 #line 22 27"parser.yy"7973 #line 2233 "parser.yy" 7943 7974 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7944 7975 break; … … 7947 7978 7948 7979 /* Line 1806 of yacc.c */ 7949 #line 223 2"parser.yy"7980 #line 2238 "parser.yy" 7950 7981 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 7951 7982 break; … … 7954 7985 7955 7986 /* Line 1806 of yacc.c */ 7956 #line 22 34"parser.yy"7987 #line 2240 "parser.yy" 7957 7988 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 7958 7989 break; … … 7961 7992 7962 7993 /* Line 1806 of yacc.c */ 7963 #line 22 36"parser.yy"7994 #line 2242 "parser.yy" 7964 7995 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7965 7996 break; … … 7968 7999 7969 8000 /* Line 1806 of yacc.c */ 7970 #line 224 1"parser.yy"8001 #line 2247 "parser.yy" 7971 8002 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 7972 8003 break; … … 7975 8006 7976 8007 /* Line 1806 of yacc.c */ 7977 #line 224 3"parser.yy"8008 #line 2249 "parser.yy" 7978 8009 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7979 8010 break; … … 7982 8013 7983 8014 /* Line 1806 of yacc.c */ 7984 #line 22 45"parser.yy"8015 #line 2251 "parser.yy" 7985 8016 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 7986 8017 break; … … 7989 8020 7990 8021 /* Line 1806 of yacc.c */ 7991 #line 22 47"parser.yy"8022 #line 2253 "parser.yy" 7992 8023 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7993 8024 break; … … 7996 8027 7997 8028 /* Line 1806 of yacc.c */ 7998 #line 225 2"parser.yy"8029 #line 2258 "parser.yy" 7999 8030 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8000 8031 break; … … 8003 8034 8004 8035 /* Line 1806 of yacc.c */ 8005 #line 22 54"parser.yy"8036 #line 2260 "parser.yy" 8006 8037 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8007 8038 break; … … 8010 8041 8011 8042 /* Line 1806 of yacc.c */ 8012 #line 226 3"parser.yy"8043 #line 2269 "parser.yy" 8013 8044 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8014 8045 break; … … 8017 8048 8018 8049 /* Line 1806 of yacc.c */ 8019 #line 22 66"parser.yy"8050 #line 2272 "parser.yy" 8020 8051 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8021 8052 break; … … 8024 8055 8025 8056 /* Line 1806 of yacc.c */ 8026 #line 227 1"parser.yy"8057 #line 2277 "parser.yy" 8027 8058 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8028 8059 break; … … 8031 8062 8032 8063 /* Line 1806 of yacc.c */ 8033 #line 227 3"parser.yy"8064 #line 2279 "parser.yy" 8034 8065 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8035 8066 break; … … 8038 8069 8039 8070 /* Line 1806 of yacc.c */ 8040 #line 22 75"parser.yy"8071 #line 2281 "parser.yy" 8041 8072 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8042 8073 break; … … 8045 8076 8046 8077 /* Line 1806 of yacc.c */ 8047 #line 228 0"parser.yy"8078 #line 2286 "parser.yy" 8048 8079 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8049 8080 break; … … 8052 8083 8053 8084 /* Line 1806 of yacc.c */ 8054 #line 228 2"parser.yy"8085 #line 2288 "parser.yy" 8055 8086 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8056 8087 break; … … 8059 8090 8060 8091 /* Line 1806 of yacc.c */ 8061 #line 22 84"parser.yy"8092 #line 2290 "parser.yy" 8062 8093 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8063 8094 break; … … 8066 8097 8067 8098 /* Line 1806 of yacc.c */ 8068 #line 22 89"parser.yy"8099 #line 2295 "parser.yy" 8069 8100 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8070 8101 break; … … 8073 8104 8074 8105 /* Line 1806 of yacc.c */ 8075 #line 229 1"parser.yy"8106 #line 2297 "parser.yy" 8076 8107 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8077 8108 break; … … 8080 8111 8081 8112 /* Line 1806 of yacc.c */ 8082 #line 229 3"parser.yy"8113 #line 2299 "parser.yy" 8083 8114 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8084 8115 break; … … 8087 8118 8088 8119 /* Line 1806 of yacc.c */ 8089 #line 23 08"parser.yy"8120 #line 2314 "parser.yy" 8090 8121 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8091 8122 break; … … 8094 8125 8095 8126 /* Line 1806 of yacc.c */ 8096 #line 231 0"parser.yy"8127 #line 2316 "parser.yy" 8097 8128 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8098 8129 break; … … 8101 8132 8102 8133 /* Line 1806 of yacc.c */ 8103 #line 231 2"parser.yy"8134 #line 2318 "parser.yy" 8104 8135 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8105 8136 break; … … 8108 8139 8109 8140 /* Line 1806 of yacc.c */ 8110 #line 23 17"parser.yy"8141 #line 2323 "parser.yy" 8111 8142 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8112 8143 break; … … 8115 8146 8116 8147 /* Line 1806 of yacc.c */ 8117 #line 23 19"parser.yy"8148 #line 2325 "parser.yy" 8118 8149 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8119 8150 break; … … 8122 8153 8123 8154 /* Line 1806 of yacc.c */ 8124 #line 232 1"parser.yy"8155 #line 2327 "parser.yy" 8125 8156 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8126 8157 break; … … 8129 8160 8130 8161 /* Line 1806 of yacc.c */ 8131 #line 23 26"parser.yy"8162 #line 2332 "parser.yy" 8132 8163 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8133 8164 break; … … 8136 8167 8137 8168 /* Line 1806 of yacc.c */ 8138 #line 23 28"parser.yy"8169 #line 2334 "parser.yy" 8139 8170 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8140 8171 break; … … 8143 8174 8144 8175 /* Line 1806 of yacc.c */ 8145 #line 233 0"parser.yy"8176 #line 2336 "parser.yy" 8146 8177 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8147 8178 break; … … 8150 8181 8151 8182 /* Line 1806 of yacc.c */ 8152 #line 23 45"parser.yy"8183 #line 2351 "parser.yy" 8153 8184 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8154 8185 break; … … 8157 8188 8158 8189 /* Line 1806 of yacc.c */ 8159 #line 23 48"parser.yy"8190 #line 2354 "parser.yy" 8160 8191 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8161 8192 break; … … 8164 8195 8165 8196 /* Line 1806 of yacc.c */ 8166 #line 235 0"parser.yy"8197 #line 2356 "parser.yy" 8167 8198 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8168 8199 break; … … 8171 8202 8172 8203 /* Line 1806 of yacc.c */ 8173 #line 23 56"parser.yy"8204 #line 2362 "parser.yy" 8174 8205 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8175 8206 break; … … 8178 8209 8179 8210 /* Line 1806 of yacc.c */ 8180 #line 236 1"parser.yy"8211 #line 2367 "parser.yy" 8181 8212 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8182 8213 break; … … 8185 8216 8186 8217 /* Line 1806 of yacc.c */ 8187 #line 236 3"parser.yy"8218 #line 2369 "parser.yy" 8188 8219 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8189 8220 break; … … 8192 8223 8193 8224 /* Line 1806 of yacc.c */ 8194 #line 23 65"parser.yy"8225 #line 2371 "parser.yy" 8195 8226 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8196 8227 break; … … 8199 8230 8200 8231 /* Line 1806 of yacc.c */ 8201 #line 237 0"parser.yy"8232 #line 2376 "parser.yy" 8202 8233 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8203 8234 break; … … 8206 8237 8207 8238 /* Line 1806 of yacc.c */ 8208 #line 237 2"parser.yy"8239 #line 2378 "parser.yy" 8209 8240 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8210 8241 break; … … 8213 8244 8214 8245 /* Line 1806 of yacc.c */ 8215 #line 23 74"parser.yy"8246 #line 2380 "parser.yy" 8216 8247 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8217 8248 break; … … 8220 8251 8221 8252 /* Line 1806 of yacc.c */ 8222 #line 23 76"parser.yy"8253 #line 2382 "parser.yy" 8223 8254 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8224 8255 break; … … 8227 8258 8228 8259 /* Line 1806 of yacc.c */ 8229 #line 238 1"parser.yy"8260 #line 2387 "parser.yy" 8230 8261 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8231 8262 break; … … 8234 8265 8235 8266 /* Line 1806 of yacc.c */ 8236 #line 238 3"parser.yy"8267 #line 2389 "parser.yy" 8237 8268 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8238 8269 break; … … 8241 8272 8242 8273 /* Line 1806 of yacc.c */ 8243 #line 23 85"parser.yy"8274 #line 2391 "parser.yy" 8244 8275 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8245 8276 break; … … 8248 8279 8249 8280 /* Line 1806 of yacc.c */ 8250 #line 2 395"parser.yy"8281 #line 2401 "parser.yy" 8251 8282 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8252 8283 break; … … 8255 8286 8256 8287 /* Line 1806 of yacc.c */ 8257 #line 2 398"parser.yy"8288 #line 2404 "parser.yy" 8258 8289 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8259 8290 break; … … 8262 8293 8263 8294 /* Line 1806 of yacc.c */ 8264 #line 240 0"parser.yy"8295 #line 2406 "parser.yy" 8265 8296 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8266 8297 break; … … 8269 8300 8270 8301 /* Line 1806 of yacc.c */ 8271 #line 24 05"parser.yy"8302 #line 2411 "parser.yy" 8272 8303 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8273 8304 break; … … 8276 8307 8277 8308 /* Line 1806 of yacc.c */ 8278 #line 24 07"parser.yy"8309 #line 2413 "parser.yy" 8279 8310 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8280 8311 break; … … 8283 8314 8284 8315 /* Line 1806 of yacc.c */ 8285 #line 24 09"parser.yy"8316 #line 2415 "parser.yy" 8286 8317 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8287 8318 break; … … 8290 8321 8291 8322 /* Line 1806 of yacc.c */ 8292 #line 24 14"parser.yy"8323 #line 2420 "parser.yy" 8293 8324 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8294 8325 break; … … 8297 8328 8298 8329 /* Line 1806 of yacc.c */ 8299 #line 24 16"parser.yy"8330 #line 2422 "parser.yy" 8300 8331 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8301 8332 break; … … 8304 8335 8305 8336 /* Line 1806 of yacc.c */ 8306 #line 24 18"parser.yy"8337 #line 2424 "parser.yy" 8307 8338 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8308 8339 break; … … 8311 8342 8312 8343 /* Line 1806 of yacc.c */ 8313 #line 242 0"parser.yy"8344 #line 2426 "parser.yy" 8314 8345 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8315 8346 break; … … 8318 8349 8319 8350 /* Line 1806 of yacc.c */ 8320 #line 24 25"parser.yy"8351 #line 2431 "parser.yy" 8321 8352 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8322 8353 break; … … 8325 8356 8326 8357 /* Line 1806 of yacc.c */ 8327 #line 24 27"parser.yy"8358 #line 2433 "parser.yy" 8328 8359 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8329 8360 break; … … 8332 8363 8333 8364 /* Line 1806 of yacc.c */ 8334 #line 24 29"parser.yy"8365 #line 2435 "parser.yy" 8335 8366 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8336 8367 break; … … 8339 8370 8340 8371 /* Line 1806 of yacc.c */ 8341 #line 246 0"parser.yy"8372 #line 2466 "parser.yy" 8342 8373 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8343 8374 break; … … 8346 8377 8347 8378 /* Line 1806 of yacc.c */ 8348 #line 246 3"parser.yy"8379 #line 2469 "parser.yy" 8349 8380 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8350 8381 break; … … 8353 8384 8354 8385 /* Line 1806 of yacc.c */ 8355 #line 24 65"parser.yy"8386 #line 2471 "parser.yy" 8356 8387 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8357 8388 break; … … 8360 8391 8361 8392 /* Line 1806 of yacc.c */ 8362 #line 247 0"parser.yy"8393 #line 2476 "parser.yy" 8363 8394 { 8364 8395 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8370 8401 8371 8402 /* Line 1806 of yacc.c */ 8372 #line 24 75"parser.yy"8403 #line 2481 "parser.yy" 8373 8404 { 8374 8405 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8380 8411 8381 8412 /* Line 1806 of yacc.c */ 8382 #line 248 3"parser.yy"8413 #line 2489 "parser.yy" 8383 8414 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8384 8415 break; … … 8387 8418 8388 8419 /* Line 1806 of yacc.c */ 8389 #line 24 85"parser.yy"8420 #line 2491 "parser.yy" 8390 8421 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8391 8422 break; … … 8394 8425 8395 8426 /* Line 1806 of yacc.c */ 8396 #line 24 87"parser.yy"8427 #line 2493 "parser.yy" 8397 8428 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8398 8429 break; … … 8401 8432 8402 8433 /* Line 1806 of yacc.c */ 8403 #line 249 2"parser.yy"8434 #line 2498 "parser.yy" 8404 8435 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8405 8436 break; … … 8408 8439 8409 8440 /* Line 1806 of yacc.c */ 8410 #line 2 494"parser.yy"8441 #line 2500 "parser.yy" 8411 8442 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8412 8443 break; … … 8415 8446 8416 8447 /* Line 1806 of yacc.c */ 8417 #line 2 499"parser.yy"8448 #line 2505 "parser.yy" 8418 8449 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8419 8450 break; … … 8422 8453 8423 8454 /* Line 1806 of yacc.c */ 8424 #line 250 1"parser.yy"8455 #line 2507 "parser.yy" 8425 8456 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8426 8457 break; … … 8429 8460 8430 8461 /* Line 1806 of yacc.c */ 8431 #line 25 16"parser.yy"8462 #line 2522 "parser.yy" 8432 8463 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8433 8464 break; … … 8436 8467 8437 8468 /* Line 1806 of yacc.c */ 8438 #line 25 18"parser.yy"8469 #line 2524 "parser.yy" 8439 8470 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8440 8471 break; … … 8443 8474 8444 8475 /* Line 1806 of yacc.c */ 8445 #line 252 3"parser.yy"8476 #line 2529 "parser.yy" 8446 8477 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8447 8478 break; … … 8450 8481 8451 8482 /* Line 1806 of yacc.c */ 8452 #line 25 25"parser.yy"8483 #line 2531 "parser.yy" 8453 8484 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8454 8485 break; … … 8457 8488 8458 8489 /* Line 1806 of yacc.c */ 8459 #line 25 27"parser.yy"8490 #line 2533 "parser.yy" 8460 8491 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8461 8492 break; … … 8464 8495 8465 8496 /* Line 1806 of yacc.c */ 8466 #line 25 29"parser.yy"8497 #line 2535 "parser.yy" 8467 8498 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8468 8499 break; … … 8471 8502 8472 8503 /* Line 1806 of yacc.c */ 8473 #line 253 1"parser.yy"8504 #line 2537 "parser.yy" 8474 8505 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8475 8506 break; … … 8478 8509 8479 8510 /* Line 1806 of yacc.c */ 8480 #line 25 37"parser.yy"8511 #line 2543 "parser.yy" 8481 8512 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8482 8513 break; … … 8485 8516 8486 8517 /* Line 1806 of yacc.c */ 8487 #line 25 39"parser.yy"8518 #line 2545 "parser.yy" 8488 8519 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8489 8520 break; … … 8492 8523 8493 8524 /* Line 1806 of yacc.c */ 8494 #line 254 1"parser.yy"8525 #line 2547 "parser.yy" 8495 8526 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8496 8527 break; … … 8499 8530 8500 8531 /* Line 1806 of yacc.c */ 8501 #line 25 46"parser.yy"8532 #line 2552 "parser.yy" 8502 8533 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8503 8534 break; … … 8506 8537 8507 8538 /* Line 1806 of yacc.c */ 8508 #line 25 48"parser.yy"8539 #line 2554 "parser.yy" 8509 8540 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8510 8541 break; … … 8513 8544 8514 8545 /* Line 1806 of yacc.c */ 8515 #line 255 0"parser.yy"8546 #line 2556 "parser.yy" 8516 8547 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8517 8548 break; … … 8520 8551 8521 8552 /* Line 1806 of yacc.c */ 8522 #line 25 56"parser.yy"8553 #line 2562 "parser.yy" 8523 8554 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8524 8555 break; … … 8527 8558 8528 8559 /* Line 1806 of yacc.c */ 8529 #line 25 58"parser.yy"8560 #line 2564 "parser.yy" 8530 8561 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8531 8562 break; … … 8534 8565 8535 8566 /* Line 1806 of yacc.c */ 8536 #line 25 64"parser.yy"8567 #line 2570 "parser.yy" 8537 8568 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8538 8569 break; … … 8541 8572 8542 8573 /* Line 1806 of yacc.c */ 8543 #line 25 66"parser.yy"8574 #line 2572 "parser.yy" 8544 8575 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8545 8576 break; … … 8548 8579 8549 8580 /* Line 1806 of yacc.c */ 8550 #line 25 68"parser.yy"8581 #line 2574 "parser.yy" 8551 8582 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8552 8583 break; … … 8555 8586 8556 8587 /* Line 1806 of yacc.c */ 8557 #line 257 0"parser.yy"8588 #line 2576 "parser.yy" 8558 8589 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8559 8590 break; … … 8562 8593 8563 8594 /* Line 1806 of yacc.c */ 8564 #line 25 85"parser.yy"8595 #line 2591 "parser.yy" 8565 8596 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8566 8597 break; … … 8569 8600 8570 8601 /* Line 1806 of yacc.c */ 8571 #line 25 87"parser.yy"8602 #line 2593 "parser.yy" 8572 8603 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8573 8604 break; … … 8576 8607 8577 8608 /* Line 1806 of yacc.c */ 8578 #line 259 2"parser.yy"8609 #line 2598 "parser.yy" 8579 8610 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8580 8611 break; … … 8583 8614 8584 8615 /* Line 1806 of yacc.c */ 8585 #line 2 594"parser.yy"8616 #line 2600 "parser.yy" 8586 8617 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8587 8618 break; … … 8590 8621 8591 8622 /* Line 1806 of yacc.c */ 8592 #line 2 596"parser.yy"8623 #line 2602 "parser.yy" 8593 8624 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8594 8625 break; … … 8597 8628 8598 8629 /* Line 1806 of yacc.c */ 8599 #line 2 598"parser.yy"8630 #line 2604 "parser.yy" 8600 8631 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8601 8632 break; … … 8604 8635 8605 8636 /* Line 1806 of yacc.c */ 8606 #line 260 0"parser.yy"8637 #line 2606 "parser.yy" 8607 8638 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8608 8639 break; … … 8611 8642 8612 8643 /* Line 1806 of yacc.c */ 8613 #line 26 06"parser.yy"8644 #line 2612 "parser.yy" 8614 8645 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8615 8646 break; … … 8618 8649 8619 8650 /* Line 1806 of yacc.c */ 8620 #line 26 08"parser.yy"8651 #line 2614 "parser.yy" 8621 8652 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8622 8653 break; … … 8625 8656 8626 8657 /* Line 1806 of yacc.c */ 8627 #line 261 0"parser.yy"8658 #line 2616 "parser.yy" 8628 8659 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8629 8660 break; … … 8632 8663 8633 8664 /* Line 1806 of yacc.c */ 8634 #line 26 15"parser.yy"8665 #line 2621 "parser.yy" 8635 8666 { (yyval.decl) = DeclarationNode::newFunction( nullptr, nullptr, (yyvsp[(3) - (5)].decl), nullptr ); } 8636 8667 break; … … 8639 8670 8640 8671 /* Line 1806 of yacc.c */ 8641 #line 26 17"parser.yy"8672 #line 2623 "parser.yy" 8642 8673 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8643 8674 break; … … 8646 8677 8647 8678 /* Line 1806 of yacc.c */ 8648 #line 26 19"parser.yy"8679 #line 2625 "parser.yy" 8649 8680 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8650 8681 break; … … 8653 8684 8654 8685 /* Line 1806 of yacc.c */ 8655 #line 26 26"parser.yy"8686 #line 2632 "parser.yy" 8656 8687 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8657 8688 break; … … 8660 8691 8661 8692 /* Line 1806 of yacc.c */ 8662 #line 26 37"parser.yy"8693 #line 2643 "parser.yy" 8663 8694 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8664 8695 break; … … 8667 8698 8668 8699 /* Line 1806 of yacc.c */ 8669 #line 264 0"parser.yy"8700 #line 2646 "parser.yy" 8670 8701 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8671 8702 break; … … 8674 8705 8675 8706 /* Line 1806 of yacc.c */ 8676 #line 264 2"parser.yy"8707 #line 2648 "parser.yy" 8677 8708 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8678 8709 break; … … 8681 8712 8682 8713 /* Line 1806 of yacc.c */ 8683 #line 26 45"parser.yy"8714 #line 2651 "parser.yy" 8684 8715 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8685 8716 break; … … 8688 8719 8689 8720 /* Line 1806 of yacc.c */ 8690 #line 26 47"parser.yy"8721 #line 2653 "parser.yy" 8691 8722 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8692 8723 break; … … 8695 8726 8696 8727 /* Line 1806 of yacc.c */ 8697 #line 26 49"parser.yy"8728 #line 2655 "parser.yy" 8698 8729 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8699 8730 break; … … 8702 8733 8703 8734 /* Line 1806 of yacc.c */ 8704 #line 266 3"parser.yy"8735 #line 2669 "parser.yy" 8705 8736 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8706 8737 break; … … 8709 8740 8710 8741 /* Line 1806 of yacc.c */ 8711 #line 26 65"parser.yy"8742 #line 2671 "parser.yy" 8712 8743 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8713 8744 break; … … 8716 8747 8717 8748 /* Line 1806 of yacc.c */ 8718 #line 267 0"parser.yy"8749 #line 2676 "parser.yy" 8719 8750 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8720 8751 break; … … 8723 8754 8724 8755 /* Line 1806 of yacc.c */ 8725 #line 267 2"parser.yy"8756 #line 2678 "parser.yy" 8726 8757 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8727 8758 break; … … 8730 8761 8731 8762 /* Line 1806 of yacc.c */ 8732 #line 26 74"parser.yy"8763 #line 2680 "parser.yy" 8733 8764 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8734 8765 break; … … 8737 8768 8738 8769 /* Line 1806 of yacc.c */ 8739 #line 26 76"parser.yy"8770 #line 2682 "parser.yy" 8740 8771 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8741 8772 break; … … 8744 8775 8745 8776 /* Line 1806 of yacc.c */ 8746 #line 26 78"parser.yy"8777 #line 2684 "parser.yy" 8747 8778 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8748 8779 break; … … 8751 8782 8752 8783 /* Line 1806 of yacc.c */ 8753 #line 26 84"parser.yy"8784 #line 2690 "parser.yy" 8754 8785 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8755 8786 break; … … 8758 8789 8759 8790 /* Line 1806 of yacc.c */ 8760 #line 26 86"parser.yy"8791 #line 2692 "parser.yy" 8761 8792 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8762 8793 break; … … 8765 8796 8766 8797 /* Line 1806 of yacc.c */ 8767 #line 26 88"parser.yy"8798 #line 2694 "parser.yy" 8768 8799 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8769 8800 break; … … 8772 8803 8773 8804 /* Line 1806 of yacc.c */ 8774 #line 269 3"parser.yy"8805 #line 2699 "parser.yy" 8775 8806 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8776 8807 break; … … 8779 8810 8780 8811 /* Line 1806 of yacc.c */ 8781 #line 2 695"parser.yy"8812 #line 2701 "parser.yy" 8782 8813 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8783 8814 break; … … 8786 8817 8787 8818 /* Line 1806 of yacc.c */ 8788 #line 27 05"parser.yy"8819 #line 2711 "parser.yy" 8789 8820 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8790 8821 break; … … 8793 8824 8794 8825 /* Line 1806 of yacc.c */ 8795 #line 27 15"parser.yy"8826 #line 2721 "parser.yy" 8796 8827 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8797 8828 break; … … 8800 8831 8801 8832 /* Line 1806 of yacc.c */ 8802 #line 27 17"parser.yy"8833 #line 2723 "parser.yy" 8803 8834 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8804 8835 break; … … 8807 8838 8808 8839 /* Line 1806 of yacc.c */ 8809 #line 27 19"parser.yy"8840 #line 2725 "parser.yy" 8810 8841 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8811 8842 break; … … 8814 8845 8815 8846 /* Line 1806 of yacc.c */ 8816 #line 272 1"parser.yy"8847 #line 2727 "parser.yy" 8817 8848 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8818 8849 break; … … 8821 8852 8822 8853 /* Line 1806 of yacc.c */ 8823 #line 272 3"parser.yy"8854 #line 2729 "parser.yy" 8824 8855 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8825 8856 break; … … 8828 8859 8829 8860 /* Line 1806 of yacc.c */ 8830 #line 27 25"parser.yy"8861 #line 2731 "parser.yy" 8831 8862 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8832 8863 break; … … 8835 8866 8836 8867 /* Line 1806 of yacc.c */ 8837 #line 273 2"parser.yy"8868 #line 2738 "parser.yy" 8838 8869 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8839 8870 break; 8840 8871 8841 8872 case 719: 8842 8843 /* Line 1806 of yacc.c */8844 #line 2734 "parser.yy"8845 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }8846 break;8847 8848 case 720:8849 8850 /* Line 1806 of yacc.c */8851 #line 2736 "parser.yy"8852 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8853 break;8854 8855 case 721:8856 8857 /* Line 1806 of yacc.c */8858 #line 2738 "parser.yy"8859 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }8860 break;8861 8862 case 722:8863 8873 8864 8874 /* Line 1806 of yacc.c */ … … 8867 8877 break; 8868 8878 8879 case 720: 8880 8881 /* Line 1806 of yacc.c */ 8882 #line 2742 "parser.yy" 8883 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8884 break; 8885 8886 case 721: 8887 8888 /* Line 1806 of yacc.c */ 8889 #line 2744 "parser.yy" 8890 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8891 break; 8892 8893 case 722: 8894 8895 /* Line 1806 of yacc.c */ 8896 #line 2746 "parser.yy" 8897 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8898 break; 8899 8869 8900 case 723: 8870 8901 8871 8902 /* Line 1806 of yacc.c */ 8872 #line 274 3"parser.yy"8903 #line 2749 "parser.yy" 8873 8904 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8874 8905 break; 8875 8906 8876 8907 case 724: 8877 8878 /* Line 1806 of yacc.c */8879 #line 2745 "parser.yy"8880 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }8881 break;8882 8883 case 725:8884 8885 /* Line 1806 of yacc.c */8886 #line 2747 "parser.yy"8887 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); }8888 break;8889 8890 case 726:8891 8892 /* Line 1806 of yacc.c */8893 #line 2749 "parser.yy"8894 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); }8895 break;8896 8897 case 727:8898 8908 8899 8909 /* Line 1806 of yacc.c */ … … 8902 8912 break; 8903 8913 8914 case 725: 8915 8916 /* Line 1806 of yacc.c */ 8917 #line 2753 "parser.yy" 8918 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8919 break; 8920 8921 case 726: 8922 8923 /* Line 1806 of yacc.c */ 8924 #line 2755 "parser.yy" 8925 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 8926 break; 8927 8928 case 727: 8929 8930 /* Line 1806 of yacc.c */ 8931 #line 2757 "parser.yy" 8932 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8933 break; 8934 8904 8935 case 728: 8905 8936 8906 8937 /* Line 1806 of yacc.c */ 8907 #line 27 56"parser.yy"8938 #line 2762 "parser.yy" 8908 8939 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8909 8940 break; … … 8912 8943 8913 8944 /* Line 1806 of yacc.c */ 8914 #line 27 58"parser.yy"8945 #line 2764 "parser.yy" 8915 8946 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8916 8947 break; … … 8919 8950 8920 8951 /* Line 1806 of yacc.c */ 8921 #line 276 3"parser.yy"8952 #line 2769 "parser.yy" 8922 8953 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 8923 8954 break; … … 8926 8957 8927 8958 /* Line 1806 of yacc.c */ 8928 #line 27 65"parser.yy"8959 #line 2771 "parser.yy" 8929 8960 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 8930 8961 break; … … 8933 8964 8934 8965 /* Line 1806 of yacc.c */ 8935 #line 279 2"parser.yy"8966 #line 2798 "parser.yy" 8936 8967 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8937 8968 break; … … 8940 8971 8941 8972 /* Line 1806 of yacc.c */ 8942 #line 280 3"parser.yy"8973 #line 2809 "parser.yy" 8943 8974 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8944 8975 break; … … 8947 8978 8948 8979 /* Line 1806 of yacc.c */ 8949 #line 28 05"parser.yy"8980 #line 2811 "parser.yy" 8950 8981 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8951 8982 break; … … 8954 8985 8955 8986 /* Line 1806 of yacc.c */ 8956 #line 28 07"parser.yy"8987 #line 2813 "parser.yy" 8957 8988 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8958 8989 break; … … 8961 8992 8962 8993 /* Line 1806 of yacc.c */ 8963 #line 28 09"parser.yy"8994 #line 2815 "parser.yy" 8964 8995 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8965 8996 break; … … 8968 8999 8969 9000 /* Line 1806 of yacc.c */ 8970 #line 281 1"parser.yy"9001 #line 2817 "parser.yy" 8971 9002 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8972 9003 break; … … 8975 9006 8976 9007 /* Line 1806 of yacc.c */ 8977 #line 281 3"parser.yy"9008 #line 2819 "parser.yy" 8978 9009 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8979 9010 break; 8980 9011 8981 9012 case 743: 8982 8983 /* Line 1806 of yacc.c */8984 #line 2820 "parser.yy"8985 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }8986 break;8987 8988 case 744:8989 8990 /* Line 1806 of yacc.c */8991 #line 2822 "parser.yy"8992 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); }8993 break;8994 8995 case 745:8996 8997 /* Line 1806 of yacc.c */8998 #line 2824 "parser.yy"8999 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9000 break;9001 9002 case 746:9003 9013 9004 9014 /* Line 1806 of yacc.c */ … … 9007 9017 break; 9008 9018 9009 case 74 7:9019 case 744: 9010 9020 9011 9021 /* Line 1806 of yacc.c */ … … 9014 9024 break; 9015 9025 9016 case 74 8:9026 case 745: 9017 9027 9018 9028 /* Line 1806 of yacc.c */ … … 9021 9031 break; 9022 9032 9033 case 746: 9034 9035 /* Line 1806 of yacc.c */ 9036 #line 2832 "parser.yy" 9037 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9038 break; 9039 9040 case 747: 9041 9042 /* Line 1806 of yacc.c */ 9043 #line 2834 "parser.yy" 9044 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( nullptr, nullptr, false ) ); } 9045 break; 9046 9047 case 748: 9048 9049 /* Line 1806 of yacc.c */ 9050 #line 2836 "parser.yy" 9051 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9052 break; 9053 9023 9054 case 749: 9024 9055 9025 9056 /* Line 1806 of yacc.c */ 9026 #line 28 35"parser.yy"9057 #line 2841 "parser.yy" 9027 9058 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9028 9059 break; … … 9031 9062 9032 9063 /* Line 1806 of yacc.c */ 9033 #line 284 2"parser.yy"9064 #line 2848 "parser.yy" 9034 9065 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9035 9066 break; … … 9038 9069 9039 9070 /* Line 1806 of yacc.c */ 9040 #line 28 44"parser.yy"9071 #line 2850 "parser.yy" 9041 9072 { (yyval.decl) = DeclarationNode::newFunction( nullptr, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), nullptr ); } 9042 9073 break; … … 9045 9076 9046 9077 /* Line 1806 of yacc.c */ 9047 #line 28 68"parser.yy"9078 #line 2874 "parser.yy" 9048 9079 { (yyval.en) = 0; } 9049 9080 break; … … 9052 9083 9053 9084 /* Line 1806 of yacc.c */ 9054 #line 287 0"parser.yy"9085 #line 2876 "parser.yy" 9055 9086 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9056 9087 break; … … 9059 9090 9060 9091 /* Line 1806 of yacc.c */ 9061 #line 90 62"Parser/parser.cc"9092 #line 9093 "Parser/parser.cc" 9062 9093 default: break; 9063 9094 } … … 9290 9321 9291 9322 /* Line 2067 of yacc.c */ 9292 #line 287 3"parser.yy"9323 #line 2879 "parser.yy" 9293 9324 9294 9325 // ----end of grammar----
Note:
See TracChangeset
for help on using the changeset viewer.