Changes in src/Parser/parser.cc [3cfe27f:4040425]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (547 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r3cfe27f r4040425 77 77 #include <cstdio> 78 78 #include <stack> 79 #include "TypedefTable.h" 79 80 #include "lex.h" 80 #include "parser.h"81 81 #include "ParseNode.h" 82 #include "TypedefTable.h"83 82 #include "TypeData.h" 84 83 #include "LinkageSpec.h" … … 91 90 92 91 /* Line 268 of yacc.c */ 93 #line 9 4"Parser/parser.cc"92 #line 93 "Parser/parser.cc" 94 93 95 94 /* Enabling traces. */ … … 342 341 343 342 /* Line 293 of yacc.c */ 344 #line 11 2"parser.yy"343 #line 111 "parser.yy" 345 344 346 345 Token tok; … … 359 358 360 359 /* Line 293 of yacc.c */ 361 #line 36 2"Parser/parser.cc"360 #line 361 "Parser/parser.cc" 362 361 } YYSTYPE; 363 362 # define YYSTYPE_IS_TRIVIAL 1 … … 371 370 372 371 /* Line 343 of yacc.c */ 373 #line 37 4"Parser/parser.cc"372 #line 373 "Parser/parser.cc" 374 373 375 374 #ifdef short … … 1016 1015 static const yytype_uint16 yyrline[] = 1017 1016 { 1018 0, 29 2, 292, 298, 307, 308, 309, 313, 314, 315,1019 31 9, 320, 324, 325, 329, 330, 334, 335, 341, 343,1020 34 5, 347, 352, 353, 359, 363, 365, 366, 368, 369,1021 37 1, 373, 375, 383, 384, 390, 391, 392, 397, 399,1022 40 4, 405, 409, 413, 415, 417, 419, 424, 427, 429,1023 43 1, 433, 435, 437, 439, 441, 447, 449, 451, 453,1024 45 5, 457, 459, 461, 463, 468, 469, 470, 471, 475,1025 47 6, 478, 483, 484, 486, 488, 493, 494, 496, 501,1026 50 2, 504, 509, 510, 512, 514, 516, 521, 522, 524,1027 52 9, 530, 535, 536, 541, 542, 547, 548, 553, 554,1028 55 9, 560, 562, 564, 569, 574, 575, 577, 579, 585,1029 58 6, 592, 594, 596, 598, 603, 604, 609, 610, 611,1030 61 2, 613, 614, 615, 616, 617, 618, 622, 623, 629,1031 6 30, 636, 637, 638, 639, 640, 641, 642, 643, 644,1032 65 3, 660, 662, 672, 673, 678, 680, 682, 684, 688,1033 68 9, 694, 699, 702, 704, 706, 711, 713, 721, 722,1034 72 4, 728, 729, 734, 735, 740, 741, 745, 750, 751,1035 75 5, 757, 763, 764, 768, 770, 772, 774, 780, 781,1036 78 5, 786, 790, 792, 794, 799, 801, 806, 808, 812,1037 81 5, 819, 822, 826, 828, 832, 834, 841, 843, 845,1038 85 4, 856, 858, 860, 862, 867, 869, 871, 873, 878,1039 89 1, 892, 897, 899, 904, 908, 910, 912, 914, 916,1040 92 2, 923, 929, 930, 934, 935, 940, 942, 948, 949,1041 95 1, 956, 958, 965, 967, 971, 972, 977, 979, 983,1042 98 4, 988, 990, 994, 995, 999, 1000, 1004, 1005, 1020,1043 102 1, 1022, 1023, 1024, 1028, 1033, 1040, 1050, 1055, 1060,1044 106 8, 1073, 1078, 1083, 1088, 1096, 1118, 1123, 1130, 1132,1045 113 9, 1144, 1149, 1160, 1165, 1170, 1175, 1180, 1189, 1194,1046 120 2, 1203, 1204, 1205, 1211, 1216, 1224, 1225, 1226, 1227,1047 123 1, 1232, 1233, 1234, 1239, 1240, 1249, 1250, 1255, 1256,1048 126 1, 1263, 1265, 1267, 1269, 1272, 1271, 1283, 1284, 1286,1049 129 6, 1297, 1302, 1306, 1308, 1310, 1312, 1314, 1316, 1318,1050 13 20, 1325, 1327, 1329, 1331, 1333, 1335, 1337, 1339, 1341,1051 134 3, 1345, 1347, 1349, 1355, 1356, 1358, 1360, 1362, 1367,1052 136 8, 1374, 1375, 1377, 1379, 1384, 1386, 1388, 1390, 1395,1053 139 6, 1398, 1400, 1405, 1406, 1408, 1413, 1414, 1416, 1418,1054 142 3, 1425, 1427, 1432, 1433, 1437, 1439, 1441, 1443, 1445,1055 14 50, 1452, 1457, 1459, 1464, 1465, 1467, 1468, 1473, 1474,1056 147 6, 1478, 1483, 1485, 1491, 1492, 1494, 1497, 1500, 1505,1057 150 6, 1511, 1516, 1520, 1522, 1524, 1529, 1531, 1537, 1538,1058 154 6, 1547, 1551, 1552, 1553, 1555, 1557, 1564, 1565, 1567,1059 156 9, 1574, 1575, 1581, 1582, 1586, 1587, 1592, 1593, 1594,1060 159 6, 1604, 1605, 1607, 1610, 1612, 1616, 1617, 1618, 1620,1061 162 2, 1626, 1631, 1639, 1640, 1649, 1651, 1656, 1657, 1658,1062 166 2, 1663, 1664, 1668, 1669, 1670, 1674, 1675, 1676, 1681,1063 168 2, 1683, 1684, 1690, 1691, 1693, 1698, 1699, 1704, 1705,1064 170 6, 1707, 1708, 1723, 1724, 1729, 1730, 1738, 1740, 1742,1065 174 5, 1747, 1749, 1772, 1773, 1775, 1777, 1782, 1783, 1785,1066 17 90, 1795, 1796, 1802, 1801, 1805, 1809, 1811, 1813, 1819,1067 18 20, 1825, 1830, 1832, 1837, 1839, 1840, 1842, 1847, 1849,1068 185 1, 1856, 1858, 1863, 1868, 1876, 1882, 1881, 1895, 1896,1069 190 1, 1902, 1906, 1911, 1916, 1924, 1929, 1940, 1941, 1952,1070 195 3, 1959, 1960, 1964, 1965, 1966, 1969, 1968, 1979, 1984,1071 198 9, 1995, 2004, 2010, 2016, 2022, 2028, 2036, 2042, 2050,1072 205 6, 2065, 2066, 2067, 2071, 2075, 2077, 2082, 2083, 2087,1073 208 8, 2093, 2099, 2100, 2103, 2105, 2106, 2110, 2111, 2112,1074 211 3, 2147, 2149, 2150, 2152, 2157, 2162, 2167, 2169, 2171,1075 217 6, 2178, 2180, 2182, 2187, 2189, 2199, 2201, 2202, 2207,1076 220 9, 2211, 2216, 2218, 2220, 2225, 2227, 2229, 2238, 2239,1077 22 40, 2244, 2246, 2248, 2253, 2255, 2257, 2262, 2264, 2266,1078 228 1, 2283, 2284, 2286, 2291, 2292, 2297, 2299, 2301, 2306,1079 230 8, 2310, 2312, 2317, 2319, 2321, 2331, 2333, 2334, 2336,1080 234 1, 2343, 2345, 2350, 2352, 2354, 2356, 2361, 2363, 2365,1081 239 6, 2398, 2399, 2401, 2406, 2411, 2419, 2421, 2423, 2428,1082 24 30, 2435, 2437, 2451, 2452, 2454, 2459, 2461, 2463, 2465,1083 246 7, 2472, 2473, 2475, 2477, 2482, 2484, 2486, 2492, 2494,1084 249 6, 2500, 2502, 2504, 2506, 2520, 2521, 2523, 2528, 2530,1085 253 2, 2534, 2536, 2541, 2542, 2544, 2546, 2551, 2553, 2555,1086 256 1, 2562, 2564, 2573, 2576, 2578, 2581, 2583, 2585, 2598,1087 259 9, 2601, 2606, 2608, 2610, 2612, 2614, 2619, 2620, 2622,1088 262 4, 2629, 2631, 2639, 2640, 2641, 2646, 2647, 2651, 2653,1089 265 5, 2657, 2659, 2661, 2668, 2670, 2672, 2674, 2676, 2678,1090 26 80, 2682, 2684, 2686, 2691, 2693, 2695, 2700, 2726, 2727,1091 272 9, 2733, 2734, 2738, 2740, 2742, 2744, 2746, 2748, 2755,1092 275 7, 2759, 2761, 2763, 2765, 2770, 2775, 2777, 2779, 2797,1093 279 9, 2804, 28051017 0, 291, 291, 297, 306, 307, 308, 312, 313, 314, 1018 318, 319, 323, 324, 328, 329, 333, 334, 340, 342, 1019 344, 346, 351, 352, 358, 362, 364, 365, 367, 368, 1020 370, 372, 374, 382, 383, 389, 390, 391, 396, 398, 1021 403, 404, 408, 412, 414, 416, 418, 423, 426, 428, 1022 430, 432, 434, 436, 438, 440, 446, 448, 450, 452, 1023 454, 456, 458, 460, 462, 467, 468, 469, 470, 474, 1024 475, 477, 482, 483, 485, 487, 492, 493, 495, 500, 1025 501, 503, 508, 509, 511, 513, 515, 520, 521, 523, 1026 528, 529, 534, 535, 540, 541, 546, 547, 552, 553, 1027 558, 559, 561, 563, 568, 573, 574, 576, 578, 584, 1028 585, 591, 593, 595, 597, 602, 603, 608, 609, 610, 1029 611, 612, 613, 614, 615, 616, 617, 621, 622, 628, 1030 629, 635, 636, 637, 638, 639, 640, 641, 642, 643, 1031 652, 659, 661, 671, 672, 677, 679, 681, 683, 687, 1032 688, 693, 698, 701, 703, 705, 710, 712, 720, 721, 1033 723, 727, 728, 733, 734, 739, 740, 744, 749, 750, 1034 754, 756, 762, 763, 767, 769, 771, 773, 779, 780, 1035 784, 785, 789, 791, 793, 798, 800, 805, 807, 811, 1036 814, 818, 821, 825, 827, 831, 833, 840, 842, 844, 1037 853, 855, 857, 859, 861, 866, 868, 870, 872, 877, 1038 890, 891, 896, 898, 903, 907, 909, 911, 913, 915, 1039 921, 922, 928, 929, 933, 934, 939, 941, 947, 948, 1040 950, 955, 957, 964, 966, 970, 971, 976, 978, 982, 1041 983, 987, 989, 993, 994, 998, 999, 1003, 1004, 1019, 1042 1020, 1021, 1022, 1023, 1027, 1032, 1039, 1049, 1054, 1059, 1043 1067, 1072, 1077, 1082, 1087, 1095, 1117, 1122, 1129, 1131, 1044 1138, 1143, 1148, 1159, 1164, 1169, 1174, 1179, 1188, 1193, 1045 1201, 1202, 1203, 1204, 1210, 1215, 1223, 1224, 1225, 1226, 1046 1230, 1231, 1232, 1233, 1238, 1239, 1248, 1249, 1254, 1255, 1047 1260, 1262, 1264, 1266, 1268, 1271, 1270, 1282, 1283, 1285, 1048 1295, 1296, 1301, 1305, 1307, 1309, 1311, 1313, 1315, 1317, 1049 1319, 1324, 1326, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1050 1342, 1344, 1346, 1348, 1354, 1355, 1357, 1359, 1361, 1366, 1051 1367, 1373, 1374, 1376, 1378, 1383, 1385, 1387, 1389, 1394, 1052 1395, 1397, 1399, 1404, 1405, 1407, 1412, 1413, 1415, 1417, 1053 1422, 1424, 1426, 1431, 1432, 1436, 1438, 1440, 1442, 1444, 1054 1449, 1451, 1456, 1458, 1463, 1464, 1466, 1467, 1472, 1473, 1055 1475, 1477, 1482, 1484, 1490, 1491, 1493, 1496, 1499, 1504, 1056 1505, 1510, 1515, 1519, 1521, 1523, 1528, 1530, 1536, 1537, 1057 1545, 1546, 1550, 1551, 1552, 1554, 1556, 1563, 1564, 1566, 1058 1568, 1573, 1574, 1580, 1581, 1585, 1586, 1591, 1592, 1593, 1059 1595, 1603, 1604, 1606, 1609, 1611, 1615, 1616, 1617, 1619, 1060 1621, 1625, 1630, 1638, 1639, 1648, 1650, 1655, 1656, 1657, 1061 1661, 1662, 1663, 1667, 1668, 1669, 1673, 1674, 1675, 1680, 1062 1681, 1682, 1683, 1689, 1690, 1692, 1697, 1698, 1703, 1704, 1063 1705, 1706, 1707, 1722, 1723, 1728, 1729, 1737, 1739, 1741, 1064 1744, 1746, 1748, 1771, 1772, 1774, 1776, 1781, 1782, 1784, 1065 1789, 1794, 1795, 1801, 1800, 1804, 1808, 1810, 1812, 1818, 1066 1819, 1824, 1829, 1831, 1836, 1838, 1839, 1841, 1846, 1848, 1067 1850, 1855, 1857, 1862, 1867, 1875, 1881, 1880, 1894, 1895, 1068 1900, 1901, 1905, 1910, 1915, 1923, 1928, 1939, 1940, 1951, 1069 1952, 1958, 1959, 1963, 1964, 1965, 1968, 1967, 1978, 1983, 1070 1988, 1994, 2003, 2009, 2015, 2021, 2027, 2035, 2041, 2049, 1071 2055, 2064, 2065, 2066, 2070, 2074, 2076, 2081, 2082, 2086, 1072 2087, 2092, 2098, 2099, 2102, 2104, 2105, 2109, 2110, 2111, 1073 2112, 2146, 2148, 2149, 2151, 2156, 2161, 2166, 2168, 2170, 1074 2175, 2177, 2179, 2181, 2186, 2188, 2198, 2200, 2201, 2206, 1075 2208, 2210, 2215, 2217, 2219, 2224, 2226, 2228, 2237, 2238, 1076 2239, 2243, 2245, 2247, 2252, 2254, 2256, 2261, 2263, 2265, 1077 2280, 2282, 2283, 2285, 2290, 2291, 2296, 2298, 2300, 2305, 1078 2307, 2309, 2311, 2316, 2318, 2320, 2330, 2332, 2333, 2335, 1079 2340, 2342, 2344, 2349, 2351, 2353, 2355, 2360, 2362, 2364, 1080 2395, 2397, 2398, 2400, 2405, 2410, 2418, 2420, 2422, 2427, 1081 2429, 2434, 2436, 2450, 2451, 2453, 2458, 2460, 2462, 2464, 1082 2466, 2471, 2472, 2474, 2476, 2481, 2483, 2485, 2491, 2493, 1083 2495, 2499, 2501, 2503, 2505, 2519, 2520, 2522, 2527, 2529, 1084 2531, 2533, 2535, 2540, 2541, 2543, 2545, 2550, 2552, 2554, 1085 2560, 2561, 2563, 2572, 2575, 2577, 2580, 2582, 2584, 2597, 1086 2598, 2600, 2605, 2607, 2609, 2611, 2613, 2618, 2619, 2621, 1087 2623, 2628, 2630, 2638, 2639, 2640, 2645, 2646, 2650, 2652, 1088 2654, 2656, 2658, 2660, 2667, 2669, 2671, 2673, 2675, 2677, 1089 2679, 2681, 2683, 2685, 2690, 2692, 2694, 2699, 2725, 2726, 1090 2728, 2732, 2733, 2737, 2739, 2741, 2743, 2745, 2747, 2754, 1091 2756, 2758, 2760, 2762, 2764, 2769, 2774, 2776, 2778, 2796, 1092 2798, 2803, 2804 1094 1093 }; 1095 1094 #endif … … 5056 5055 5057 5056 /* Line 1806 of yacc.c */ 5058 #line 29 2"parser.yy"5057 #line 291 "parser.yy" 5059 5058 { 5060 5059 typedefTable.enterScope(); … … 5065 5064 5066 5065 /* Line 1806 of yacc.c */ 5067 #line 29 8"parser.yy"5066 #line 297 "parser.yy" 5068 5067 { 5069 5068 typedefTable.leaveScope(); … … 5074 5073 5075 5074 /* Line 1806 of yacc.c */ 5075 #line 306 "parser.yy" 5076 { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); } 5077 break; 5078 5079 case 5: 5080 5081 /* Line 1806 of yacc.c */ 5076 5082 #line 307 "parser.yy" 5077 { (yyval.constant) = new ConstantNode( ConstantNode:: Integer, (yyvsp[(1) - (1)].tok) ); }5078 break; 5079 5080 case 5:5083 { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); } 5084 break; 5085 5086 case 6: 5081 5087 5082 5088 /* Line 1806 of yacc.c */ 5083 5089 #line 308 "parser.yy" 5084 { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }5085 break;5086 5087 case 6:5088 5089 /* Line 1806 of yacc.c */5090 #line 309 "parser.yy"5091 5090 { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); } 5092 5091 break; … … 5095 5094 5096 5095 /* Line 1806 of yacc.c */ 5096 #line 333 "parser.yy" 5097 { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); } 5098 break; 5099 5100 case 17: 5101 5102 /* Line 1806 of yacc.c */ 5097 5103 #line 334 "parser.yy" 5098 { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }5099 break;5100 5101 case 17:5102 5103 /* Line 1806 of yacc.c */5104 #line 335 "parser.yy"5105 5104 { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); } 5106 5105 break; … … 5109 5108 5110 5109 /* Line 1806 of yacc.c */ 5111 #line 34 2"parser.yy"5110 #line 341 "parser.yy" 5112 5111 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 5113 5112 break; … … 5116 5115 5117 5116 /* Line 1806 of yacc.c */ 5118 #line 34 4"parser.yy"5117 #line 343 "parser.yy" 5119 5118 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 5120 5119 break; … … 5123 5122 5124 5123 /* Line 1806 of yacc.c */ 5125 #line 34 6"parser.yy"5124 #line 345 "parser.yy" 5126 5125 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5127 5126 break; … … 5130 5129 5131 5130 /* Line 1806 of yacc.c */ 5132 #line 34 8"parser.yy"5131 #line 347 "parser.yy" 5133 5132 { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); } 5134 5133 break; … … 5137 5136 5138 5137 /* Line 1806 of yacc.c */ 5139 #line 35 8"parser.yy"5138 #line 357 "parser.yy" 5140 5139 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); } 5141 5140 break; … … 5144 5143 5145 5144 /* Line 1806 of yacc.c */ 5146 #line 3 60"parser.yy"5145 #line 359 "parser.yy" 5147 5146 { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); } 5148 5147 break; … … 5151 5150 5152 5151 /* Line 1806 of yacc.c */ 5153 #line 36 4"parser.yy"5152 #line 363 "parser.yy" 5154 5153 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); } 5155 5154 break; … … 5158 5157 5159 5158 /* Line 1806 of yacc.c */ 5160 #line 36 7"parser.yy"5159 #line 366 "parser.yy" 5161 5160 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); } 5162 5161 break; … … 5165 5164 5166 5165 /* Line 1806 of yacc.c */ 5167 #line 3 70"parser.yy"5166 #line 369 "parser.yy" 5168 5167 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); } 5169 5168 break; … … 5172 5171 5173 5172 /* Line 1806 of yacc.c */ 5174 #line 37 2"parser.yy"5173 #line 371 "parser.yy" 5175 5174 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); } 5176 5175 break; … … 5179 5178 5180 5179 /* Line 1806 of yacc.c */ 5181 #line 37 4"parser.yy"5180 #line 373 "parser.yy" 5182 5181 { (yyval.en) = 0; } 5183 5182 break; … … 5186 5185 5187 5186 /* Line 1806 of yacc.c */ 5188 #line 37 6"parser.yy"5187 #line 375 "parser.yy" 5189 5188 { 5190 5189 Token fn; fn.str = new std::string( "?{}" ); // location undefined … … 5196 5195 5197 5196 /* Line 1806 of yacc.c */ 5198 #line 38 5"parser.yy"5197 #line 384 "parser.yy" 5199 5198 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 5200 5199 break; … … 5203 5202 5204 5203 /* Line 1806 of yacc.c */ 5205 #line 3 90"parser.yy"5204 #line 389 "parser.yy" 5206 5205 { (yyval.en) = 0; } 5207 5206 break; … … 5210 5209 5211 5210 /* Line 1806 of yacc.c */ 5212 #line 39 3"parser.yy"5211 #line 392 "parser.yy" 5213 5212 { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); } 5214 5213 break; … … 5217 5216 5218 5217 /* Line 1806 of yacc.c */ 5219 #line 39 8"parser.yy"5218 #line 397 "parser.yy" 5220 5219 { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); } 5221 5220 break; … … 5224 5223 5225 5224 /* Line 1806 of yacc.c */ 5226 #line 400"parser.yy"5225 #line 399 "parser.yy" 5227 5226 { (yyval.en) = (yyvsp[(9) - (9)].en)->set_argName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( flattenCommas( (yyvsp[(5) - (9)].en) )))); } 5228 5227 break; … … 5231 5230 5232 5231 /* Line 1806 of yacc.c */ 5233 #line 40 5"parser.yy"5232 #line 404 "parser.yy" 5234 5233 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5235 5234 break; … … 5238 5237 5239 5238 /* Line 1806 of yacc.c */ 5240 #line 4 10"parser.yy"5239 #line 409 "parser.yy" 5241 5240 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 5242 5241 break; … … 5245 5244 5246 5245 /* Line 1806 of yacc.c */ 5247 #line 41 4"parser.yy"5246 #line 413 "parser.yy" 5248 5247 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); } 5249 5248 break; … … 5252 5251 5253 5252 /* Line 1806 of yacc.c */ 5254 #line 41 6"parser.yy"5253 #line 415 "parser.yy" 5255 5254 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); } 5256 5255 break; … … 5259 5258 5260 5259 /* Line 1806 of yacc.c */ 5261 #line 41 8"parser.yy"5260 #line 417 "parser.yy" 5262 5261 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); } 5263 5262 break; … … 5266 5265 5267 5266 /* Line 1806 of yacc.c */ 5268 #line 4 20"parser.yy"5267 #line 419 "parser.yy" 5269 5268 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); } 5270 5269 break; … … 5273 5272 5274 5273 /* Line 1806 of yacc.c */ 5275 #line 42 8"parser.yy"5274 #line 427 "parser.yy" 5276 5275 { (yyval.en) = (yyvsp[(1) - (1)].constant); } 5277 5276 break; … … 5280 5279 5281 5280 /* Line 1806 of yacc.c */ 5282 #line 4 30"parser.yy"5281 #line 429 "parser.yy" 5283 5282 { (yyval.en) = (yyvsp[(1) - (1)].constant); } 5284 5283 break; … … 5287 5286 5288 5287 /* Line 1806 of yacc.c */ 5289 #line 43 2"parser.yy"5288 #line 431 "parser.yy" 5290 5289 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); } 5291 5290 break; … … 5294 5293 5295 5294 /* Line 1806 of yacc.c */ 5296 #line 43 4"parser.yy"5295 #line 433 "parser.yy" 5297 5296 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); } 5298 5297 break; … … 5301 5300 5302 5301 /* Line 1806 of yacc.c */ 5303 #line 43 6"parser.yy"5302 #line 435 "parser.yy" 5304 5303 { (yyval.en) = (yyvsp[(2) - (2)].en); } 5305 5304 break; … … 5308 5307 5309 5308 /* Line 1806 of yacc.c */ 5310 #line 43 8"parser.yy"5309 #line 437 "parser.yy" 5311 5310 { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); } 5312 5311 break; … … 5315 5314 5316 5315 /* Line 1806 of yacc.c */ 5317 #line 4 40"parser.yy"5316 #line 439 "parser.yy" 5318 5317 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neg ), (yyvsp[(2) - (2)].en) ); } 5319 5318 break; … … 5322 5321 5323 5322 /* Line 1806 of yacc.c */ 5324 #line 44 2"parser.yy"5323 #line 441 "parser.yy" 5325 5324 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PointTo ), (yyvsp[(2) - (2)].en) ); } 5326 5325 break; … … 5329 5328 5330 5329 /* Line 1806 of yacc.c */ 5331 #line 44 8"parser.yy"5330 #line 447 "parser.yy" 5332 5331 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); } 5333 5332 break; … … 5336 5335 5337 5336 /* Line 1806 of yacc.c */ 5338 #line 4 50"parser.yy"5337 #line 449 "parser.yy" 5339 5338 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); } 5340 5339 break; … … 5343 5342 5344 5343 /* Line 1806 of yacc.c */ 5345 #line 45 2"parser.yy"5344 #line 451 "parser.yy" 5346 5345 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); } 5347 5346 break; … … 5350 5349 5351 5350 /* Line 1806 of yacc.c */ 5352 #line 45 4"parser.yy"5351 #line 453 "parser.yy" 5353 5352 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); } 5354 5353 break; … … 5357 5356 5358 5357 /* Line 1806 of yacc.c */ 5359 #line 45 6"parser.yy"5358 #line 455 "parser.yy" 5360 5359 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); } 5361 5360 break; … … 5364 5363 5365 5364 /* Line 1806 of yacc.c */ 5366 #line 45 8"parser.yy"5365 #line 457 "parser.yy" 5367 5366 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); } 5368 5367 break; … … 5371 5370 5372 5371 /* Line 1806 of yacc.c */ 5373 #line 4 60"parser.yy"5372 #line 459 "parser.yy" 5374 5373 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); } 5375 5374 break; … … 5378 5377 5379 5378 /* Line 1806 of yacc.c */ 5380 #line 46 2"parser.yy"5379 #line 461 "parser.yy" 5381 5380 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); } 5382 5381 break; … … 5385 5384 5386 5385 /* Line 1806 of yacc.c */ 5387 #line 46 4"parser.yy"5386 #line 463 "parser.yy" 5388 5387 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LabelAddress ), new VarRefNode( (yyvsp[(2) - (2)].tok), true ) ); } 5389 5388 break; … … 5392 5391 5393 5392 /* Line 1806 of yacc.c */ 5393 #line 467 "parser.yy" 5394 { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); } 5395 break; 5396 5397 case 66: 5398 5399 /* Line 1806 of yacc.c */ 5394 5400 #line 468 "parser.yy" 5395 { (yyval.en) = new OperatorNode( OperatorNode:: AddressOf); }5396 break; 5397 5398 case 6 6:5401 { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); } 5402 break; 5403 5404 case 67: 5399 5405 5400 5406 /* Line 1806 of yacc.c */ 5401 5407 #line 469 "parser.yy" 5402 { (yyval.en) = new OperatorNode( OperatorNode::Un Plus ); }5403 break; 5404 5405 case 6 7:5408 { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); } 5409 break; 5410 5411 case 68: 5406 5412 5407 5413 /* Line 1806 of yacc.c */ 5408 5414 #line 470 "parser.yy" 5409 { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }5410 break;5411 5412 case 68:5413 5414 /* Line 1806 of yacc.c */5415 #line 471 "parser.yy"5416 5415 { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); } 5417 5416 break; … … 5420 5419 5421 5420 /* Line 1806 of yacc.c */ 5422 #line 47 7"parser.yy"5421 #line 476 "parser.yy" 5423 5422 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); } 5424 5423 break; … … 5427 5426 5428 5427 /* Line 1806 of yacc.c */ 5429 #line 47 9"parser.yy"5428 #line 478 "parser.yy" 5430 5429 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); } 5431 5430 break; … … 5434 5433 5435 5434 /* Line 1806 of yacc.c */ 5436 #line 48 5"parser.yy"5435 #line 484 "parser.yy" 5437 5436 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5438 5437 break; … … 5441 5440 5442 5441 /* Line 1806 of yacc.c */ 5443 #line 48 7"parser.yy"5442 #line 486 "parser.yy" 5444 5443 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5445 5444 break; … … 5448 5447 5449 5448 /* Line 1806 of yacc.c */ 5450 #line 48 9"parser.yy"5449 #line 488 "parser.yy" 5451 5450 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5452 5451 break; … … 5455 5454 5456 5455 /* Line 1806 of yacc.c */ 5457 #line 49 5"parser.yy"5456 #line 494 "parser.yy" 5458 5457 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5459 5458 break; … … 5462 5461 5463 5462 /* Line 1806 of yacc.c */ 5464 #line 49 7"parser.yy"5463 #line 496 "parser.yy" 5465 5464 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5466 5465 break; … … 5469 5468 5470 5469 /* Line 1806 of yacc.c */ 5471 #line 50 3"parser.yy"5470 #line 502 "parser.yy" 5472 5471 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5473 5472 break; … … 5476 5475 5477 5476 /* Line 1806 of yacc.c */ 5478 #line 50 5"parser.yy"5477 #line 504 "parser.yy" 5479 5478 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5480 5479 break; … … 5483 5482 5484 5483 /* Line 1806 of yacc.c */ 5485 #line 51 1"parser.yy"5484 #line 510 "parser.yy" 5486 5485 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5487 5486 break; … … 5490 5489 5491 5490 /* Line 1806 of yacc.c */ 5492 #line 51 3"parser.yy"5491 #line 512 "parser.yy" 5493 5492 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5494 5493 break; … … 5497 5496 5498 5497 /* Line 1806 of yacc.c */ 5499 #line 51 5"parser.yy"5498 #line 514 "parser.yy" 5500 5499 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5501 5500 break; … … 5504 5503 5505 5504 /* Line 1806 of yacc.c */ 5506 #line 51 7"parser.yy"5505 #line 516 "parser.yy" 5507 5506 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5508 5507 break; … … 5511 5510 5512 5511 /* Line 1806 of yacc.c */ 5513 #line 52 3"parser.yy"5512 #line 522 "parser.yy" 5514 5513 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5515 5514 break; … … 5518 5517 5519 5518 /* Line 1806 of yacc.c */ 5520 #line 52 5"parser.yy"5519 #line 524 "parser.yy" 5521 5520 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5522 5521 break; … … 5525 5524 5526 5525 /* Line 1806 of yacc.c */ 5527 #line 53 1"parser.yy"5526 #line 530 "parser.yy" 5528 5527 { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5529 5528 break; … … 5532 5531 5533 5532 /* Line 1806 of yacc.c */ 5534 #line 53 7"parser.yy"5533 #line 536 "parser.yy" 5535 5534 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5536 5535 break; … … 5539 5538 5540 5539 /* Line 1806 of yacc.c */ 5541 #line 54 3"parser.yy"5540 #line 542 "parser.yy" 5542 5541 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5543 5542 break; … … 5546 5545 5547 5546 /* Line 1806 of yacc.c */ 5548 #line 54 9"parser.yy"5547 #line 548 "parser.yy" 5549 5548 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5550 5549 break; … … 5553 5552 5554 5553 /* Line 1806 of yacc.c */ 5555 #line 55 5"parser.yy"5554 #line 554 "parser.yy" 5556 5555 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5557 5556 break; … … 5560 5559 5561 5560 /* Line 1806 of yacc.c */ 5562 #line 56 1"parser.yy"5561 #line 560 "parser.yy" 5563 5562 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); } 5564 5563 break; … … 5567 5566 5568 5567 /* Line 1806 of yacc.c */ 5569 #line 56 3"parser.yy"5568 #line 562 "parser.yy" 5570 5569 { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5571 5570 break; … … 5574 5573 5575 5574 /* Line 1806 of yacc.c */ 5576 #line 56 5"parser.yy"5575 #line 564 "parser.yy" 5577 5576 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); } 5578 5577 break; … … 5581 5580 5582 5581 /* Line 1806 of yacc.c */ 5583 #line 57 6"parser.yy"5582 #line 575 "parser.yy" 5584 5583 { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5585 5584 break; … … 5588 5587 5589 5588 /* Line 1806 of yacc.c */ 5590 #line 57 8"parser.yy"5589 #line 577 "parser.yy" 5591 5590 { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5592 5591 break; … … 5595 5594 5596 5595 /* Line 1806 of yacc.c */ 5597 #line 5 80"parser.yy"5596 #line 579 "parser.yy" 5598 5597 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); } 5599 5598 break; … … 5602 5601 5603 5602 /* Line 1806 of yacc.c */ 5604 #line 58 5"parser.yy"5603 #line 584 "parser.yy" 5605 5604 { (yyval.en) = new NullExprNode; } 5606 5605 break; … … 5609 5608 5610 5609 /* Line 1806 of yacc.c */ 5611 #line 59 3"parser.yy"5610 #line 592 "parser.yy" 5612 5611 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); } 5613 5612 break; … … 5616 5615 5617 5616 /* Line 1806 of yacc.c */ 5618 #line 59 5"parser.yy"5617 #line 594 "parser.yy" 5619 5618 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); } 5620 5619 break; … … 5623 5622 5624 5623 /* Line 1806 of yacc.c */ 5625 #line 59 7"parser.yy"5624 #line 596 "parser.yy" 5626 5625 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); } 5627 5626 break; … … 5630 5629 5631 5630 /* Line 1806 of yacc.c */ 5632 #line 59 9"parser.yy"5631 #line 598 "parser.yy" 5633 5632 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); } 5634 5633 break; … … 5637 5636 5638 5637 /* Line 1806 of yacc.c */ 5639 #line 60 5"parser.yy"5638 #line 604 "parser.yy" 5640 5639 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5641 5640 break; … … 5644 5643 5645 5644 /* Line 1806 of yacc.c */ 5645 #line 608 "parser.yy" 5646 { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); } 5647 break; 5648 5649 case 118: 5650 5651 /* Line 1806 of yacc.c */ 5646 5652 #line 609 "parser.yy" 5647 { (yyval.en) = new OperatorNode( OperatorNode:: MulAssn ); }5648 break; 5649 5650 case 11 8:5653 { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); } 5654 break; 5655 5656 case 119: 5651 5657 5652 5658 /* Line 1806 of yacc.c */ 5653 5659 #line 610 "parser.yy" 5654 { (yyval.en) = new OperatorNode( OperatorNode:: DivAssn ); }5655 break; 5656 5657 case 1 19:5660 { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); } 5661 break; 5662 5663 case 120: 5658 5664 5659 5665 /* Line 1806 of yacc.c */ 5660 5666 #line 611 "parser.yy" 5661 { (yyval.en) = new OperatorNode( OperatorNode:: ModAssn ); }5662 break; 5663 5664 case 12 0:5667 { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); } 5668 break; 5669 5670 case 121: 5665 5671 5666 5672 /* Line 1806 of yacc.c */ 5667 5673 #line 612 "parser.yy" 5668 { (yyval.en) = new OperatorNode( OperatorNode:: PlusAssn ); }5669 break; 5670 5671 case 12 1:5674 { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); } 5675 break; 5676 5677 case 122: 5672 5678 5673 5679 /* Line 1806 of yacc.c */ 5674 5680 #line 613 "parser.yy" 5675 { (yyval.en) = new OperatorNode( OperatorNode:: MinusAssn ); }5676 break; 5677 5678 case 12 2:5681 { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); } 5682 break; 5683 5684 case 123: 5679 5685 5680 5686 /* Line 1806 of yacc.c */ 5681 5687 #line 614 "parser.yy" 5682 { (yyval.en) = new OperatorNode( OperatorNode:: LSAssn ); }5683 break; 5684 5685 case 12 3:5688 { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); } 5689 break; 5690 5691 case 124: 5686 5692 5687 5693 /* Line 1806 of yacc.c */ 5688 5694 #line 615 "parser.yy" 5689 { (yyval.en) = new OperatorNode( OperatorNode:: RSAssn ); }5690 break; 5691 5692 case 12 4:5695 { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); } 5696 break; 5697 5698 case 125: 5693 5699 5694 5700 /* Line 1806 of yacc.c */ 5695 5701 #line 616 "parser.yy" 5696 { (yyval.en) = new OperatorNode( OperatorNode:: AndAssn ); }5697 break; 5698 5699 case 12 5:5702 { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); } 5703 break; 5704 5705 case 126: 5700 5706 5701 5707 /* Line 1806 of yacc.c */ 5702 5708 #line 617 "parser.yy" 5703 { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }5704 break;5705 5706 case 126:5707 5708 /* Line 1806 of yacc.c */5709 #line 618 "parser.yy"5710 5709 { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); } 5711 5710 break; … … 5714 5713 5715 5714 /* Line 1806 of yacc.c */ 5716 #line 62 4"parser.yy"5715 #line 623 "parser.yy" 5717 5716 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5718 5717 break; … … 5721 5720 5722 5721 /* Line 1806 of yacc.c */ 5723 #line 62 9"parser.yy"5722 #line 628 "parser.yy" 5724 5723 { (yyval.en) = 0; } 5725 5724 break; … … 5728 5727 5729 5728 /* Line 1806 of yacc.c */ 5730 #line 63 8"parser.yy"5729 #line 637 "parser.yy" 5731 5730 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5732 5731 break; … … 5735 5734 5736 5735 /* Line 1806 of yacc.c */ 5737 #line 64 5"parser.yy"5736 #line 644 "parser.yy" 5738 5737 { 5739 5738 Token fn; fn.str = new std::string( "^?{}" ); // location undefined … … 5746 5745 5747 5746 /* Line 1806 of yacc.c */ 5748 #line 65 4"parser.yy"5747 #line 653 "parser.yy" 5749 5748 { 5750 5749 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5755 5754 5756 5755 /* Line 1806 of yacc.c */ 5757 #line 66 1"parser.yy"5756 #line 660 "parser.yy" 5758 5757 { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); } 5759 5758 break; … … 5762 5761 5763 5762 /* Line 1806 of yacc.c */ 5764 #line 66 8"parser.yy"5763 #line 667 "parser.yy" 5765 5764 { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); } 5766 5765 break; … … 5769 5768 5770 5769 /* Line 1806 of yacc.c */ 5771 #line 67 4"parser.yy"5770 #line 673 "parser.yy" 5772 5771 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5773 5772 break; … … 5776 5775 5777 5776 /* Line 1806 of yacc.c */ 5778 #line 67 9"parser.yy"5777 #line 678 "parser.yy" 5779 5778 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5780 5779 break; … … 5783 5782 5784 5783 /* Line 1806 of yacc.c */ 5785 #line 68 1"parser.yy"5784 #line 680 "parser.yy" 5786 5785 { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); } 5787 5786 break; … … 5790 5789 5791 5790 /* Line 1806 of yacc.c */ 5792 #line 68 3"parser.yy"5791 #line 682 "parser.yy" 5793 5792 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5794 5793 break; … … 5797 5796 5798 5797 /* Line 1806 of yacc.c */ 5799 #line 6 90"parser.yy"5798 #line 689 "parser.yy" 5800 5799 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5801 5800 break; … … 5804 5803 5805 5804 /* Line 1806 of yacc.c */ 5806 #line 69 5"parser.yy"5805 #line 694 "parser.yy" 5807 5806 { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); } 5808 5807 break; … … 5811 5810 5812 5811 /* Line 1806 of yacc.c */ 5813 #line 70 1"parser.yy"5812 #line 700 "parser.yy" 5814 5813 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5815 5814 break; … … 5818 5817 5819 5818 /* Line 1806 of yacc.c */ 5820 #line 70 3"parser.yy"5819 #line 702 "parser.yy" 5821 5820 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); } 5822 5821 break; … … 5825 5824 5826 5825 /* Line 1806 of yacc.c */ 5827 #line 70 5"parser.yy"5826 #line 704 "parser.yy" 5828 5827 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5829 5828 break; … … 5832 5831 5833 5832 /* Line 1806 of yacc.c */ 5834 #line 70 7"parser.yy"5833 #line 706 "parser.yy" 5835 5834 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ } 5836 5835 break; … … 5839 5838 5840 5839 /* Line 1806 of yacc.c */ 5841 #line 71 2"parser.yy"5840 #line 711 "parser.yy" 5842 5841 { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5843 5842 break; … … 5846 5845 5847 5846 /* Line 1806 of yacc.c */ 5848 #line 71 4"parser.yy"5847 #line 713 "parser.yy" 5849 5848 { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); } 5850 5849 break; … … 5853 5852 5854 5853 /* Line 1806 of yacc.c */ 5855 #line 72 1"parser.yy"5854 #line 720 "parser.yy" 5856 5855 { (yyval.en) = (yyvsp[(1) - (1)].en); } 5857 5856 break; … … 5860 5859 5861 5860 /* Line 1806 of yacc.c */ 5862 #line 72 3"parser.yy"5861 #line 722 "parser.yy" 5863 5862 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5864 5863 break; … … 5867 5866 5868 5867 /* Line 1806 of yacc.c */ 5869 #line 7 30"parser.yy"5868 #line 729 "parser.yy" 5870 5869 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); } 5871 5870 break; … … 5874 5873 5875 5874 /* Line 1806 of yacc.c */ 5875 #line 733 "parser.yy" 5876 { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); } 5877 break; 5878 5879 case 164: 5880 5881 /* Line 1806 of yacc.c */ 5876 5882 #line 734 "parser.yy" 5877 { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); }5878 break;5879 5880 case 164:5881 5882 /* Line 1806 of yacc.c */5883 #line 735 "parser.yy"5884 5883 { (yyval.sn) = new StatementNode( StatementNode::Default ); } 5885 5884 break; … … 5888 5887 5889 5888 /* Line 1806 of yacc.c */ 5890 #line 74 1"parser.yy"5889 #line 740 "parser.yy" 5891 5890 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); } 5892 5891 break; … … 5895 5894 5896 5895 /* Line 1806 of yacc.c */ 5897 #line 74 5"parser.yy"5896 #line 744 "parser.yy" 5898 5897 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5899 5898 break; … … 5902 5901 5903 5902 /* Line 1806 of yacc.c */ 5904 #line 7 50"parser.yy"5903 #line 749 "parser.yy" 5905 5904 { (yyval.sn) = 0; } 5906 5905 break; … … 5909 5908 5910 5909 /* Line 1806 of yacc.c */ 5911 #line 75 6"parser.yy"5910 #line 755 "parser.yy" 5912 5911 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5913 5912 break; … … 5916 5915 5917 5916 /* Line 1806 of yacc.c */ 5918 #line 75 8"parser.yy"5917 #line 757 "parser.yy" 5919 5918 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5920 5919 break; … … 5923 5922 5924 5923 /* Line 1806 of yacc.c */ 5925 #line 76 3"parser.yy"5924 #line 762 "parser.yy" 5926 5925 { (yyval.sn) = 0; } 5927 5926 break; … … 5930 5929 5931 5930 /* Line 1806 of yacc.c */ 5932 #line 76 9"parser.yy"5931 #line 768 "parser.yy" 5933 5932 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 5934 5933 break; … … 5937 5936 5938 5937 /* Line 1806 of yacc.c */ 5939 #line 77 1"parser.yy"5938 #line 770 "parser.yy" 5940 5939 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); } 5941 5940 break; … … 5944 5943 5945 5944 /* Line 1806 of yacc.c */ 5946 #line 77 3"parser.yy"5945 #line 772 "parser.yy" 5947 5946 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 5948 5947 break; … … 5951 5950 5952 5951 /* Line 1806 of yacc.c */ 5953 #line 77 5"parser.yy"5952 #line 774 "parser.yy" 5954 5953 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(3) - (4)].sn),*(yyvsp[(4) - (4)].sn) ))))); } 5955 5954 break; … … 5958 5957 5959 5958 /* Line 1806 of yacc.c */ 5960 #line 7 80"parser.yy"5959 #line 779 "parser.yy" 5961 5960 { (yyval.sn) = 0; } 5962 5961 break; 5963 5962 5964 5963 case 180: 5964 5965 /* Line 1806 of yacc.c */ 5966 #line 784 "parser.yy" 5967 { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); } 5968 break; 5969 5970 case 181: 5965 5971 5966 5972 /* Line 1806 of yacc.c */ … … 5969 5975 break; 5970 5976 5971 case 181:5972 5973 /* Line 1806 of yacc.c */5974 #line 786 "parser.yy"5975 { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); }5976 break;5977 5978 5977 case 182: 5979 5978 5980 5979 /* Line 1806 of yacc.c */ 5981 #line 79 1"parser.yy"5980 #line 790 "parser.yy" 5982 5981 { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5983 5982 break; … … 5986 5985 5987 5986 /* Line 1806 of yacc.c */ 5988 #line 79 3"parser.yy"5987 #line 792 "parser.yy" 5989 5988 { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); } 5990 5989 break; … … 5993 5992 5994 5993 /* Line 1806 of yacc.c */ 5995 #line 79 5"parser.yy"5994 #line 794 "parser.yy" 5996 5995 { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); } 5997 5996 break; … … 6000 5999 6001 6000 /* Line 1806 of yacc.c */ 6002 #line 800"parser.yy"6001 #line 799 "parser.yy" 6003 6002 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 6004 6003 break; … … 6007 6006 6008 6007 /* Line 1806 of yacc.c */ 6009 #line 80 2"parser.yy"6008 #line 801 "parser.yy" 6010 6009 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 6011 6010 break; … … 6014 6013 6015 6014 /* Line 1806 of yacc.c */ 6016 #line 80 7"parser.yy"6015 #line 806 "parser.yy" 6017 6016 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); } 6018 6017 break; … … 6021 6020 6022 6021 /* Line 1806 of yacc.c */ 6023 #line 81 1"parser.yy"6022 #line 810 "parser.yy" 6024 6023 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); } 6025 6024 break; … … 6028 6027 6029 6028 /* Line 1806 of yacc.c */ 6030 #line 81 4"parser.yy"6029 #line 813 "parser.yy" 6031 6030 { (yyval.sn) = new StatementNode( StatementNode::Continue ); } 6032 6031 break; … … 6035 6034 6036 6035 /* Line 1806 of yacc.c */ 6037 #line 81 8"parser.yy"6036 #line 817 "parser.yy" 6038 6037 { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); } 6039 6038 break; … … 6042 6041 6043 6042 /* Line 1806 of yacc.c */ 6044 #line 82 1"parser.yy"6043 #line 820 "parser.yy" 6045 6044 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 6046 6045 break; … … 6049 6048 6050 6049 /* Line 1806 of yacc.c */ 6051 #line 82 5"parser.yy"6050 #line 824 "parser.yy" 6052 6051 { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); } 6053 6052 break; … … 6056 6055 6057 6056 /* Line 1806 of yacc.c */ 6058 #line 82 7"parser.yy"6057 #line 826 "parser.yy" 6059 6058 { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); } 6060 6059 break; … … 6063 6062 6064 6063 /* Line 1806 of yacc.c */ 6065 #line 82 9"parser.yy"6064 #line 828 "parser.yy" 6066 6065 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 6067 6066 break; … … 6070 6069 6071 6070 /* Line 1806 of yacc.c */ 6072 #line 83 3"parser.yy"6071 #line 832 "parser.yy" 6073 6072 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 6074 6073 break; … … 6077 6076 6078 6077 /* Line 1806 of yacc.c */ 6079 #line 83 5"parser.yy"6078 #line 834 "parser.yy" 6080 6079 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); } 6081 6080 break; … … 6084 6083 6085 6084 /* Line 1806 of yacc.c */ 6086 #line 84 2"parser.yy"6085 #line 841 "parser.yy" 6087 6086 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6088 6087 break; … … 6091 6090 6092 6091 /* Line 1806 of yacc.c */ 6093 #line 84 4"parser.yy"6092 #line 843 "parser.yy" 6094 6093 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6095 6094 break; … … 6098 6097 6099 6098 /* Line 1806 of yacc.c */ 6100 #line 84 6"parser.yy"6099 #line 845 "parser.yy" 6101 6100 { 6102 6101 (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) ); … … 6108 6107 6109 6108 /* Line 1806 of yacc.c */ 6110 #line 85 7"parser.yy"6109 #line 856 "parser.yy" 6111 6110 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6112 6111 break; … … 6115 6114 6116 6115 /* Line 1806 of yacc.c */ 6117 #line 85 9"parser.yy"6116 #line 858 "parser.yy" 6118 6117 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6119 6118 break; … … 6122 6121 6123 6122 /* Line 1806 of yacc.c */ 6124 #line 86 1"parser.yy"6123 #line 860 "parser.yy" 6125 6124 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6126 6125 break; … … 6129 6128 6130 6129 /* Line 1806 of yacc.c */ 6131 #line 86 3"parser.yy"6130 #line 862 "parser.yy" 6132 6131 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6133 6132 break; … … 6136 6135 6137 6136 /* Line 1806 of yacc.c */ 6138 #line 86 8"parser.yy"6137 #line 867 "parser.yy" 6139 6138 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6140 6139 break; … … 6143 6142 6144 6143 /* Line 1806 of yacc.c */ 6145 #line 8 70"parser.yy"6144 #line 869 "parser.yy" 6146 6145 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6147 6146 break; … … 6150 6149 6151 6150 /* Line 1806 of yacc.c */ 6152 #line 87 2"parser.yy"6151 #line 871 "parser.yy" 6153 6152 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6154 6153 break; … … 6157 6156 6158 6157 /* Line 1806 of yacc.c */ 6159 #line 87 4"parser.yy"6158 #line 873 "parser.yy" 6160 6159 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6161 6160 break; … … 6164 6163 6165 6164 /* Line 1806 of yacc.c */ 6166 #line 87 9"parser.yy"6165 #line 878 "parser.yy" 6167 6166 { 6168 6167 (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) ); … … 6174 6173 6175 6174 /* Line 1806 of yacc.c */ 6176 #line 89 3"parser.yy"6175 #line 892 "parser.yy" 6177 6176 { 6178 6177 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6184 6183 6185 6184 /* Line 1806 of yacc.c */ 6186 #line 89 8"parser.yy"6185 #line 897 "parser.yy" 6187 6186 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6188 6187 break; … … 6191 6190 6192 6191 /* Line 1806 of yacc.c */ 6193 #line 900"parser.yy"6192 #line 899 "parser.yy" 6194 6193 { 6195 6194 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6201 6200 6202 6201 /* Line 1806 of yacc.c */ 6203 #line 90 9"parser.yy"6202 #line 908 "parser.yy" 6204 6203 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); } 6205 6204 break; … … 6208 6207 6209 6208 /* Line 1806 of yacc.c */ 6210 #line 91 1"parser.yy"6209 #line 910 "parser.yy" 6211 6210 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); } 6212 6211 break; … … 6215 6214 6216 6215 /* Line 1806 of yacc.c */ 6217 #line 91 3"parser.yy"6216 #line 912 "parser.yy" 6218 6217 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); } 6219 6218 break; … … 6222 6221 6223 6222 /* Line 1806 of yacc.c */ 6224 #line 91 5"parser.yy"6223 #line 914 "parser.yy" 6225 6224 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (12)].flag), (yyvsp[(4) - (12)].constant), (yyvsp[(6) - (12)].en), (yyvsp[(8) - (12)].en), (yyvsp[(10) - (12)].constant) ); } 6226 6225 break; … … 6229 6228 6230 6229 /* Line 1806 of yacc.c */ 6231 #line 91 7"parser.yy"6230 #line 916 "parser.yy" 6232 6231 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (14)].flag), (yyvsp[(5) - (14)].constant), 0, (yyvsp[(8) - (14)].en), (yyvsp[(10) - (14)].constant), (yyvsp[(12) - (14)].label) ); } 6233 6232 break; … … 6236 6235 6237 6236 /* Line 1806 of yacc.c */ 6238 #line 92 2"parser.yy"6237 #line 921 "parser.yy" 6239 6238 { (yyval.flag) = false; } 6240 6239 break; … … 6243 6242 6244 6243 /* Line 1806 of yacc.c */ 6245 #line 92 4"parser.yy"6244 #line 923 "parser.yy" 6246 6245 { (yyval.flag) = true; } 6247 6246 break; … … 6250 6249 6251 6250 /* Line 1806 of yacc.c */ 6252 #line 92 9"parser.yy"6251 #line 928 "parser.yy" 6253 6252 { (yyval.en) = 0; } 6254 6253 break; … … 6257 6256 6258 6257 /* Line 1806 of yacc.c */ 6259 #line 93 6"parser.yy"6258 #line 935 "parser.yy" 6260 6259 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 6261 6260 break; … … 6264 6263 6265 6264 /* Line 1806 of yacc.c */ 6266 #line 94 1"parser.yy"6265 #line 940 "parser.yy" 6267 6266 { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); } 6268 6267 break; … … 6271 6270 6272 6271 /* Line 1806 of yacc.c */ 6273 #line 94 3"parser.yy"6272 #line 942 "parser.yy" 6274 6273 { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); } 6275 6274 break; … … 6278 6277 6279 6278 /* Line 1806 of yacc.c */ 6280 #line 94 8"parser.yy"6279 #line 947 "parser.yy" 6281 6280 { (yyval.constant) = 0; } 6282 6281 break; … … 6285 6284 6286 6285 /* Line 1806 of yacc.c */ 6287 #line 9 50"parser.yy"6286 #line 949 "parser.yy" 6288 6287 { (yyval.constant) = (yyvsp[(1) - (1)].constant); } 6289 6288 break; … … 6292 6291 6293 6292 /* Line 1806 of yacc.c */ 6294 #line 95 2"parser.yy"6293 #line 951 "parser.yy" 6295 6294 { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); } 6296 6295 break; … … 6299 6298 6300 6299 /* Line 1806 of yacc.c */ 6301 #line 95 7"parser.yy"6300 #line 956 "parser.yy" 6302 6301 { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); } 6303 6302 break; … … 6306 6305 6307 6306 /* Line 1806 of yacc.c */ 6308 #line 95 9"parser.yy"6307 #line 958 "parser.yy" 6309 6308 { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); } 6310 6309 break; … … 6313 6312 6314 6313 /* Line 1806 of yacc.c */ 6315 #line 96 6"parser.yy"6314 #line 965 "parser.yy" 6316 6315 { (yyval.decl) = 0; } 6317 6316 break; … … 6320 6319 6321 6320 /* Line 1806 of yacc.c */ 6322 #line 97 3"parser.yy"6321 #line 972 "parser.yy" 6323 6322 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6324 6323 break; … … 6327 6326 6328 6327 /* Line 1806 of yacc.c */ 6329 #line 97 8"parser.yy"6328 #line 977 "parser.yy" 6330 6329 { (yyval.decl) = 0; } 6331 6330 break; … … 6334 6333 6335 6334 /* Line 1806 of yacc.c */ 6336 #line 98 5"parser.yy"6335 #line 984 "parser.yy" 6337 6336 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6338 6337 break; 6339 6338 6340 6339 case 245: 6340 6341 /* Line 1806 of yacc.c */ 6342 #line 998 "parser.yy" 6343 {} 6344 break; 6345 6346 case 246: 6341 6347 6342 6348 /* Line 1806 of yacc.c */ … … 6345 6351 break; 6346 6352 6347 case 246:6348 6349 /* Line 1806 of yacc.c */6350 #line 1000 "parser.yy"6351 {}6352 break;6353 6354 6353 case 254: 6355 6354 6356 6355 /* Line 1806 of yacc.c */ 6357 #line 102 9"parser.yy"6356 #line 1028 "parser.yy" 6358 6357 { 6359 6358 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6360 (yyval.decl) = (yyvsp[(1) - (2)].decl) ->addInitializer( (yyvsp[(2) - (2)].in) );6359 (yyval.decl) = (yyvsp[(1) - (2)].decl); 6361 6360 } 6362 6361 break; … … 6365 6364 6366 6365 /* Line 1806 of yacc.c */ 6367 #line 103 6"parser.yy"6366 #line 1035 "parser.yy" 6368 6367 { 6369 6368 typedefTable.addToEnclosingScope( TypedefTable::ID ); 6370 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ) ->addInitializer( (yyvsp[(3) - (3)].in) );;6369 (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); 6371 6370 } 6372 6371 break; … … 6375 6374 6376 6375 /* Line 1806 of yacc.c */ 6377 #line 104 1"parser.yy"6376 #line 1040 "parser.yy" 6378 6377 { 6379 6378 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); 6380 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) ) ->addInitializer( (yyvsp[(6) - (6)].in) ));6379 (yyval.decl) = (yyvsp[(1) - (6)].decl)->appendList( (yyvsp[(1) - (6)].decl)->cloneType( (yyvsp[(5) - (6)].tok) ) ); 6381 6380 } 6382 6381 break; … … 6385 6384 6386 6385 /* Line 1806 of yacc.c */ 6387 #line 105 1"parser.yy"6386 #line 1050 "parser.yy" 6388 6387 { 6389 6388 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6395 6394 6396 6395 /* Line 1806 of yacc.c */ 6397 #line 105 6"parser.yy"6396 #line 1055 "parser.yy" 6398 6397 { 6399 6398 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6405 6404 6406 6405 /* Line 1806 of yacc.c */ 6407 #line 106 1"parser.yy"6406 #line 1060 "parser.yy" 6408 6407 { 6409 6408 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6415 6414 6416 6415 /* Line 1806 of yacc.c */ 6417 #line 106 9"parser.yy"6416 #line 1068 "parser.yy" 6418 6417 { 6419 6418 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6425 6424 6426 6425 /* Line 1806 of yacc.c */ 6427 #line 107 4"parser.yy"6426 #line 1073 "parser.yy" 6428 6427 { 6429 6428 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6435 6434 6436 6435 /* Line 1806 of yacc.c */ 6437 #line 107 9"parser.yy"6436 #line 1078 "parser.yy" 6438 6437 { 6439 6438 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6445 6444 6446 6445 /* Line 1806 of yacc.c */ 6447 #line 108 4"parser.yy"6446 #line 1083 "parser.yy" 6448 6447 { 6449 6448 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6455 6454 6456 6455 /* Line 1806 of yacc.c */ 6457 #line 108 9"parser.yy"6456 #line 1088 "parser.yy" 6458 6457 { 6459 6458 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6465 6464 6466 6465 /* Line 1806 of yacc.c */ 6467 #line 109 7"parser.yy"6466 #line 1096 "parser.yy" 6468 6467 { 6469 6468 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6474 6473 6475 6474 /* Line 1806 of yacc.c */ 6476 #line 11 20"parser.yy"6475 #line 1119 "parser.yy" 6477 6476 { 6478 6477 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6483 6482 6484 6483 /* Line 1806 of yacc.c */ 6485 #line 112 4"parser.yy"6484 #line 1123 "parser.yy" 6486 6485 { 6487 6486 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6492 6491 6493 6492 /* Line 1806 of yacc.c */ 6494 #line 113 1"parser.yy"6493 #line 1130 "parser.yy" 6495 6494 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6496 6495 break; … … 6499 6498 6500 6499 /* Line 1806 of yacc.c */ 6501 #line 113 5"parser.yy"6500 #line 1134 "parser.yy" 6502 6501 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6503 6502 break; … … 6506 6505 6507 6506 /* Line 1806 of yacc.c */ 6508 #line 11 40"parser.yy"6507 #line 1139 "parser.yy" 6509 6508 { 6510 6509 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6516 6515 6517 6516 /* Line 1806 of yacc.c */ 6518 #line 114 5"parser.yy"6517 #line 1144 "parser.yy" 6519 6518 { 6520 6519 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6526 6525 6527 6526 /* Line 1806 of yacc.c */ 6528 #line 11 50"parser.yy"6527 #line 1149 "parser.yy" 6529 6528 { 6530 6529 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6536 6535 6537 6536 /* Line 1806 of yacc.c */ 6538 #line 116 1"parser.yy"6537 #line 1160 "parser.yy" 6539 6538 { 6540 6539 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6546 6545 6547 6546 /* Line 1806 of yacc.c */ 6548 #line 116 6"parser.yy"6547 #line 1165 "parser.yy" 6549 6548 { 6550 6549 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6556 6555 6557 6556 /* Line 1806 of yacc.c */ 6558 #line 117 1"parser.yy"6557 #line 1170 "parser.yy" 6559 6558 { 6560 6559 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6566 6565 6567 6566 /* Line 1806 of yacc.c */ 6568 #line 117 6"parser.yy"6567 #line 1175 "parser.yy" 6569 6568 { 6570 6569 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6576 6575 6577 6576 /* Line 1806 of yacc.c */ 6578 #line 118 1"parser.yy"6577 #line 1180 "parser.yy" 6579 6578 { 6580 6579 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6586 6585 6587 6586 /* Line 1806 of yacc.c */ 6588 #line 11 90"parser.yy"6587 #line 1189 "parser.yy" 6589 6588 { 6590 6589 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6596 6595 6597 6596 /* Line 1806 of yacc.c */ 6598 #line 119 5"parser.yy"6597 #line 1194 "parser.yy" 6599 6598 { 6600 6599 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6606 6605 6607 6606 /* Line 1806 of yacc.c */ 6608 #line 121 2"parser.yy"6607 #line 1211 "parser.yy" 6609 6608 { 6610 6609 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6616 6615 6617 6616 /* Line 1806 of yacc.c */ 6618 #line 121 7"parser.yy"6617 #line 1216 "parser.yy" 6619 6618 { 6620 6619 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6626 6625 6627 6626 /* Line 1806 of yacc.c */ 6628 #line 123 9"parser.yy"6627 #line 1238 "parser.yy" 6629 6628 { (yyval.decl) = 0; } 6630 6629 break; … … 6633 6632 6634 6633 /* Line 1806 of yacc.c */ 6635 #line 125 1"parser.yy"6634 #line 1250 "parser.yy" 6636 6635 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6637 6636 break; … … 6640 6639 6641 6640 /* Line 1806 of yacc.c */ 6642 #line 126 2"parser.yy"6641 #line 1261 "parser.yy" 6643 6642 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6644 6643 break; … … 6647 6646 6648 6647 /* Line 1806 of yacc.c */ 6649 #line 126 4"parser.yy"6648 #line 1263 "parser.yy" 6650 6649 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6651 6650 break; … … 6654 6653 6655 6654 /* Line 1806 of yacc.c */ 6656 #line 126 6"parser.yy"6655 #line 1265 "parser.yy" 6657 6656 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6658 6657 break; … … 6661 6660 6662 6661 /* Line 1806 of yacc.c */ 6663 #line 126 8"parser.yy"6662 #line 1267 "parser.yy" 6664 6663 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6665 6664 break; … … 6668 6667 6669 6668 /* Line 1806 of yacc.c */ 6670 #line 12 70"parser.yy"6669 #line 1269 "parser.yy" 6671 6670 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6672 6671 break; … … 6675 6674 6676 6675 /* Line 1806 of yacc.c */ 6677 #line 127 2"parser.yy"6676 #line 1271 "parser.yy" 6678 6677 { 6679 6678 typedefTable.enterScope(); … … 6684 6683 6685 6684 /* Line 1806 of yacc.c */ 6686 #line 127 6"parser.yy"6685 #line 1275 "parser.yy" 6687 6686 { 6688 6687 typedefTable.leaveScope(); … … 6694 6693 6695 6694 /* Line 1806 of yacc.c */ 6696 #line 128 5"parser.yy"6695 #line 1284 "parser.yy" 6697 6696 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6698 6697 break; … … 6701 6700 6702 6701 /* Line 1806 of yacc.c */ 6703 #line 128 7"parser.yy"6702 #line 1286 "parser.yy" 6704 6703 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6705 6704 break; … … 6708 6707 6709 6708 /* Line 1806 of yacc.c */ 6710 #line 129 8"parser.yy"6709 #line 1297 "parser.yy" 6711 6710 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6712 6711 break; … … 6715 6714 6716 6715 /* Line 1806 of yacc.c */ 6717 #line 130 7"parser.yy"6716 #line 1306 "parser.yy" 6718 6717 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6719 6718 break; … … 6722 6721 6723 6722 /* Line 1806 of yacc.c */ 6724 #line 130 9"parser.yy"6723 #line 1308 "parser.yy" 6725 6724 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6726 6725 break; … … 6729 6728 6730 6729 /* Line 1806 of yacc.c */ 6731 #line 131 1"parser.yy"6730 #line 1310 "parser.yy" 6732 6731 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6733 6732 break; … … 6736 6735 6737 6736 /* Line 1806 of yacc.c */ 6738 #line 131 3"parser.yy"6737 #line 1312 "parser.yy" 6739 6738 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6740 6739 break; … … 6743 6742 6744 6743 /* Line 1806 of yacc.c */ 6745 #line 131 5"parser.yy"6744 #line 1314 "parser.yy" 6746 6745 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6747 6746 break; … … 6750 6749 6751 6750 /* Line 1806 of yacc.c */ 6752 #line 131 7"parser.yy"6751 #line 1316 "parser.yy" 6753 6752 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6754 6753 break; … … 6757 6756 6758 6757 /* Line 1806 of yacc.c */ 6759 #line 131 9"parser.yy"6758 #line 1318 "parser.yy" 6760 6759 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6761 6760 break; … … 6764 6763 6765 6764 /* Line 1806 of yacc.c */ 6766 #line 132 1"parser.yy"6765 #line 1320 "parser.yy" 6767 6766 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6768 6767 break; … … 6771 6770 6772 6771 /* Line 1806 of yacc.c */ 6773 #line 132 6"parser.yy"6772 #line 1325 "parser.yy" 6774 6773 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6775 6774 break; … … 6778 6777 6779 6778 /* Line 1806 of yacc.c */ 6780 #line 132 8"parser.yy"6779 #line 1327 "parser.yy" 6781 6780 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6782 6781 break; … … 6785 6784 6786 6785 /* Line 1806 of yacc.c */ 6787 #line 13 30"parser.yy"6786 #line 1329 "parser.yy" 6788 6787 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6789 6788 break; … … 6792 6791 6793 6792 /* Line 1806 of yacc.c */ 6794 #line 133 2"parser.yy"6793 #line 1331 "parser.yy" 6795 6794 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6796 6795 break; … … 6799 6798 6800 6799 /* Line 1806 of yacc.c */ 6801 #line 133 4"parser.yy"6800 #line 1333 "parser.yy" 6802 6801 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6803 6802 break; … … 6806 6805 6807 6806 /* Line 1806 of yacc.c */ 6808 #line 133 6"parser.yy"6807 #line 1335 "parser.yy" 6809 6808 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6810 6809 break; … … 6813 6812 6814 6813 /* Line 1806 of yacc.c */ 6815 #line 133 8"parser.yy"6814 #line 1337 "parser.yy" 6816 6815 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6817 6816 break; … … 6820 6819 6821 6820 /* Line 1806 of yacc.c */ 6822 #line 13 40"parser.yy"6821 #line 1339 "parser.yy" 6823 6822 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6824 6823 break; … … 6827 6826 6828 6827 /* Line 1806 of yacc.c */ 6829 #line 134 2"parser.yy"6828 #line 1341 "parser.yy" 6830 6829 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 6831 6830 break; … … 6834 6833 6835 6834 /* Line 1806 of yacc.c */ 6836 #line 134 4"parser.yy"6835 #line 1343 "parser.yy" 6837 6836 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 6838 6837 break; … … 6841 6840 6842 6841 /* Line 1806 of yacc.c */ 6843 #line 134 6"parser.yy"6842 #line 1345 "parser.yy" 6844 6843 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 6845 6844 break; … … 6848 6847 6849 6848 /* Line 1806 of yacc.c */ 6850 #line 134 8"parser.yy"6849 #line 1347 "parser.yy" 6851 6850 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 6852 6851 break; … … 6855 6854 6856 6855 /* Line 1806 of yacc.c */ 6857 #line 13 50"parser.yy"6856 #line 1349 "parser.yy" 6858 6857 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 6859 6858 break; … … 6862 6861 6863 6862 /* Line 1806 of yacc.c */ 6864 #line 135 7"parser.yy"6863 #line 1356 "parser.yy" 6865 6864 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6866 6865 break; … … 6869 6868 6870 6869 /* Line 1806 of yacc.c */ 6871 #line 135 9"parser.yy"6870 #line 1358 "parser.yy" 6872 6871 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6873 6872 break; … … 6876 6875 6877 6876 /* Line 1806 of yacc.c */ 6878 #line 136 1"parser.yy"6877 #line 1360 "parser.yy" 6879 6878 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6880 6879 break; … … 6883 6882 6884 6883 /* Line 1806 of yacc.c */ 6885 #line 136 3"parser.yy"6884 #line 1362 "parser.yy" 6886 6885 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 6887 6886 break; … … 6890 6889 6891 6890 /* Line 1806 of yacc.c */ 6892 #line 136 9"parser.yy"6891 #line 1368 "parser.yy" 6893 6892 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6894 6893 break; … … 6897 6896 6898 6897 /* Line 1806 of yacc.c */ 6899 #line 137 6"parser.yy"6898 #line 1375 "parser.yy" 6900 6899 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6901 6900 break; … … 6904 6903 6905 6904 /* Line 1806 of yacc.c */ 6906 #line 137 8"parser.yy"6905 #line 1377 "parser.yy" 6907 6906 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6908 6907 break; … … 6911 6910 6912 6911 /* Line 1806 of yacc.c */ 6913 #line 13 80"parser.yy"6912 #line 1379 "parser.yy" 6914 6913 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 6915 6914 break; … … 6918 6917 6919 6918 /* Line 1806 of yacc.c */ 6920 #line 138 5"parser.yy"6919 #line 1384 "parser.yy" 6921 6920 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 6922 6921 break; … … 6925 6924 6926 6925 /* Line 1806 of yacc.c */ 6927 #line 138 7"parser.yy"6926 #line 1386 "parser.yy" 6928 6927 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 6929 6928 break; … … 6932 6931 6933 6932 /* Line 1806 of yacc.c */ 6934 #line 138 9"parser.yy"6933 #line 1388 "parser.yy" 6935 6934 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 6936 6935 break; … … 6939 6938 6940 6939 /* Line 1806 of yacc.c */ 6941 #line 139 1"parser.yy"6940 #line 1390 "parser.yy" 6942 6941 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 6943 6942 break; … … 6946 6945 6947 6946 /* Line 1806 of yacc.c */ 6948 #line 139 7"parser.yy"6947 #line 1396 "parser.yy" 6949 6948 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6950 6949 break; … … 6953 6952 6954 6953 /* Line 1806 of yacc.c */ 6955 #line 139 9"parser.yy"6954 #line 1398 "parser.yy" 6956 6955 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6957 6956 break; … … 6960 6959 6961 6960 /* Line 1806 of yacc.c */ 6962 #line 140 1"parser.yy"6961 #line 1400 "parser.yy" 6963 6962 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6964 6963 break; … … 6967 6966 6968 6967 /* Line 1806 of yacc.c */ 6969 #line 140 7"parser.yy"6968 #line 1406 "parser.yy" 6970 6969 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6971 6970 break; … … 6974 6973 6975 6974 /* Line 1806 of yacc.c */ 6976 #line 140 9"parser.yy"6975 #line 1408 "parser.yy" 6977 6976 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6978 6977 break; … … 6981 6980 6982 6981 /* Line 1806 of yacc.c */ 6983 #line 141 5"parser.yy"6982 #line 1414 "parser.yy" 6984 6983 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 6985 6984 break; … … 6988 6987 6989 6988 /* Line 1806 of yacc.c */ 6990 #line 141 7"parser.yy"6989 #line 1416 "parser.yy" 6991 6990 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6992 6991 break; … … 6995 6994 6996 6995 /* Line 1806 of yacc.c */ 6997 #line 141 9"parser.yy"6996 #line 1418 "parser.yy" 6998 6997 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6999 6998 break; … … 7002 7001 7003 7002 /* Line 1806 of yacc.c */ 7004 #line 142 4"parser.yy"7003 #line 1423 "parser.yy" 7005 7004 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 7006 7005 break; … … 7009 7008 7010 7009 /* Line 1806 of yacc.c */ 7011 #line 142 6"parser.yy"7010 #line 1425 "parser.yy" 7012 7011 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7013 7012 break; … … 7016 7015 7017 7016 /* Line 1806 of yacc.c */ 7018 #line 142 8"parser.yy"7017 #line 1427 "parser.yy" 7019 7018 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7020 7019 break; … … 7023 7022 7024 7023 /* Line 1806 of yacc.c */ 7025 #line 143 8"parser.yy"7024 #line 1437 "parser.yy" 7026 7025 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); } 7027 7026 break; … … 7030 7029 7031 7030 /* Line 1806 of yacc.c */ 7032 #line 14 40"parser.yy"7031 #line 1439 "parser.yy" 7033 7032 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (2)].aggKey), (yyvsp[(2) - (2)].tok), 0, 0 ); } 7034 7033 break; … … 7037 7036 7038 7037 /* Line 1806 of yacc.c */ 7039 #line 144 2"parser.yy"7038 #line 1441 "parser.yy" 7040 7039 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (5)].aggKey), (yyvsp[(2) - (5)].tok), 0, (yyvsp[(4) - (5)].decl) ); } 7041 7040 break; … … 7044 7043 7045 7044 /* Line 1806 of yacc.c */ 7046 #line 144 4"parser.yy"7045 #line 1443 "parser.yy" 7047 7046 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); } 7048 7047 break; … … 7051 7050 7052 7051 /* Line 1806 of yacc.c */ 7053 #line 144 6"parser.yy"7052 #line 1445 "parser.yy" 7054 7053 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7055 7054 break; … … 7058 7057 7059 7058 /* Line 1806 of yacc.c */ 7060 #line 145 1"parser.yy"7059 #line 1450 "parser.yy" 7061 7060 { (yyval.aggKey) = DeclarationNode::Struct; } 7062 7061 break; … … 7065 7064 7066 7065 /* Line 1806 of yacc.c */ 7067 #line 145 3"parser.yy"7066 #line 1452 "parser.yy" 7068 7067 { (yyval.aggKey) = DeclarationNode::Union; } 7069 7068 break; … … 7072 7071 7073 7072 /* Line 1806 of yacc.c */ 7074 #line 145 8"parser.yy"7073 #line 1457 "parser.yy" 7075 7074 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 7076 7075 break; … … 7079 7078 7080 7079 /* Line 1806 of yacc.c */ 7081 #line 14 60"parser.yy"7080 #line 1459 "parser.yy" 7082 7081 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7083 7082 break; … … 7086 7085 7087 7086 /* Line 1806 of yacc.c */ 7088 #line 146 6"parser.yy"7087 #line 1465 "parser.yy" 7089 7088 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7090 7089 break; … … 7093 7092 7094 7093 /* Line 1806 of yacc.c */ 7095 #line 146 9"parser.yy"7094 #line 1468 "parser.yy" 7096 7095 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 7097 7096 break; … … 7100 7099 7101 7100 /* Line 1806 of yacc.c */ 7102 #line 147 5"parser.yy"7101 #line 1474 "parser.yy" 7103 7102 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7104 7103 break; … … 7107 7106 7108 7107 /* Line 1806 of yacc.c */ 7109 #line 147 7"parser.yy"7108 #line 1476 "parser.yy" 7110 7109 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7111 7110 break; … … 7114 7113 7115 7114 /* Line 1806 of yacc.c */ 7116 #line 147 9"parser.yy"7115 #line 1478 "parser.yy" 7117 7116 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7118 7117 break; … … 7121 7120 7122 7121 /* Line 1806 of yacc.c */ 7123 #line 148 4"parser.yy"7122 #line 1483 "parser.yy" 7124 7123 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7125 7124 break; … … 7128 7127 7129 7128 /* Line 1806 of yacc.c */ 7130 #line 148 6"parser.yy"7129 #line 1485 "parser.yy" 7131 7130 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7132 7131 break; … … 7135 7134 7136 7135 /* Line 1806 of yacc.c */ 7137 #line 149 1"parser.yy"7136 #line 1490 "parser.yy" 7138 7137 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7139 7138 break; … … 7142 7141 7143 7142 /* Line 1806 of yacc.c */ 7144 #line 149 3"parser.yy"7143 #line 1492 "parser.yy" 7145 7144 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7146 7145 break; … … 7149 7148 7150 7149 /* Line 1806 of yacc.c */ 7151 #line 149 6"parser.yy"7150 #line 1495 "parser.yy" 7152 7151 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7153 7152 break; … … 7156 7155 7157 7156 /* Line 1806 of yacc.c */ 7158 #line 149 9"parser.yy"7157 #line 1498 "parser.yy" 7159 7158 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7160 7159 break; … … 7163 7162 7164 7163 /* Line 1806 of yacc.c */ 7165 #line 150 5"parser.yy"7164 #line 1504 "parser.yy" 7166 7165 { (yyval.en) = 0; } 7167 7166 break; … … 7170 7169 7171 7170 /* Line 1806 of yacc.c */ 7172 #line 150 7"parser.yy"7171 #line 1506 "parser.yy" 7173 7172 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7174 7173 break; … … 7177 7176 7178 7177 /* Line 1806 of yacc.c */ 7179 #line 151 2"parser.yy"7178 #line 1511 "parser.yy" 7180 7179 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7181 7180 break; … … 7184 7183 7185 7184 /* Line 1806 of yacc.c */ 7186 #line 152 1"parser.yy"7185 #line 1520 "parser.yy" 7187 7186 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7188 7187 break; … … 7191 7190 7192 7191 /* Line 1806 of yacc.c */ 7193 #line 152 3"parser.yy"7192 #line 1522 "parser.yy" 7194 7193 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (6)].tok), (yyvsp[(4) - (6)].decl) ); } 7195 7194 break; … … 7198 7197 7199 7198 /* Line 1806 of yacc.c */ 7200 #line 152 5"parser.yy"7199 #line 1524 "parser.yy" 7201 7200 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (2)].tok), 0 ); } 7202 7201 break; … … 7205 7204 7206 7205 /* Line 1806 of yacc.c */ 7207 #line 15 30"parser.yy"7206 #line 1529 "parser.yy" 7208 7207 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7209 7208 break; … … 7212 7211 7213 7212 /* Line 1806 of yacc.c */ 7214 #line 153 2"parser.yy"7213 #line 1531 "parser.yy" 7215 7214 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7216 7215 break; … … 7219 7218 7220 7219 /* Line 1806 of yacc.c */ 7221 #line 153 7"parser.yy"7220 #line 1536 "parser.yy" 7222 7221 { (yyval.en) = 0; } 7223 7222 break; … … 7226 7225 7227 7226 /* Line 1806 of yacc.c */ 7228 #line 153 9"parser.yy"7227 #line 1538 "parser.yy" 7229 7228 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7230 7229 break; … … 7233 7232 7234 7233 /* Line 1806 of yacc.c */ 7235 #line 154 6"parser.yy"7234 #line 1545 "parser.yy" 7236 7235 { (yyval.decl) = 0; } 7237 7236 break; … … 7240 7239 7241 7240 /* Line 1806 of yacc.c */ 7242 #line 155 4"parser.yy"7241 #line 1553 "parser.yy" 7243 7242 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7244 7243 break; … … 7247 7246 7248 7247 /* Line 1806 of yacc.c */ 7249 #line 155 6"parser.yy"7248 #line 1555 "parser.yy" 7250 7249 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7251 7250 break; … … 7254 7253 7255 7254 /* Line 1806 of yacc.c */ 7256 #line 155 8"parser.yy"7255 #line 1557 "parser.yy" 7257 7256 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7258 7257 break; … … 7261 7260 7262 7261 /* Line 1806 of yacc.c */ 7263 #line 156 6"parser.yy"7262 #line 1565 "parser.yy" 7264 7263 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7265 7264 break; … … 7268 7267 7269 7268 /* Line 1806 of yacc.c */ 7270 #line 156 8"parser.yy"7269 #line 1567 "parser.yy" 7271 7270 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7272 7271 break; … … 7275 7274 7276 7275 /* Line 1806 of yacc.c */ 7277 #line 15 70"parser.yy"7276 #line 1569 "parser.yy" 7278 7277 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7279 7278 break; … … 7282 7281 7283 7282 /* Line 1806 of yacc.c */ 7284 #line 157 6"parser.yy"7283 #line 1575 "parser.yy" 7285 7284 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7286 7285 break; … … 7289 7288 7290 7289 /* Line 1806 of yacc.c */ 7291 #line 158 1"parser.yy"7290 #line 1580 "parser.yy" 7292 7291 { (yyval.decl) = 0; } 7293 7292 break; … … 7296 7295 7297 7296 /* Line 1806 of yacc.c */ 7298 #line 158 8"parser.yy"7297 #line 1587 "parser.yy" 7299 7298 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7300 7299 break; … … 7303 7302 7304 7303 /* Line 1806 of yacc.c */ 7305 #line 159 5"parser.yy"7304 #line 1594 "parser.yy" 7306 7305 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7307 7306 break; … … 7310 7309 7311 7310 /* Line 1806 of yacc.c */ 7312 #line 159 7"parser.yy"7311 #line 1596 "parser.yy" 7313 7312 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7314 7313 break; … … 7317 7316 7318 7317 /* Line 1806 of yacc.c */ 7319 #line 160 6"parser.yy"7318 #line 1605 "parser.yy" 7320 7319 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7321 7320 break; … … 7324 7323 7325 7324 /* Line 1806 of yacc.c */ 7326 #line 160 9"parser.yy"7325 #line 1608 "parser.yy" 7327 7326 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7328 7327 break; … … 7331 7330 7332 7331 /* Line 1806 of yacc.c */ 7333 #line 161 1"parser.yy"7332 #line 1610 "parser.yy" 7334 7333 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7335 7334 break; … … 7338 7337 7339 7338 /* Line 1806 of yacc.c */ 7340 #line 162 1"parser.yy"7339 #line 1620 "parser.yy" 7341 7340 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7342 7341 break; … … 7345 7344 7346 7345 /* Line 1806 of yacc.c */ 7347 #line 162 7"parser.yy"7346 #line 1626 "parser.yy" 7348 7347 { 7349 7348 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7355 7354 7356 7355 /* Line 1806 of yacc.c */ 7357 #line 163 2"parser.yy"7356 #line 1631 "parser.yy" 7358 7357 { 7359 7358 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7365 7364 7366 7365 /* Line 1806 of yacc.c */ 7367 #line 164 1"parser.yy"7366 #line 1640 "parser.yy" 7368 7367 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7369 7368 break; … … 7372 7371 7373 7372 /* Line 1806 of yacc.c */ 7374 #line 16 50"parser.yy"7373 #line 1649 "parser.yy" 7375 7374 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7376 7375 break; … … 7379 7378 7380 7379 /* Line 1806 of yacc.c */ 7381 #line 165 2"parser.yy"7380 #line 1651 "parser.yy" 7382 7381 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7383 7382 break; … … 7386 7385 7387 7386 /* Line 1806 of yacc.c */ 7388 #line 167 7"parser.yy"7387 #line 1676 "parser.yy" 7389 7388 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7390 7389 break; … … 7393 7392 7394 7393 /* Line 1806 of yacc.c */ 7395 #line 168 5"parser.yy"7394 #line 1684 "parser.yy" 7396 7395 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7397 7396 break; … … 7400 7399 7401 7400 /* Line 1806 of yacc.c */ 7402 #line 16 90"parser.yy"7401 #line 1689 "parser.yy" 7403 7402 { (yyval.in) = 0; } 7404 7403 break; … … 7407 7406 7408 7407 /* Line 1806 of yacc.c */ 7409 #line 169 2"parser.yy"7408 #line 1691 "parser.yy" 7410 7409 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7411 7410 break; … … 7414 7413 7415 7414 /* Line 1806 of yacc.c */ 7416 #line 169 4"parser.yy"7415 #line 1693 "parser.yy" 7417 7416 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7418 7417 break; … … 7421 7420 7422 7421 /* Line 1806 of yacc.c */ 7422 #line 1697 "parser.yy" 7423 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7424 break; 7425 7426 case 457: 7427 7428 /* Line 1806 of yacc.c */ 7423 7429 #line 1698 "parser.yy" 7424 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }7425 break;7426 7427 case 457:7428 7429 /* Line 1806 of yacc.c */7430 #line 1699 "parser.yy"7431 7430 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7432 7431 break; … … 7435 7434 7436 7435 /* Line 1806 of yacc.c */ 7437 #line 170 4"parser.yy"7436 #line 1703 "parser.yy" 7438 7437 { (yyval.in) = 0; } 7439 7438 break; … … 7442 7441 7443 7442 /* Line 1806 of yacc.c */ 7443 #line 1705 "parser.yy" 7444 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7445 break; 7446 7447 case 461: 7448 7449 /* Line 1806 of yacc.c */ 7444 7450 #line 1706 "parser.yy" 7445 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }7446 break;7447 7448 case 461:7449 7450 /* Line 1806 of yacc.c */7451 #line 1707 "parser.yy"7452 7451 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7453 7452 break; … … 7456 7455 7457 7456 /* Line 1806 of yacc.c */ 7458 #line 170 9"parser.yy"7457 #line 1708 "parser.yy" 7459 7458 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7460 7459 break; … … 7463 7462 7464 7463 /* Line 1806 of yacc.c */ 7465 #line 172 5"parser.yy"7464 #line 1724 "parser.yy" 7466 7465 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7467 7466 break; … … 7470 7469 7471 7470 /* Line 1806 of yacc.c */ 7472 #line 173 1"parser.yy"7471 #line 1730 "parser.yy" 7473 7472 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7474 7473 break; … … 7477 7476 7478 7477 /* Line 1806 of yacc.c */ 7479 #line 173 9"parser.yy"7478 #line 1738 "parser.yy" 7480 7479 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); } 7481 7480 break; … … 7484 7483 7485 7484 /* Line 1806 of yacc.c */ 7486 #line 174 1"parser.yy"7485 #line 1740 "parser.yy" 7487 7486 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); } 7488 7487 break; … … 7491 7490 7492 7491 /* Line 1806 of yacc.c */ 7493 #line 174 4"parser.yy"7492 #line 1743 "parser.yy" 7494 7493 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 7495 7494 break; … … 7498 7497 7499 7498 /* Line 1806 of yacc.c */ 7500 #line 174 6"parser.yy"7499 #line 1745 "parser.yy" 7501 7500 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 7502 7501 break; … … 7505 7504 7506 7505 /* Line 1806 of yacc.c */ 7507 #line 174 8"parser.yy"7506 #line 1747 "parser.yy" 7508 7507 { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); } 7509 7508 break; … … 7512 7511 7513 7512 /* Line 1806 of yacc.c */ 7514 #line 17 50"parser.yy"7513 #line 1749 "parser.yy" 7515 7514 { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); } 7516 7515 break; … … 7519 7518 7520 7519 /* Line 1806 of yacc.c */ 7521 #line 177 4"parser.yy"7520 #line 1773 "parser.yy" 7522 7521 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7523 7522 break; … … 7526 7525 7527 7526 /* Line 1806 of yacc.c */ 7528 #line 177 6"parser.yy"7527 #line 1775 "parser.yy" 7529 7528 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7530 7529 break; … … 7533 7532 7534 7533 /* Line 1806 of yacc.c */ 7535 #line 177 8"parser.yy"7534 #line 1777 "parser.yy" 7536 7535 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7537 7536 break; … … 7540 7539 7541 7540 /* Line 1806 of yacc.c */ 7542 #line 178 4"parser.yy"7541 #line 1783 "parser.yy" 7543 7542 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7544 7543 break; … … 7547 7546 7548 7547 /* Line 1806 of yacc.c */ 7549 #line 178 6"parser.yy"7548 #line 1785 "parser.yy" 7550 7549 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7551 7550 break; … … 7554 7553 7555 7554 /* Line 1806 of yacc.c */ 7556 #line 179 1"parser.yy"7555 #line 1790 "parser.yy" 7557 7556 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7558 7557 break; … … 7561 7560 7562 7561 /* Line 1806 of yacc.c */ 7563 #line 179 7"parser.yy"7562 #line 1796 "parser.yy" 7564 7563 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7565 7564 break; … … 7568 7567 7569 7568 /* Line 1806 of yacc.c */ 7570 #line 180 2"parser.yy"7569 #line 1801 "parser.yy" 7571 7570 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7572 7571 break; … … 7575 7574 7576 7575 /* Line 1806 of yacc.c */ 7577 #line 180 4"parser.yy"7576 #line 1803 "parser.yy" 7578 7577 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7579 7578 break; … … 7582 7581 7583 7582 /* Line 1806 of yacc.c */ 7584 #line 18 10"parser.yy"7583 #line 1809 "parser.yy" 7585 7584 { (yyval.tclass) = DeclarationNode::Type; } 7586 7585 break; … … 7589 7588 7590 7589 /* Line 1806 of yacc.c */ 7591 #line 181 2"parser.yy"7590 #line 1811 "parser.yy" 7592 7591 { (yyval.tclass) = DeclarationNode::Ftype; } 7593 7592 break; … … 7596 7595 7597 7596 /* Line 1806 of yacc.c */ 7598 #line 181 4"parser.yy"7597 #line 1813 "parser.yy" 7599 7598 { (yyval.tclass) = DeclarationNode::Dtype; } 7600 7599 break; … … 7603 7602 7604 7603 /* Line 1806 of yacc.c */ 7605 #line 181 9"parser.yy"7604 #line 1818 "parser.yy" 7606 7605 { (yyval.decl) = 0; } 7607 7606 break; … … 7610 7609 7611 7610 /* Line 1806 of yacc.c */ 7612 #line 182 1"parser.yy"7611 #line 1820 "parser.yy" 7613 7612 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7614 7613 break; … … 7617 7616 7618 7617 /* Line 1806 of yacc.c */ 7619 #line 182 6"parser.yy"7618 #line 1825 "parser.yy" 7620 7619 { 7621 7620 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7627 7626 7628 7627 /* Line 1806 of yacc.c */ 7629 #line 183 1"parser.yy"7628 #line 1830 "parser.yy" 7630 7629 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7631 7630 break; … … 7634 7633 7635 7634 /* Line 1806 of yacc.c */ 7636 #line 183 3"parser.yy"7635 #line 1832 "parser.yy" 7637 7636 { (yyval.decl) = 0; } 7638 7637 break; … … 7641 7640 7642 7641 /* Line 1806 of yacc.c */ 7643 #line 183 8"parser.yy"7642 #line 1837 "parser.yy" 7644 7643 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7645 7644 break; … … 7648 7647 7649 7648 /* Line 1806 of yacc.c */ 7650 #line 184 1"parser.yy"7649 #line 1840 "parser.yy" 7651 7650 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 7652 7651 break; … … 7655 7654 7656 7655 /* Line 1806 of yacc.c */ 7657 #line 184 3"parser.yy"7656 #line 1842 "parser.yy" 7658 7657 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 7659 7658 break; … … 7662 7661 7663 7662 /* Line 1806 of yacc.c */ 7664 #line 184 8"parser.yy"7663 #line 1847 "parser.yy" 7665 7664 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7666 7665 break; … … 7669 7668 7670 7669 /* Line 1806 of yacc.c */ 7671 #line 18 50"parser.yy"7670 #line 1849 "parser.yy" 7672 7671 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7673 7672 break; … … 7676 7675 7677 7676 /* Line 1806 of yacc.c */ 7678 #line 185 2"parser.yy"7677 #line 1851 "parser.yy" 7679 7678 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7680 7679 break; … … 7683 7682 7684 7683 /* Line 1806 of yacc.c */ 7685 #line 185 7"parser.yy"7684 #line 1856 "parser.yy" 7686 7685 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7687 7686 break; … … 7690 7689 7691 7690 /* Line 1806 of yacc.c */ 7692 #line 185 9"parser.yy"7691 #line 1858 "parser.yy" 7693 7692 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7694 7693 break; … … 7697 7696 7698 7697 /* Line 1806 of yacc.c */ 7699 #line 186 4"parser.yy"7698 #line 1863 "parser.yy" 7700 7699 { 7701 7700 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7707 7706 7708 7707 /* Line 1806 of yacc.c */ 7709 #line 186 9"parser.yy"7708 #line 1868 "parser.yy" 7710 7709 { 7711 7710 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7717 7716 7718 7717 /* Line 1806 of yacc.c */ 7719 #line 187 7"parser.yy"7718 #line 1876 "parser.yy" 7720 7719 { 7721 7720 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7727 7726 7728 7727 /* Line 1806 of yacc.c */ 7729 #line 188 2"parser.yy"7728 #line 1881 "parser.yy" 7730 7729 { 7731 7730 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7737 7736 7738 7737 /* Line 1806 of yacc.c */ 7739 #line 188 7"parser.yy"7738 #line 1886 "parser.yy" 7740 7739 { 7741 7740 typedefTable.leaveTrait(); … … 7748 7747 7749 7748 /* Line 1806 of yacc.c */ 7750 #line 189 7"parser.yy"7749 #line 1896 "parser.yy" 7751 7750 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7752 7751 break; … … 7755 7754 7756 7755 /* Line 1806 of yacc.c */ 7757 #line 190 7"parser.yy"7756 #line 1906 "parser.yy" 7758 7757 { 7759 7758 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7765 7764 7766 7765 /* Line 1806 of yacc.c */ 7767 #line 191 2"parser.yy"7766 #line 1911 "parser.yy" 7768 7767 { 7769 7768 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7775 7774 7776 7775 /* Line 1806 of yacc.c */ 7777 #line 191 7"parser.yy"7776 #line 1916 "parser.yy" 7778 7777 { 7779 7778 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7785 7784 7786 7785 /* Line 1806 of yacc.c */ 7787 #line 192 5"parser.yy"7786 #line 1924 "parser.yy" 7788 7787 { 7789 7788 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7795 7794 7796 7795 /* Line 1806 of yacc.c */ 7797 #line 19 30"parser.yy"7796 #line 1929 "parser.yy" 7798 7797 { 7799 7798 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7805 7804 7806 7805 /* Line 1806 of yacc.c */ 7807 #line 19 40"parser.yy"7806 #line 1939 "parser.yy" 7808 7807 {} 7809 7808 break; … … 7812 7811 7813 7812 /* Line 1806 of yacc.c */ 7814 #line 194 2"parser.yy"7813 #line 1941 "parser.yy" 7815 7814 { 7816 7815 if ( theTree ) { … … 7825 7824 7826 7825 /* Line 1806 of yacc.c */ 7827 #line 195 4"parser.yy"7826 #line 1953 "parser.yy" 7828 7827 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 7829 7828 break; … … 7832 7831 7833 7832 /* Line 1806 of yacc.c */ 7834 #line 195 9"parser.yy"7833 #line 1958 "parser.yy" 7835 7834 { (yyval.decl) = 0; } 7836 7835 break; … … 7839 7838 7840 7839 /* Line 1806 of yacc.c */ 7841 #line 196 7"parser.yy"7840 #line 1966 "parser.yy" 7842 7841 {} 7843 7842 break; … … 7846 7845 7847 7846 /* Line 1806 of yacc.c */ 7848 #line 196 9"parser.yy"7847 #line 1968 "parser.yy" 7849 7848 { 7850 7849 linkageStack.push( linkage ); … … 7856 7855 7857 7856 /* Line 1806 of yacc.c */ 7858 #line 197 4"parser.yy"7857 #line 1973 "parser.yy" 7859 7858 { 7860 7859 linkage = linkageStack.top(); … … 7867 7866 7868 7867 /* Line 1806 of yacc.c */ 7869 #line 19 80"parser.yy"7868 #line 1979 "parser.yy" 7870 7869 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7871 7870 break; … … 7874 7873 7875 7874 /* Line 1806 of yacc.c */ 7876 #line 19 90"parser.yy"7875 #line 1989 "parser.yy" 7877 7876 { 7878 7877 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7885 7884 7886 7885 /* Line 1806 of yacc.c */ 7887 #line 199 6"parser.yy"7886 #line 1995 "parser.yy" 7888 7887 { 7889 7888 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7896 7895 7897 7896 /* Line 1806 of yacc.c */ 7898 #line 200 5"parser.yy"7897 #line 2004 "parser.yy" 7899 7898 { 7900 7899 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7907 7906 7908 7907 /* Line 1806 of yacc.c */ 7909 #line 201 1"parser.yy"7908 #line 2010 "parser.yy" 7910 7909 { 7911 7910 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7918 7917 7919 7918 /* Line 1806 of yacc.c */ 7920 #line 201 7"parser.yy"7919 #line 2016 "parser.yy" 7921 7920 { 7922 7921 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7929 7928 7930 7929 /* Line 1806 of yacc.c */ 7931 #line 202 3"parser.yy"7930 #line 2022 "parser.yy" 7932 7931 { 7933 7932 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7940 7939 7941 7940 /* Line 1806 of yacc.c */ 7942 #line 202 9"parser.yy"7941 #line 2028 "parser.yy" 7943 7942 { 7944 7943 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7951 7950 7952 7951 /* Line 1806 of yacc.c */ 7953 #line 203 7"parser.yy"7952 #line 2036 "parser.yy" 7954 7953 { 7955 7954 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7962 7961 7963 7962 /* Line 1806 of yacc.c */ 7964 #line 204 3"parser.yy"7963 #line 2042 "parser.yy" 7965 7964 { 7966 7965 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7973 7972 7974 7973 /* Line 1806 of yacc.c */ 7975 #line 205 1"parser.yy"7974 #line 2050 "parser.yy" 7976 7975 { 7977 7976 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7984 7983 7985 7984 /* Line 1806 of yacc.c */ 7986 #line 205 7"parser.yy"7985 #line 2056 "parser.yy" 7987 7986 { 7988 7987 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7995 7994 7996 7995 /* Line 1806 of yacc.c */ 7997 #line 207 2"parser.yy"7996 #line 2071 "parser.yy" 7998 7997 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 7999 7998 break; … … 8002 8001 8003 8002 /* Line 1806 of yacc.c */ 8004 #line 208 2"parser.yy"8003 #line 2081 "parser.yy" 8005 8004 { (yyval.decl) = 0; } 8006 8005 break; … … 8009 8008 8010 8009 /* Line 1806 of yacc.c */ 8011 #line 208 9"parser.yy"8010 #line 2088 "parser.yy" 8012 8011 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8013 8012 break; … … 8016 8015 8017 8016 /* Line 1806 of yacc.c */ 8018 #line 209 5"parser.yy"8017 #line 2094 "parser.yy" 8019 8018 { (yyval.decl) = 0; } 8020 8019 break; 8021 8020 8022 8021 case 557: 8022 8023 /* Line 1806 of yacc.c */ 8024 #line 2109 "parser.yy" 8025 {} 8026 break; 8027 8028 case 558: 8023 8029 8024 8030 /* Line 1806 of yacc.c */ … … 8027 8033 break; 8028 8034 8029 case 55 8:8035 case 559: 8030 8036 8031 8037 /* Line 1806 of yacc.c */ … … 8034 8040 break; 8035 8041 8036 case 5 59:8042 case 560: 8037 8043 8038 8044 /* Line 1806 of yacc.c */ … … 8041 8047 break; 8042 8048 8043 case 560:8044 8045 /* Line 1806 of yacc.c */8046 #line 2113 "parser.yy"8047 {}8048 break;8049 8050 8049 case 561: 8051 8050 8052 8051 /* Line 1806 of yacc.c */ 8053 #line 214 8"parser.yy"8052 #line 2147 "parser.yy" 8054 8053 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8055 8054 break; … … 8058 8057 8059 8058 /* Line 1806 of yacc.c */ 8060 #line 215 1"parser.yy"8059 #line 2150 "parser.yy" 8061 8060 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8062 8061 break; … … 8065 8064 8066 8065 /* Line 1806 of yacc.c */ 8067 #line 215 3"parser.yy"8066 #line 2152 "parser.yy" 8068 8067 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8069 8068 break; … … 8072 8071 8073 8072 /* Line 1806 of yacc.c */ 8074 #line 215 8"parser.yy"8073 #line 2157 "parser.yy" 8075 8074 { 8076 8075 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8082 8081 8083 8082 /* Line 1806 of yacc.c */ 8084 #line 216 3"parser.yy"8083 #line 2162 "parser.yy" 8085 8084 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8086 8085 break; … … 8089 8088 8090 8089 /* Line 1806 of yacc.c */ 8091 #line 216 8"parser.yy"8090 #line 2167 "parser.yy" 8092 8091 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8093 8092 break; … … 8096 8095 8097 8096 /* Line 1806 of yacc.c */ 8098 #line 21 70"parser.yy"8097 #line 2169 "parser.yy" 8099 8098 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8100 8099 break; … … 8103 8102 8104 8103 /* Line 1806 of yacc.c */ 8105 #line 217 2"parser.yy"8104 #line 2171 "parser.yy" 8106 8105 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8107 8106 break; … … 8110 8109 8111 8110 /* Line 1806 of yacc.c */ 8112 #line 217 7"parser.yy"8111 #line 2176 "parser.yy" 8113 8112 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8114 8113 break; … … 8117 8116 8118 8117 /* Line 1806 of yacc.c */ 8119 #line 217 9"parser.yy"8118 #line 2178 "parser.yy" 8120 8119 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8121 8120 break; … … 8124 8123 8125 8124 /* Line 1806 of yacc.c */ 8126 #line 218 1"parser.yy"8125 #line 2180 "parser.yy" 8127 8126 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8128 8127 break; … … 8131 8130 8132 8131 /* Line 1806 of yacc.c */ 8133 #line 218 3"parser.yy"8132 #line 2182 "parser.yy" 8134 8133 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8135 8134 break; … … 8138 8137 8139 8138 /* Line 1806 of yacc.c */ 8140 #line 218 8"parser.yy"8139 #line 2187 "parser.yy" 8141 8140 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8142 8141 break; … … 8145 8144 8146 8145 /* Line 1806 of yacc.c */ 8147 #line 21 90"parser.yy"8146 #line 2189 "parser.yy" 8148 8147 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8149 8148 break; … … 8152 8151 8153 8152 /* Line 1806 of yacc.c */ 8154 #line 2 200"parser.yy"8153 #line 2199 "parser.yy" 8155 8154 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8156 8155 break; … … 8159 8158 8160 8159 /* Line 1806 of yacc.c */ 8161 #line 220 3"parser.yy"8160 #line 2202 "parser.yy" 8162 8161 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8163 8162 break; … … 8166 8165 8167 8166 /* Line 1806 of yacc.c */ 8168 #line 220 8"parser.yy"8167 #line 2207 "parser.yy" 8169 8168 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8170 8169 break; … … 8173 8172 8174 8173 /* Line 1806 of yacc.c */ 8175 #line 22 10"parser.yy"8174 #line 2209 "parser.yy" 8176 8175 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8177 8176 break; … … 8180 8179 8181 8180 /* Line 1806 of yacc.c */ 8182 #line 221 2"parser.yy"8181 #line 2211 "parser.yy" 8183 8182 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8184 8183 break; … … 8187 8186 8188 8187 /* Line 1806 of yacc.c */ 8189 #line 221 7"parser.yy"8188 #line 2216 "parser.yy" 8190 8189 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8191 8190 break; … … 8194 8193 8195 8194 /* Line 1806 of yacc.c */ 8196 #line 221 9"parser.yy"8195 #line 2218 "parser.yy" 8197 8196 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8198 8197 break; … … 8201 8200 8202 8201 /* Line 1806 of yacc.c */ 8203 #line 222 1"parser.yy"8202 #line 2220 "parser.yy" 8204 8203 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8205 8204 break; … … 8208 8207 8209 8208 /* Line 1806 of yacc.c */ 8210 #line 222 6"parser.yy"8209 #line 2225 "parser.yy" 8211 8210 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8212 8211 break; … … 8215 8214 8216 8215 /* Line 1806 of yacc.c */ 8217 #line 222 8"parser.yy"8216 #line 2227 "parser.yy" 8218 8217 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8219 8218 break; … … 8222 8221 8223 8222 /* Line 1806 of yacc.c */ 8224 #line 22 30"parser.yy"8223 #line 2229 "parser.yy" 8225 8224 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8226 8225 break; … … 8229 8228 8230 8229 /* Line 1806 of yacc.c */ 8231 #line 224 5"parser.yy"8230 #line 2244 "parser.yy" 8232 8231 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8233 8232 break; … … 8236 8235 8237 8236 /* Line 1806 of yacc.c */ 8238 #line 224 7"parser.yy"8237 #line 2246 "parser.yy" 8239 8238 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8240 8239 break; … … 8243 8242 8244 8243 /* Line 1806 of yacc.c */ 8245 #line 224 9"parser.yy"8244 #line 2248 "parser.yy" 8246 8245 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8247 8246 break; … … 8250 8249 8251 8250 /* Line 1806 of yacc.c */ 8252 #line 225 4"parser.yy"8251 #line 2253 "parser.yy" 8253 8252 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8254 8253 break; … … 8257 8256 8258 8257 /* Line 1806 of yacc.c */ 8259 #line 225 6"parser.yy"8258 #line 2255 "parser.yy" 8260 8259 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8261 8260 break; … … 8264 8263 8265 8264 /* Line 1806 of yacc.c */ 8266 #line 225 8"parser.yy"8265 #line 2257 "parser.yy" 8267 8266 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8268 8267 break; … … 8271 8270 8272 8271 /* Line 1806 of yacc.c */ 8273 #line 226 3"parser.yy"8272 #line 2262 "parser.yy" 8274 8273 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8275 8274 break; … … 8278 8277 8279 8278 /* Line 1806 of yacc.c */ 8280 #line 226 5"parser.yy"8279 #line 2264 "parser.yy" 8281 8280 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8282 8281 break; … … 8285 8284 8286 8285 /* Line 1806 of yacc.c */ 8287 #line 226 7"parser.yy"8286 #line 2266 "parser.yy" 8288 8287 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8289 8288 break; … … 8292 8291 8293 8292 /* Line 1806 of yacc.c */ 8294 #line 228 2"parser.yy"8293 #line 2281 "parser.yy" 8295 8294 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8296 8295 break; … … 8299 8298 8300 8299 /* Line 1806 of yacc.c */ 8301 #line 228 5"parser.yy"8300 #line 2284 "parser.yy" 8302 8301 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8303 8302 break; … … 8306 8305 8307 8306 /* Line 1806 of yacc.c */ 8308 #line 228 7"parser.yy"8307 #line 2286 "parser.yy" 8309 8308 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8310 8309 break; … … 8313 8312 8314 8313 /* Line 1806 of yacc.c */ 8315 #line 229 3"parser.yy"8314 #line 2292 "parser.yy" 8316 8315 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8317 8316 break; … … 8320 8319 8321 8320 /* Line 1806 of yacc.c */ 8322 #line 229 8"parser.yy"8321 #line 2297 "parser.yy" 8323 8322 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8324 8323 break; … … 8327 8326 8328 8327 /* Line 1806 of yacc.c */ 8329 #line 2 300"parser.yy"8328 #line 2299 "parser.yy" 8330 8329 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8331 8330 break; … … 8334 8333 8335 8334 /* Line 1806 of yacc.c */ 8336 #line 230 2"parser.yy"8335 #line 2301 "parser.yy" 8337 8336 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8338 8337 break; … … 8341 8340 8342 8341 /* Line 1806 of yacc.c */ 8343 #line 230 7"parser.yy"8342 #line 2306 "parser.yy" 8344 8343 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8345 8344 break; … … 8348 8347 8349 8348 /* Line 1806 of yacc.c */ 8350 #line 230 9"parser.yy"8349 #line 2308 "parser.yy" 8351 8350 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8352 8351 break; … … 8355 8354 8356 8355 /* Line 1806 of yacc.c */ 8357 #line 231 1"parser.yy"8356 #line 2310 "parser.yy" 8358 8357 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8359 8358 break; … … 8362 8361 8363 8362 /* Line 1806 of yacc.c */ 8364 #line 231 3"parser.yy"8363 #line 2312 "parser.yy" 8365 8364 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8366 8365 break; … … 8369 8368 8370 8369 /* Line 1806 of yacc.c */ 8371 #line 231 8"parser.yy"8370 #line 2317 "parser.yy" 8372 8371 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8373 8372 break; … … 8376 8375 8377 8376 /* Line 1806 of yacc.c */ 8378 #line 23 20"parser.yy"8377 #line 2319 "parser.yy" 8379 8378 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8380 8379 break; … … 8383 8382 8384 8383 /* Line 1806 of yacc.c */ 8385 #line 232 2"parser.yy"8384 #line 2321 "parser.yy" 8386 8385 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8387 8386 break; … … 8390 8389 8391 8390 /* Line 1806 of yacc.c */ 8392 #line 233 2"parser.yy"8391 #line 2331 "parser.yy" 8393 8392 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8394 8393 break; … … 8397 8396 8398 8397 /* Line 1806 of yacc.c */ 8399 #line 233 5"parser.yy"8398 #line 2334 "parser.yy" 8400 8399 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8401 8400 break; … … 8404 8403 8405 8404 /* Line 1806 of yacc.c */ 8406 #line 233 7"parser.yy"8405 #line 2336 "parser.yy" 8407 8406 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8408 8407 break; … … 8411 8410 8412 8411 /* Line 1806 of yacc.c */ 8413 #line 234 2"parser.yy"8412 #line 2341 "parser.yy" 8414 8413 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8415 8414 break; … … 8418 8417 8419 8418 /* Line 1806 of yacc.c */ 8420 #line 234 4"parser.yy"8419 #line 2343 "parser.yy" 8421 8420 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8422 8421 break; … … 8425 8424 8426 8425 /* Line 1806 of yacc.c */ 8427 #line 234 6"parser.yy"8426 #line 2345 "parser.yy" 8428 8427 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8429 8428 break; … … 8432 8431 8433 8432 /* Line 1806 of yacc.c */ 8434 #line 235 1"parser.yy"8433 #line 2350 "parser.yy" 8435 8434 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8436 8435 break; … … 8439 8438 8440 8439 /* Line 1806 of yacc.c */ 8441 #line 235 3"parser.yy"8440 #line 2352 "parser.yy" 8442 8441 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8443 8442 break; … … 8446 8445 8447 8446 /* Line 1806 of yacc.c */ 8448 #line 235 5"parser.yy"8447 #line 2354 "parser.yy" 8449 8448 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8450 8449 break; … … 8453 8452 8454 8453 /* Line 1806 of yacc.c */ 8455 #line 235 7"parser.yy"8454 #line 2356 "parser.yy" 8456 8455 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8457 8456 break; … … 8460 8459 8461 8460 /* Line 1806 of yacc.c */ 8462 #line 236 2"parser.yy"8461 #line 2361 "parser.yy" 8463 8462 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8464 8463 break; … … 8467 8466 8468 8467 /* Line 1806 of yacc.c */ 8469 #line 236 4"parser.yy"8468 #line 2363 "parser.yy" 8470 8469 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8471 8470 break; … … 8474 8473 8475 8474 /* Line 1806 of yacc.c */ 8476 #line 236 6"parser.yy"8475 #line 2365 "parser.yy" 8477 8476 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8478 8477 break; … … 8481 8480 8482 8481 /* Line 1806 of yacc.c */ 8483 #line 239 7"parser.yy"8482 #line 2396 "parser.yy" 8484 8483 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8485 8484 break; … … 8488 8487 8489 8488 /* Line 1806 of yacc.c */ 8490 #line 2 400"parser.yy"8489 #line 2399 "parser.yy" 8491 8490 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8492 8491 break; … … 8495 8494 8496 8495 /* Line 1806 of yacc.c */ 8497 #line 240 2"parser.yy"8496 #line 2401 "parser.yy" 8498 8497 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8499 8498 break; … … 8502 8501 8503 8502 /* Line 1806 of yacc.c */ 8504 #line 240 7"parser.yy"8503 #line 2406 "parser.yy" 8505 8504 { 8506 8505 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8512 8511 8513 8512 /* Line 1806 of yacc.c */ 8514 #line 241 2"parser.yy"8513 #line 2411 "parser.yy" 8515 8514 { 8516 8515 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8522 8521 8523 8522 /* Line 1806 of yacc.c */ 8524 #line 24 20"parser.yy"8523 #line 2419 "parser.yy" 8525 8524 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8526 8525 break; … … 8529 8528 8530 8529 /* Line 1806 of yacc.c */ 8531 #line 242 2"parser.yy"8530 #line 2421 "parser.yy" 8532 8531 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8533 8532 break; … … 8536 8535 8537 8536 /* Line 1806 of yacc.c */ 8538 #line 242 4"parser.yy"8537 #line 2423 "parser.yy" 8539 8538 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8540 8539 break; … … 8543 8542 8544 8543 /* Line 1806 of yacc.c */ 8545 #line 242 9"parser.yy"8544 #line 2428 "parser.yy" 8546 8545 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8547 8546 break; … … 8550 8549 8551 8550 /* Line 1806 of yacc.c */ 8552 #line 243 1"parser.yy"8551 #line 2430 "parser.yy" 8553 8552 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8554 8553 break; … … 8557 8556 8558 8557 /* Line 1806 of yacc.c */ 8559 #line 243 6"parser.yy"8558 #line 2435 "parser.yy" 8560 8559 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8561 8560 break; … … 8564 8563 8565 8564 /* Line 1806 of yacc.c */ 8566 #line 243 8"parser.yy"8565 #line 2437 "parser.yy" 8567 8566 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8568 8567 break; … … 8571 8570 8572 8571 /* Line 1806 of yacc.c */ 8573 #line 245 3"parser.yy"8572 #line 2452 "parser.yy" 8574 8573 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8575 8574 break; … … 8578 8577 8579 8578 /* Line 1806 of yacc.c */ 8580 #line 245 5"parser.yy"8579 #line 2454 "parser.yy" 8581 8580 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8582 8581 break; … … 8585 8584 8586 8585 /* Line 1806 of yacc.c */ 8587 #line 24 60"parser.yy"8586 #line 2459 "parser.yy" 8588 8587 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8589 8588 break; … … 8592 8591 8593 8592 /* Line 1806 of yacc.c */ 8594 #line 246 2"parser.yy"8593 #line 2461 "parser.yy" 8595 8594 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8596 8595 break; … … 8599 8598 8600 8599 /* Line 1806 of yacc.c */ 8601 #line 246 4"parser.yy"8600 #line 2463 "parser.yy" 8602 8601 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8603 8602 break; … … 8606 8605 8607 8606 /* Line 1806 of yacc.c */ 8608 #line 246 6"parser.yy"8607 #line 2465 "parser.yy" 8609 8608 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8610 8609 break; … … 8613 8612 8614 8613 /* Line 1806 of yacc.c */ 8615 #line 246 8"parser.yy"8614 #line 2467 "parser.yy" 8616 8615 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8617 8616 break; … … 8620 8619 8621 8620 /* Line 1806 of yacc.c */ 8622 #line 247 4"parser.yy"8621 #line 2473 "parser.yy" 8623 8622 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8624 8623 break; … … 8627 8626 8628 8627 /* Line 1806 of yacc.c */ 8629 #line 247 6"parser.yy"8628 #line 2475 "parser.yy" 8630 8629 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8631 8630 break; … … 8634 8633 8635 8634 /* Line 1806 of yacc.c */ 8636 #line 247 8"parser.yy"8635 #line 2477 "parser.yy" 8637 8636 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8638 8637 break; … … 8641 8640 8642 8641 /* Line 1806 of yacc.c */ 8643 #line 248 3"parser.yy"8642 #line 2482 "parser.yy" 8644 8643 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8645 8644 break; … … 8648 8647 8649 8648 /* Line 1806 of yacc.c */ 8650 #line 248 5"parser.yy"8649 #line 2484 "parser.yy" 8651 8650 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8652 8651 break; … … 8655 8654 8656 8655 /* Line 1806 of yacc.c */ 8657 #line 248 7"parser.yy"8656 #line 2486 "parser.yy" 8658 8657 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8659 8658 break; … … 8662 8661 8663 8662 /* Line 1806 of yacc.c */ 8664 #line 249 3"parser.yy"8663 #line 2492 "parser.yy" 8665 8664 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8666 8665 break; … … 8669 8668 8670 8669 /* Line 1806 of yacc.c */ 8671 #line 249 5"parser.yy"8670 #line 2494 "parser.yy" 8672 8671 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8673 8672 break; … … 8676 8675 8677 8676 /* Line 1806 of yacc.c */ 8678 #line 250 1"parser.yy"8677 #line 2500 "parser.yy" 8679 8678 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8680 8679 break; … … 8683 8682 8684 8683 /* Line 1806 of yacc.c */ 8685 #line 250 3"parser.yy"8684 #line 2502 "parser.yy" 8686 8685 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8687 8686 break; … … 8690 8689 8691 8690 /* Line 1806 of yacc.c */ 8692 #line 250 5"parser.yy"8691 #line 2504 "parser.yy" 8693 8692 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8694 8693 break; … … 8697 8696 8698 8697 /* Line 1806 of yacc.c */ 8699 #line 250 7"parser.yy"8698 #line 2506 "parser.yy" 8700 8699 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8701 8700 break; … … 8704 8703 8705 8704 /* Line 1806 of yacc.c */ 8706 #line 252 2"parser.yy"8705 #line 2521 "parser.yy" 8707 8706 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8708 8707 break; … … 8711 8710 8712 8711 /* Line 1806 of yacc.c */ 8713 #line 252 4"parser.yy"8712 #line 2523 "parser.yy" 8714 8713 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8715 8714 break; … … 8718 8717 8719 8718 /* Line 1806 of yacc.c */ 8720 #line 252 9"parser.yy"8719 #line 2528 "parser.yy" 8721 8720 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8722 8721 break; … … 8725 8724 8726 8725 /* Line 1806 of yacc.c */ 8727 #line 253 1"parser.yy"8726 #line 2530 "parser.yy" 8728 8727 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8729 8728 break; … … 8732 8731 8733 8732 /* Line 1806 of yacc.c */ 8734 #line 253 3"parser.yy"8733 #line 2532 "parser.yy" 8735 8734 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8736 8735 break; … … 8739 8738 8740 8739 /* Line 1806 of yacc.c */ 8741 #line 253 5"parser.yy"8740 #line 2534 "parser.yy" 8742 8741 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8743 8742 break; … … 8746 8745 8747 8746 /* Line 1806 of yacc.c */ 8748 #line 253 7"parser.yy"8747 #line 2536 "parser.yy" 8749 8748 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8750 8749 break; … … 8753 8752 8754 8753 /* Line 1806 of yacc.c */ 8755 #line 254 3"parser.yy"8754 #line 2542 "parser.yy" 8756 8755 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8757 8756 break; … … 8760 8759 8761 8760 /* Line 1806 of yacc.c */ 8762 #line 254 5"parser.yy"8761 #line 2544 "parser.yy" 8763 8762 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8764 8763 break; … … 8767 8766 8768 8767 /* Line 1806 of yacc.c */ 8769 #line 254 7"parser.yy"8768 #line 2546 "parser.yy" 8770 8769 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8771 8770 break; … … 8774 8773 8775 8774 /* Line 1806 of yacc.c */ 8776 #line 255 2"parser.yy"8775 #line 2551 "parser.yy" 8777 8776 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8778 8777 break; … … 8781 8780 8782 8781 /* Line 1806 of yacc.c */ 8783 #line 255 4"parser.yy"8782 #line 2553 "parser.yy" 8784 8783 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8785 8784 break; … … 8788 8787 8789 8788 /* Line 1806 of yacc.c */ 8790 #line 255 6"parser.yy"8789 #line 2555 "parser.yy" 8791 8790 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8792 8791 break; … … 8795 8794 8796 8795 /* Line 1806 of yacc.c */ 8797 #line 256 3"parser.yy"8796 #line 2562 "parser.yy" 8798 8797 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8799 8798 break; … … 8802 8801 8803 8802 /* Line 1806 of yacc.c */ 8804 #line 257 4"parser.yy"8803 #line 2573 "parser.yy" 8805 8804 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8806 8805 break; … … 8809 8808 8810 8809 /* Line 1806 of yacc.c */ 8811 #line 257 7"parser.yy"8810 #line 2576 "parser.yy" 8812 8811 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 8813 8812 break; … … 8816 8815 8817 8816 /* Line 1806 of yacc.c */ 8818 #line 257 9"parser.yy"8817 #line 2578 "parser.yy" 8819 8818 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 8820 8819 break; … … 8823 8822 8824 8823 /* Line 1806 of yacc.c */ 8825 #line 258 2"parser.yy"8824 #line 2581 "parser.yy" 8826 8825 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 8827 8826 break; … … 8830 8829 8831 8830 /* Line 1806 of yacc.c */ 8832 #line 258 4"parser.yy"8831 #line 2583 "parser.yy" 8833 8832 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 8834 8833 break; … … 8837 8836 8838 8837 /* Line 1806 of yacc.c */ 8839 #line 258 6"parser.yy"8838 #line 2585 "parser.yy" 8840 8839 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 8841 8840 break; … … 8844 8843 8845 8844 /* Line 1806 of yacc.c */ 8846 #line 2 600"parser.yy"8845 #line 2599 "parser.yy" 8847 8846 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8848 8847 break; … … 8851 8850 8852 8851 /* Line 1806 of yacc.c */ 8853 #line 260 2"parser.yy"8852 #line 2601 "parser.yy" 8854 8853 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8855 8854 break; … … 8858 8857 8859 8858 /* Line 1806 of yacc.c */ 8860 #line 260 7"parser.yy"8859 #line 2606 "parser.yy" 8861 8860 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8862 8861 break; … … 8865 8864 8866 8865 /* Line 1806 of yacc.c */ 8867 #line 260 9"parser.yy"8866 #line 2608 "parser.yy" 8868 8867 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8869 8868 break; … … 8872 8871 8873 8872 /* Line 1806 of yacc.c */ 8874 #line 261 1"parser.yy"8873 #line 2610 "parser.yy" 8875 8874 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8876 8875 break; … … 8879 8878 8880 8879 /* Line 1806 of yacc.c */ 8881 #line 261 3"parser.yy"8880 #line 2612 "parser.yy" 8882 8881 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8883 8882 break; … … 8886 8885 8887 8886 /* Line 1806 of yacc.c */ 8888 #line 261 5"parser.yy"8887 #line 2614 "parser.yy" 8889 8888 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8890 8889 break; … … 8893 8892 8894 8893 /* Line 1806 of yacc.c */ 8895 #line 262 1"parser.yy"8894 #line 2620 "parser.yy" 8896 8895 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8897 8896 break; … … 8900 8899 8901 8900 /* Line 1806 of yacc.c */ 8902 #line 262 3"parser.yy"8901 #line 2622 "parser.yy" 8903 8902 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8904 8903 break; … … 8907 8906 8908 8907 /* Line 1806 of yacc.c */ 8909 #line 262 5"parser.yy"8908 #line 2624 "parser.yy" 8910 8909 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8911 8910 break; … … 8914 8913 8915 8914 /* Line 1806 of yacc.c */ 8916 #line 26 30"parser.yy"8915 #line 2629 "parser.yy" 8917 8916 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8918 8917 break; … … 8921 8920 8922 8921 /* Line 1806 of yacc.c */ 8923 #line 263 2"parser.yy"8922 #line 2631 "parser.yy" 8924 8923 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8925 8924 break; … … 8928 8927 8929 8928 /* Line 1806 of yacc.c */ 8930 #line 264 2"parser.yy"8929 #line 2641 "parser.yy" 8931 8930 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8932 8931 break; … … 8935 8934 8936 8935 /* Line 1806 of yacc.c */ 8937 #line 265 2"parser.yy"8936 #line 2651 "parser.yy" 8938 8937 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8939 8938 break; … … 8942 8941 8943 8942 /* Line 1806 of yacc.c */ 8944 #line 265 4"parser.yy"8943 #line 2653 "parser.yy" 8945 8944 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8946 8945 break; … … 8949 8948 8950 8949 /* Line 1806 of yacc.c */ 8951 #line 265 6"parser.yy"8950 #line 2655 "parser.yy" 8952 8951 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8953 8952 break; … … 8956 8955 8957 8956 /* Line 1806 of yacc.c */ 8958 #line 265 8"parser.yy"8957 #line 2657 "parser.yy" 8959 8958 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8960 8959 break; … … 8963 8962 8964 8963 /* Line 1806 of yacc.c */ 8965 #line 26 60"parser.yy"8964 #line 2659 "parser.yy" 8966 8965 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 8967 8966 break; … … 8970 8969 8971 8970 /* Line 1806 of yacc.c */ 8972 #line 266 2"parser.yy"8971 #line 2661 "parser.yy" 8973 8972 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 8974 8973 break; … … 8977 8976 8978 8977 /* Line 1806 of yacc.c */ 8979 #line 266 9"parser.yy"8978 #line 2668 "parser.yy" 8980 8979 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8981 8980 break; … … 8984 8983 8985 8984 /* Line 1806 of yacc.c */ 8986 #line 267 1"parser.yy"8985 #line 2670 "parser.yy" 8987 8986 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 8988 8987 break; … … 8991 8990 8992 8991 /* Line 1806 of yacc.c */ 8993 #line 267 3"parser.yy"8992 #line 2672 "parser.yy" 8994 8993 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 8995 8994 break; … … 8998 8997 8999 8998 /* Line 1806 of yacc.c */ 9000 #line 267 5"parser.yy"8999 #line 2674 "parser.yy" 9001 9000 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9002 9001 break; … … 9005 9004 9006 9005 /* Line 1806 of yacc.c */ 9007 #line 267 7"parser.yy"9006 #line 2676 "parser.yy" 9008 9007 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9009 9008 break; … … 9012 9011 9013 9012 /* Line 1806 of yacc.c */ 9014 #line 267 9"parser.yy"9013 #line 2678 "parser.yy" 9015 9014 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9016 9015 break; … … 9019 9018 9020 9019 /* Line 1806 of yacc.c */ 9021 #line 268 1"parser.yy"9020 #line 2680 "parser.yy" 9022 9021 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9023 9022 break; … … 9026 9025 9027 9026 /* Line 1806 of yacc.c */ 9028 #line 268 3"parser.yy"9027 #line 2682 "parser.yy" 9029 9028 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9030 9029 break; … … 9033 9032 9034 9033 /* Line 1806 of yacc.c */ 9035 #line 268 5"parser.yy"9034 #line 2684 "parser.yy" 9036 9035 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9037 9036 break; … … 9040 9039 9041 9040 /* Line 1806 of yacc.c */ 9042 #line 268 7"parser.yy"9041 #line 2686 "parser.yy" 9043 9042 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9044 9043 break; … … 9047 9046 9048 9047 /* Line 1806 of yacc.c */ 9049 #line 269 2"parser.yy"9048 #line 2691 "parser.yy" 9050 9049 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9051 9050 break; … … 9054 9053 9055 9054 /* Line 1806 of yacc.c */ 9056 #line 269 4"parser.yy"9055 #line 2693 "parser.yy" 9057 9056 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9058 9057 break; … … 9061 9060 9062 9061 /* Line 1806 of yacc.c */ 9063 #line 269 9"parser.yy"9062 #line 2698 "parser.yy" 9064 9063 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9065 9064 break; … … 9068 9067 9069 9068 /* Line 1806 of yacc.c */ 9070 #line 270 1"parser.yy"9069 #line 2700 "parser.yy" 9071 9070 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9072 9071 break; … … 9075 9074 9076 9075 /* Line 1806 of yacc.c */ 9077 #line 272 8"parser.yy"9076 #line 2727 "parser.yy" 9078 9077 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9079 9078 break; … … 9082 9081 9083 9082 /* Line 1806 of yacc.c */ 9084 #line 273 9"parser.yy"9083 #line 2738 "parser.yy" 9085 9084 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9086 9085 break; … … 9089 9088 9090 9089 /* Line 1806 of yacc.c */ 9091 #line 274 1"parser.yy"9090 #line 2740 "parser.yy" 9092 9091 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9093 9092 break; … … 9096 9095 9097 9096 /* Line 1806 of yacc.c */ 9098 #line 274 3"parser.yy"9097 #line 2742 "parser.yy" 9099 9098 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9100 9099 break; … … 9103 9102 9104 9103 /* Line 1806 of yacc.c */ 9105 #line 274 5"parser.yy"9104 #line 2744 "parser.yy" 9106 9105 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9107 9106 break; … … 9110 9109 9111 9110 /* Line 1806 of yacc.c */ 9112 #line 274 7"parser.yy"9111 #line 2746 "parser.yy" 9113 9112 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9114 9113 break; … … 9117 9116 9118 9117 /* Line 1806 of yacc.c */ 9119 #line 274 9"parser.yy"9118 #line 2748 "parser.yy" 9120 9119 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9121 9120 break; … … 9124 9123 9125 9124 /* Line 1806 of yacc.c */ 9126 #line 275 6"parser.yy"9125 #line 2755 "parser.yy" 9127 9126 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9128 9127 break; … … 9131 9130 9132 9131 /* Line 1806 of yacc.c */ 9133 #line 275 8"parser.yy"9132 #line 2757 "parser.yy" 9134 9133 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9135 9134 break; … … 9138 9137 9139 9138 /* Line 1806 of yacc.c */ 9140 #line 27 60"parser.yy"9139 #line 2759 "parser.yy" 9141 9140 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9142 9141 break; … … 9145 9144 9146 9145 /* Line 1806 of yacc.c */ 9147 #line 276 2"parser.yy"9146 #line 2761 "parser.yy" 9148 9147 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9149 9148 break; … … 9152 9151 9153 9152 /* Line 1806 of yacc.c */ 9154 #line 276 4"parser.yy"9153 #line 2763 "parser.yy" 9155 9154 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9156 9155 break; … … 9159 9158 9160 9159 /* Line 1806 of yacc.c */ 9161 #line 276 6"parser.yy"9160 #line 2765 "parser.yy" 9162 9161 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9163 9162 break; … … 9166 9165 9167 9166 /* Line 1806 of yacc.c */ 9168 #line 277 1"parser.yy"9167 #line 2770 "parser.yy" 9169 9168 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9170 9169 break; … … 9173 9172 9174 9173 /* Line 1806 of yacc.c */ 9175 #line 277 6"parser.yy"9174 #line 2775 "parser.yy" 9176 9175 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9177 9176 break; … … 9180 9179 9181 9180 /* Line 1806 of yacc.c */ 9182 #line 277 8"parser.yy"9181 #line 2777 "parser.yy" 9183 9182 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9184 9183 break; … … 9187 9186 9188 9187 /* Line 1806 of yacc.c */ 9189 #line 27 80"parser.yy"9188 #line 2779 "parser.yy" 9190 9189 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9191 9190 break; … … 9194 9193 9195 9194 /* Line 1806 of yacc.c */ 9196 #line 280 4"parser.yy"9195 #line 2803 "parser.yy" 9197 9196 { (yyval.en) = 0; } 9198 9197 break; … … 9201 9200 9202 9201 /* Line 1806 of yacc.c */ 9203 #line 280 6"parser.yy"9202 #line 2805 "parser.yy" 9204 9203 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9205 9204 break; … … 9208 9207 9209 9208 /* Line 1806 of yacc.c */ 9210 #line 921 1"Parser/parser.cc"9209 #line 9210 "Parser/parser.cc" 9211 9210 default: break; 9212 9211 } … … 9439 9438 9440 9439 /* Line 2067 of yacc.c */ 9441 #line 280 9"parser.yy"9440 #line 2808 "parser.yy" 9442 9441 9443 9442 // ----end of grammar----
Note:
See TracChangeset
for help on using the changeset viewer.