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