Changes in src/Parser/parser.cc [8e9cbb2:c6b1105]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (212 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r8e9cbb2 rc6b1105 1030 1030 613, 614, 615, 616, 617, 618, 619, 620, 624, 625, 1031 1031 631, 632, 638, 639, 640, 641, 642, 643, 644, 645, 1032 646, 656, 663, 665, 675, 676, 681, 683, 68 9, 691,1033 69 5, 696, 701, 706, 709, 711, 713, 718, 720, 728,1034 72 9, 731, 735, 736, 741, 742, 747, 748, 752, 757,1035 75 8, 762, 764, 770, 771, 775, 777, 779, 781, 787,1036 78 8, 792, 793, 797, 799, 801, 806, 808, 813, 815,1037 81 9, 822, 826, 829, 833, 835, 839, 841, 848, 850,1038 8 52, 861, 863, 865, 867, 869, 874, 876, 878, 880,1039 88 5, 898, 899, 904, 906, 911, 915, 917, 919, 921,1040 9 23, 929, 930, 936, 937, 941, 942, 947, 949, 955,1041 95 6, 958, 963, 965, 972, 974, 978, 979, 984, 986,1042 9 90, 991, 995, 997, 1001, 1002, 1006, 1007, 1011, 1012,1043 102 7, 1028, 1029, 1030, 1031, 1035, 1040, 1047, 1057, 1062,1044 106 7, 1075, 1080, 1085, 1090, 1095, 1103, 1125, 1130, 1137,1045 113 9, 1146, 1151, 1156, 1167, 1172, 1177, 1182, 1187, 1196,1046 1 201, 1209, 1210, 1211, 1212, 1218, 1223, 1231, 1232, 1233,1047 123 4, 1238, 1239, 1240, 1241, 1246, 1247, 1256, 1257, 1262,1048 12 63, 1268, 1270, 1272, 1274, 1276, 1279, 1278, 1290, 1291,1049 12 93, 1303, 1304, 1309, 1313, 1315, 1317, 1319, 1321, 1323,1050 132 5, 1327, 1332, 1334, 1336, 1338, 1340, 1342, 1344, 1346,1051 134 8, 1350, 1352, 1354, 1356, 1362, 1363, 1365, 1367, 1369,1052 137 4, 1375, 1381, 1382, 1384, 1386, 1391, 1393, 1395, 1397,1053 1 402, 1403, 1405, 1407, 1412, 1413, 1415, 1420, 1421, 1423,1054 142 5, 1430, 1432, 1434, 1439, 1440, 1444, 1446, 1452, 1451,1055 145 5, 1457, 1462, 1464, 1469, 1471, 1476, 1477, 1479, 1480,1056 148 9, 1490, 1492, 1494, 1499, 1501, 1507, 1508, 1510, 1513,1057 15 16, 1521, 1522, 1527, 1532, 1536, 1538, 1544, 1543, 1550,1058 15 52, 1558, 1559, 1567, 1568, 1572, 1573, 1574, 1576, 1578,1059 15 85, 1586, 1588, 1590, 1595, 1596, 1602, 1603, 1607, 1608,1060 16 13, 1614, 1615, 1617, 1625, 1626, 1628, 1631, 1633, 1637,1061 163 8, 1639, 1641, 1643, 1647, 1652, 1660, 1661, 1670, 1672,1062 16 77, 1678, 1679, 1683, 1684, 1685, 1689, 1690, 1691, 1695,1063 16 96, 1697, 1702, 1703, 1704, 1705, 1711, 1712, 1714, 1719,1064 17 20, 1725, 1726, 1727, 1728, 1729, 1744, 1745, 1750, 1751,1065 175 9, 1761, 1763, 1766, 1768, 1770, 1793, 1794, 1796, 1798,1066 1 803, 1804, 1806, 1811, 1816, 1817, 1823, 1822, 1826, 1830,1067 18 32, 1834, 1840, 1841, 1846, 1851, 1853, 1858, 1860, 1861,1068 18 63, 1868, 1870, 1872, 1877, 1879, 1884, 1889, 1897, 1903,1069 1 902, 1916, 1917, 1922, 1923, 1927, 1932, 1937, 1945, 1950,1070 19 61, 1962, 1973, 1974, 1980, 1981, 1985, 1986, 1987, 1990,1071 198 9, 2000, 2009, 2015, 2021, 2030, 2036, 2042, 2048, 2054,1072 20 62, 2068, 2076, 2082, 2091, 2092, 2093, 2097, 2101, 2103,1073 2 108, 2109, 2113, 2114, 2119, 2125, 2126, 2129, 2131, 2132,1074 21 36, 2137, 2138, 2139, 2173, 2175, 2176, 2178, 2183, 2188,1075 21 93, 2195, 2197, 2202, 2204, 2206, 2208, 2213, 2215, 2224,1076 22 26, 2227, 2232, 2234, 2236, 2241, 2243, 2245, 2250, 2252,1077 22 54, 2263, 2264, 2265, 2269, 2271, 2273, 2278, 2280, 2282,1078 22 87, 2289, 2291, 2306, 2308, 2309, 2311, 2316, 2317, 2322,1079 23 24, 2326, 2331, 2333, 2335, 2337, 2342, 2344, 2346, 2356,1080 23 58, 2359, 2361, 2366, 2368, 2370, 2375, 2377, 2379, 2381,1081 23 86, 2388, 2390, 2421, 2423, 2424, 2426, 2431, 2436, 2444,1082 24 46, 2448, 2453, 2455, 2460, 2462, 2476, 2477, 2479, 2484,1083 24 86, 2488, 2490, 2492, 2497, 2498, 2500, 2502, 2507, 2509,1084 2 511, 2517, 2519, 2521, 2525, 2527, 2529, 2531, 2545, 2546,1085 25 48, 2553, 2555, 2557, 2559, 2561, 2566, 2567, 2569, 2571,1086 25 76, 2578, 2580, 2586, 2587, 2589, 2598, 2601, 2603, 2606,1087 2 608, 2610, 2623, 2624, 2626, 2631, 2633, 2635, 2637, 2639,1088 26 44, 2645, 2647, 2649, 2654, 2656, 2664, 2665, 2666, 2671,1089 26 72, 2676, 2678, 2680, 2682, 2684, 2686, 2693, 2695, 2697,1090 26 99, 2701, 2703, 2705, 2707, 2709, 2711, 2716, 2718, 2720,1091 27 25, 2751, 2752, 2754, 2758, 2759, 2763, 2765, 2767, 2769,1092 27 71, 2773, 2780, 2782, 2784, 2786, 2788, 2790, 2795, 2800,1093 2 802, 2804, 2822, 2824, 2829, 28301032 646, 656, 663, 665, 675, 676, 681, 683, 685, 687, 1033 691, 692, 697, 702, 705, 707, 709, 714, 716, 724, 1034 725, 727, 731, 732, 737, 738, 743, 744, 748, 753, 1035 754, 758, 760, 766, 767, 771, 773, 775, 777, 783, 1036 784, 788, 789, 793, 795, 797, 802, 804, 809, 811, 1037 815, 818, 822, 825, 829, 831, 835, 837, 844, 846, 1038 848, 857, 859, 861, 863, 865, 870, 872, 874, 876, 1039 881, 894, 895, 900, 902, 907, 911, 913, 915, 917, 1040 919, 925, 926, 932, 933, 937, 938, 943, 945, 951, 1041 952, 954, 959, 961, 968, 970, 974, 975, 980, 982, 1042 986, 987, 991, 993, 997, 998, 1002, 1003, 1007, 1008, 1043 1023, 1024, 1025, 1026, 1027, 1031, 1036, 1043, 1053, 1058, 1044 1063, 1071, 1076, 1081, 1086, 1091, 1099, 1121, 1126, 1133, 1045 1135, 1142, 1147, 1152, 1163, 1168, 1173, 1178, 1183, 1192, 1046 1197, 1205, 1206, 1207, 1208, 1214, 1219, 1227, 1228, 1229, 1047 1230, 1234, 1235, 1236, 1237, 1242, 1243, 1252, 1253, 1258, 1048 1259, 1264, 1266, 1268, 1270, 1272, 1275, 1274, 1286, 1287, 1049 1289, 1299, 1300, 1305, 1309, 1311, 1313, 1315, 1317, 1319, 1050 1321, 1323, 1328, 1330, 1332, 1334, 1336, 1338, 1340, 1342, 1051 1344, 1346, 1348, 1350, 1352, 1358, 1359, 1361, 1363, 1365, 1052 1370, 1371, 1377, 1378, 1380, 1382, 1387, 1389, 1391, 1393, 1053 1398, 1399, 1401, 1403, 1408, 1409, 1411, 1416, 1417, 1419, 1054 1421, 1426, 1428, 1430, 1435, 1436, 1440, 1442, 1448, 1447, 1055 1451, 1453, 1458, 1460, 1465, 1467, 1472, 1473, 1475, 1476, 1056 1481, 1482, 1484, 1486, 1491, 1493, 1499, 1500, 1502, 1505, 1057 1508, 1513, 1514, 1519, 1524, 1528, 1530, 1536, 1535, 1542, 1058 1544, 1550, 1551, 1559, 1560, 1564, 1565, 1566, 1568, 1570, 1059 1577, 1578, 1580, 1582, 1587, 1588, 1594, 1595, 1599, 1600, 1060 1605, 1606, 1607, 1609, 1617, 1618, 1620, 1623, 1625, 1629, 1061 1630, 1631, 1633, 1635, 1639, 1644, 1652, 1653, 1662, 1664, 1062 1669, 1670, 1671, 1675, 1676, 1677, 1681, 1682, 1683, 1687, 1063 1688, 1689, 1694, 1695, 1696, 1697, 1703, 1704, 1706, 1711, 1064 1712, 1717, 1718, 1719, 1720, 1721, 1736, 1737, 1742, 1743, 1065 1751, 1753, 1755, 1758, 1760, 1762, 1785, 1786, 1788, 1790, 1066 1795, 1796, 1798, 1803, 1808, 1809, 1815, 1814, 1818, 1822, 1067 1824, 1826, 1832, 1833, 1838, 1843, 1845, 1850, 1852, 1853, 1068 1855, 1860, 1862, 1864, 1869, 1871, 1876, 1881, 1889, 1895, 1069 1894, 1908, 1909, 1914, 1915, 1919, 1924, 1929, 1937, 1942, 1070 1953, 1954, 1965, 1966, 1972, 1973, 1977, 1978, 1979, 1982, 1071 1981, 1992, 1997, 2003, 2009, 2018, 2024, 2030, 2036, 2042, 1072 2050, 2056, 2064, 2070, 2079, 2080, 2081, 2085, 2089, 2091, 1073 2096, 2097, 2101, 2102, 2107, 2113, 2114, 2117, 2119, 2120, 1074 2124, 2125, 2126, 2127, 2161, 2163, 2164, 2166, 2171, 2176, 1075 2181, 2183, 2185, 2190, 2192, 2194, 2196, 2201, 2203, 2212, 1076 2214, 2215, 2220, 2222, 2224, 2229, 2231, 2233, 2238, 2240, 1077 2242, 2251, 2252, 2253, 2257, 2259, 2261, 2266, 2268, 2270, 1078 2275, 2277, 2279, 2294, 2296, 2297, 2299, 2304, 2305, 2310, 1079 2312, 2314, 2319, 2321, 2323, 2325, 2330, 2332, 2334, 2344, 1080 2346, 2347, 2349, 2354, 2356, 2358, 2363, 2365, 2367, 2369, 1081 2374, 2376, 2378, 2409, 2411, 2412, 2414, 2419, 2424, 2432, 1082 2434, 2436, 2441, 2443, 2448, 2450, 2464, 2465, 2467, 2472, 1083 2474, 2476, 2478, 2480, 2485, 2486, 2488, 2490, 2495, 2497, 1084 2499, 2505, 2507, 2509, 2513, 2515, 2517, 2519, 2533, 2534, 1085 2536, 2541, 2543, 2545, 2547, 2549, 2554, 2555, 2557, 2559, 1086 2564, 2566, 2568, 2574, 2575, 2577, 2586, 2589, 2591, 2594, 1087 2596, 2598, 2611, 2612, 2614, 2619, 2621, 2623, 2625, 2627, 1088 2632, 2633, 2635, 2637, 2642, 2644, 2652, 2653, 2654, 2659, 1089 2660, 2664, 2666, 2668, 2670, 2672, 2674, 2681, 2683, 2685, 1090 2687, 2689, 2691, 2693, 2695, 2697, 2699, 2704, 2706, 2708, 1091 2713, 2739, 2740, 2742, 2746, 2747, 2751, 2753, 2755, 2757, 1092 2759, 2761, 2768, 2770, 2772, 2774, 2776, 2778, 2783, 2788, 1093 2790, 2792, 2810, 2812, 2817, 2818 1094 1094 }; 1095 1095 #endif … … 5237 5237 /* Line 1806 of yacc.c */ 5238 5238 #line 305 "parser.yy" 5239 { (yyval.constant) = makeConstant( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); }5239 { (yyval.constant) = new ConstantNode( ConstantNode::Integer, (yyvsp[(1) - (1)].tok) ); } 5240 5240 break; 5241 5241 … … 5244 5244 /* Line 1806 of yacc.c */ 5245 5245 #line 306 "parser.yy" 5246 { (yyval.constant) = makeConstant( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); }5246 { (yyval.constant) = new ConstantNode( ConstantNode::Float, (yyvsp[(1) - (1)].tok) ); } 5247 5247 break; 5248 5248 … … 5251 5251 /* Line 1806 of yacc.c */ 5252 5252 #line 307 "parser.yy" 5253 { (yyval.constant) = makeConstant( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); }5253 { (yyval.constant) = new ConstantNode( ConstantNode::Character, (yyvsp[(1) - (1)].tok) ); } 5254 5254 break; 5255 5255 … … 5258 5258 /* Line 1806 of yacc.c */ 5259 5259 #line 332 "parser.yy" 5260 { (yyval.constant) = makeConstantStr( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); }5260 { (yyval.constant) = new ConstantNode( ConstantNode::String, (yyvsp[(1) - (1)].tok) ); } 5261 5261 break; 5262 5262 … … 5953 5953 /* Line 1806 of yacc.c */ 5954 5954 #line 684 "parser.yy" 5955 { // mark all fields in list 5956 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 5957 iter->set_extension( true ); 5958 (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) ); 5959 } 5955 { (yyval.sn) = new StatementNode( (yyvsp[(2) - (2)].decl) )/*->set_extension( true )*/; } 5960 5956 break; 5961 5957 … … 5963 5959 5964 5960 /* Line 1806 of yacc.c */ 5965 #line 6 90"parser.yy"5961 #line 686 "parser.yy" 5966 5962 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5967 5963 break; … … 5970 5966 5971 5967 /* Line 1806 of yacc.c */ 5972 #line 69 7"parser.yy"5968 #line 693 "parser.yy" 5973 5969 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5974 5970 break; … … 5977 5973 5978 5974 /* Line 1806 of yacc.c */ 5979 #line 702"parser.yy"5975 #line 698 "parser.yy" 5980 5976 { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); } 5981 5977 break; … … 5984 5980 5985 5981 /* Line 1806 of yacc.c */ 5982 #line 704 "parser.yy" 5983 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5984 break; 5985 5986 case 154: 5987 5988 /* Line 1806 of yacc.c */ 5989 #line 706 "parser.yy" 5990 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); } 5991 break; 5992 5993 case 155: 5994 5995 /* Line 1806 of yacc.c */ 5986 5996 #line 708 "parser.yy" 5987 { (yyval.sn) = new StatementNode( StatementNode:: If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }5988 break; 5989 5990 case 15 4:5997 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5998 break; 5999 6000 case 156: 5991 6001 5992 6002 /* Line 1806 of yacc.c */ 5993 6003 #line 710 "parser.yy" 5994 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }5995 break;5996 5997 case 155:5998 5999 /* Line 1806 of yacc.c */6000 #line 712 "parser.yy"6001 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }6002 break;6003 6004 case 156:6005 6006 /* Line 1806 of yacc.c */6007 #line 714 "parser.yy"6008 6004 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); /* xxx */ } 6009 6005 break; … … 6012 6008 6013 6009 /* Line 1806 of yacc.c */ 6014 #line 71 9"parser.yy"6010 #line 715 "parser.yy" 6015 6011 { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 6016 6012 break; … … 6019 6015 6020 6016 /* Line 1806 of yacc.c */ 6021 #line 7 21"parser.yy"6017 #line 717 "parser.yy" 6022 6018 { (yyval.sn) = new StatementNode( StatementNode::Choose, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); } 6023 6019 break; … … 6026 6022 6027 6023 /* Line 1806 of yacc.c */ 6028 #line 72 8"parser.yy"6024 #line 724 "parser.yy" 6029 6025 { (yyval.en) = (yyvsp[(1) - (1)].en); } 6030 6026 break; … … 6033 6029 6034 6030 /* Line 1806 of yacc.c */ 6035 #line 7 30"parser.yy"6031 #line 726 "parser.yy" 6036 6032 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 6037 6033 break; … … 6040 6036 6041 6037 /* Line 1806 of yacc.c */ 6038 #line 733 "parser.yy" 6039 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); } 6040 break; 6041 6042 case 164: 6043 6044 /* Line 1806 of yacc.c */ 6042 6045 #line 737 "parser.yy" 6043 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(tupleContents( (yyvsp[(1) - (3)].en) ))->set_link( (yyvsp[(3) - (3)].en) ) ); }6044 break;6045 6046 case 164:6047 6048 /* Line 1806 of yacc.c */6049 #line 741 "parser.yy"6050 6046 { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(2) - (3)].en), 0 ); } 6051 6047 break; … … 6054 6050 6055 6051 /* Line 1806 of yacc.c */ 6056 #line 7 42"parser.yy"6052 #line 738 "parser.yy" 6057 6053 { (yyval.sn) = new StatementNode( StatementNode::Default ); } 6058 6054 break; … … 6061 6057 6062 6058 /* Line 1806 of yacc.c */ 6059 #line 744 "parser.yy" 6060 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); } 6061 break; 6062 6063 case 168: 6064 6065 /* Line 1806 of yacc.c */ 6063 6066 #line 748 "parser.yy" 6064 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); }6065 break;6066 6067 case 168:6068 6069 /* Line 1806 of yacc.c */6070 #line 752 "parser.yy"6071 6067 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 6072 6068 break; … … 6075 6071 6076 6072 /* Line 1806 of yacc.c */ 6077 #line 75 7"parser.yy"6073 #line 753 "parser.yy" 6078 6074 { (yyval.sn) = 0; } 6079 6075 break; … … 6082 6078 6083 6079 /* Line 1806 of yacc.c */ 6084 #line 7 63"parser.yy"6080 #line 759 "parser.yy" 6085 6081 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 6086 6082 break; … … 6089 6085 6090 6086 /* Line 1806 of yacc.c */ 6091 #line 76 5"parser.yy"6087 #line 761 "parser.yy" 6092 6088 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 6093 6089 break; … … 6096 6092 6097 6093 /* Line 1806 of yacc.c */ 6098 #line 7 70"parser.yy"6094 #line 766 "parser.yy" 6099 6095 { (yyval.sn) = 0; } 6100 6096 break; … … 6103 6099 6104 6100 /* Line 1806 of yacc.c */ 6101 #line 772 "parser.yy" 6102 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 6103 break; 6104 6105 case 176: 6106 6107 /* Line 1806 of yacc.c */ 6108 #line 774 "parser.yy" 6109 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); } 6110 break; 6111 6112 case 177: 6113 6114 /* Line 1806 of yacc.c */ 6105 6115 #line 776 "parser.yy" 6106 { (yyval.sn) = ( yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn)); }6107 break; 6108 6109 case 17 6:6116 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 6117 break; 6118 6119 case 178: 6110 6120 6111 6121 /* Line 1806 of yacc.c */ 6112 6122 #line 778 "parser.yy" 6113 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case((StatementNode *)mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].sn) ))); }6114 break;6115 6116 case 177:6117 6118 /* Line 1806 of yacc.c */6119 #line 780 "parser.yy"6120 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); }6121 break;6122 6123 case 178:6124 6125 /* Line 1806 of yacc.c */6126 #line 782 "parser.yy"6127 6123 { (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) ))))); } 6128 6124 break; … … 6131 6127 6132 6128 /* Line 1806 of yacc.c */ 6133 #line 78 7"parser.yy"6129 #line 783 "parser.yy" 6134 6130 { (yyval.sn) = 0; } 6135 6131 break; … … 6138 6134 6139 6135 /* Line 1806 of yacc.c */ 6140 #line 7 92"parser.yy"6136 #line 788 "parser.yy" 6141 6137 { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); } 6142 6138 break; … … 6145 6141 6146 6142 /* Line 1806 of yacc.c */ 6147 #line 7 93"parser.yy"6143 #line 789 "parser.yy" 6148 6144 { (yyval.sn) = new StatementNode( StatementNode::Fallthru ); } 6149 6145 break; … … 6152 6148 6153 6149 /* Line 1806 of yacc.c */ 6150 #line 794 "parser.yy" 6151 { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 6152 break; 6153 6154 case 184: 6155 6156 /* Line 1806 of yacc.c */ 6157 #line 796 "parser.yy" 6158 { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); } 6159 break; 6160 6161 case 185: 6162 6163 /* Line 1806 of yacc.c */ 6154 6164 #line 798 "parser.yy" 6155 { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }6156 break;6157 6158 case 184:6159 6160 /* Line 1806 of yacc.c */6161 #line 800 "parser.yy"6162 { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); }6163 break;6164 6165 case 185:6166 6167 /* Line 1806 of yacc.c */6168 #line 802 "parser.yy"6169 6165 { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); } 6170 6166 break; … … 6173 6169 6174 6170 /* Line 1806 of yacc.c */ 6175 #line 80 7"parser.yy"6171 #line 803 "parser.yy" 6176 6172 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 6177 6173 break; … … 6180 6176 6181 6177 /* Line 1806 of yacc.c */ 6182 #line 80 9"parser.yy"6178 #line 805 "parser.yy" 6183 6179 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 6184 6180 break; … … 6187 6183 6188 6184 /* Line 1806 of yacc.c */ 6185 #line 810 "parser.yy" 6186 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); } 6187 break; 6188 6189 case 189: 6190 6191 /* Line 1806 of yacc.c */ 6189 6192 #line 814 "parser.yy" 6190 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); }6191 break;6192 6193 case 189:6194 6195 /* Line 1806 of yacc.c */6196 #line 818 "parser.yy"6197 6193 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); } 6198 6194 break; … … 6201 6197 6202 6198 /* Line 1806 of yacc.c */ 6199 #line 817 "parser.yy" 6200 { (yyval.sn) = new StatementNode( StatementNode::Continue ); } 6201 break; 6202 6203 case 191: 6204 6205 /* Line 1806 of yacc.c */ 6203 6206 #line 821 "parser.yy" 6204 { (yyval.sn) = new StatementNode( StatementNode::Continue ); }6205 break;6206 6207 case 191:6208 6209 /* Line 1806 of yacc.c */6210 #line 825 "parser.yy"6211 6207 { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); } 6212 6208 break; … … 6215 6211 6216 6212 /* Line 1806 of yacc.c */ 6213 #line 824 "parser.yy" 6214 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 6215 break; 6216 6217 case 193: 6218 6219 /* Line 1806 of yacc.c */ 6217 6220 #line 828 "parser.yy" 6218 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 6219 break; 6220 6221 case 193: 6221 { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); } 6222 break; 6223 6224 case 194: 6225 6226 /* Line 1806 of yacc.c */ 6227 #line 830 "parser.yy" 6228 { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); } 6229 break; 6230 6231 case 195: 6222 6232 6223 6233 /* Line 1806 of yacc.c */ 6224 6234 #line 832 "parser.yy" 6225 { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); } 6226 break; 6227 6228 case 194: 6229 6230 /* Line 1806 of yacc.c */ 6231 #line 834 "parser.yy" 6232 { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); } 6233 break; 6234 6235 case 195: 6235 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 6236 break; 6237 6238 case 196: 6236 6239 6237 6240 /* Line 1806 of yacc.c */ … … 6240 6243 break; 6241 6244 6242 case 196:6243 6244 /* Line 1806 of yacc.c */6245 #line 840 "parser.yy"6246 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); }6247 break;6248 6249 6245 case 197: 6250 6246 6251 6247 /* Line 1806 of yacc.c */ 6252 #line 8 42"parser.yy"6248 #line 838 "parser.yy" 6253 6249 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); } 6254 6250 break; … … 6257 6253 6258 6254 /* Line 1806 of yacc.c */ 6255 #line 845 "parser.yy" 6256 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6257 break; 6258 6259 case 199: 6260 6261 /* Line 1806 of yacc.c */ 6262 #line 847 "parser.yy" 6263 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6264 break; 6265 6266 case 200: 6267 6268 /* Line 1806 of yacc.c */ 6259 6269 #line 849 "parser.yy" 6260 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }6261 break;6262 6263 case 199:6264 6265 /* Line 1806 of yacc.c */6266 #line 851 "parser.yy"6267 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); }6268 break;6269 6270 case 200:6271 6272 /* Line 1806 of yacc.c */6273 #line 853 "parser.yy"6274 6270 { 6275 6271 (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) ); … … 6281 6277 6282 6278 /* Line 1806 of yacc.c */ 6279 #line 860 "parser.yy" 6280 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6281 break; 6282 6283 case 203: 6284 6285 /* Line 1806 of yacc.c */ 6286 #line 862 "parser.yy" 6287 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6288 break; 6289 6290 case 204: 6291 6292 /* Line 1806 of yacc.c */ 6283 6293 #line 864 "parser.yy" 6284 6294 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6285 6295 break; 6286 6296 6287 case 20 3:6297 case 205: 6288 6298 6289 6299 /* Line 1806 of yacc.c */ … … 6292 6302 break; 6293 6303 6294 case 204:6295 6296 /* Line 1806 of yacc.c */6297 #line 868 "parser.yy"6298 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); }6299 break;6300 6301 case 205:6302 6303 /* Line 1806 of yacc.c */6304 #line 870 "parser.yy"6305 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); }6306 break;6307 6308 6304 case 206: 6305 6306 /* Line 1806 of yacc.c */ 6307 #line 871 "parser.yy" 6308 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6309 break; 6310 6311 case 207: 6312 6313 /* Line 1806 of yacc.c */ 6314 #line 873 "parser.yy" 6315 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6316 break; 6317 6318 case 208: 6309 6319 6310 6320 /* Line 1806 of yacc.c */ … … 6313 6323 break; 6314 6324 6315 case 20 7:6325 case 209: 6316 6326 6317 6327 /* Line 1806 of yacc.c */ … … 6320 6330 break; 6321 6331 6322 case 208:6323 6324 /* Line 1806 of yacc.c */6325 #line 879 "parser.yy"6326 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); }6327 break;6328 6329 case 209:6330 6331 /* Line 1806 of yacc.c */6332 #line 881 "parser.yy"6333 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); }6334 break;6335 6336 6332 case 210: 6337 6333 6338 6334 /* Line 1806 of yacc.c */ 6339 #line 88 6"parser.yy"6335 #line 882 "parser.yy" 6340 6336 { 6341 6337 (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) ); … … 6347 6343 6348 6344 /* Line 1806 of yacc.c */ 6349 #line 900"parser.yy"6345 #line 896 "parser.yy" 6350 6346 { 6351 6347 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6357 6353 6358 6354 /* Line 1806 of yacc.c */ 6359 #line 90 5"parser.yy"6355 #line 901 "parser.yy" 6360 6356 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6361 6357 break; … … 6364 6360 6365 6361 /* Line 1806 of yacc.c */ 6366 #line 90 7"parser.yy"6362 #line 903 "parser.yy" 6367 6363 { 6368 6364 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6374 6370 6375 6371 /* Line 1806 of yacc.c */ 6372 #line 912 "parser.yy" 6373 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); } 6374 break; 6375 6376 case 217: 6377 6378 /* Line 1806 of yacc.c */ 6379 #line 914 "parser.yy" 6380 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); } 6381 break; 6382 6383 case 218: 6384 6385 /* Line 1806 of yacc.c */ 6376 6386 #line 916 "parser.yy" 6377 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - ( 6)].flag), (yyvsp[(4) - (6)].constant), 0); }6378 break; 6379 6380 case 21 7:6387 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); } 6388 break; 6389 6390 case 219: 6381 6391 6382 6392 /* Line 1806 of yacc.c */ 6383 6393 #line 918 "parser.yy" 6384 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - ( 8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); }6385 break; 6386 6387 case 2 18:6394 { (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) ); } 6395 break; 6396 6397 case 220: 6388 6398 6389 6399 /* Line 1806 of yacc.c */ 6390 6400 #line 920 "parser.yy" 6391 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); }6392 break;6393 6394 case 219:6395 6396 /* Line 1806 of yacc.c */6397 #line 922 "parser.yy"6398 { (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) ); }6399 break;6400 6401 case 220:6402 6403 /* Line 1806 of yacc.c */6404 #line 924 "parser.yy"6405 6401 { (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) ); } 6406 6402 break; … … 6409 6405 6410 6406 /* Line 1806 of yacc.c */ 6411 #line 92 9"parser.yy"6407 #line 925 "parser.yy" 6412 6408 { (yyval.flag) = false; } 6413 6409 break; … … 6416 6412 6417 6413 /* Line 1806 of yacc.c */ 6418 #line 9 31"parser.yy"6414 #line 927 "parser.yy" 6419 6415 { (yyval.flag) = true; } 6420 6416 break; … … 6423 6419 6424 6420 /* Line 1806 of yacc.c */ 6425 #line 93 6"parser.yy"6421 #line 932 "parser.yy" 6426 6422 { (yyval.en) = 0; } 6427 6423 break; … … 6430 6426 6431 6427 /* Line 1806 of yacc.c */ 6432 #line 9 43"parser.yy"6428 #line 939 "parser.yy" 6433 6429 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 6434 6430 break; … … 6437 6433 6438 6434 /* Line 1806 of yacc.c */ 6439 #line 94 8"parser.yy"6435 #line 944 "parser.yy" 6440 6436 { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); } 6441 6437 break; … … 6444 6440 6445 6441 /* Line 1806 of yacc.c */ 6446 #line 9 50"parser.yy"6442 #line 946 "parser.yy" 6447 6443 { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); } 6448 6444 break; … … 6451 6447 6452 6448 /* Line 1806 of yacc.c */ 6449 #line 951 "parser.yy" 6450 { (yyval.constant) = 0; } 6451 break; 6452 6453 case 230: 6454 6455 /* Line 1806 of yacc.c */ 6456 #line 953 "parser.yy" 6457 { (yyval.constant) = (yyvsp[(1) - (1)].constant); } 6458 break; 6459 6460 case 231: 6461 6462 /* Line 1806 of yacc.c */ 6453 6463 #line 955 "parser.yy" 6454 { (yyval.constant) = 0; }6455 break;6456 6457 case 230:6458 6459 /* Line 1806 of yacc.c */6460 #line 957 "parser.yy"6461 { (yyval.constant) = (yyvsp[(1) - (1)].constant); }6462 break;6463 6464 case 231:6465 6466 /* Line 1806 of yacc.c */6467 #line 959 "parser.yy"6468 6464 { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); } 6469 6465 break; … … 6472 6468 6473 6469 /* Line 1806 of yacc.c */ 6474 #line 96 4"parser.yy"6470 #line 960 "parser.yy" 6475 6471 { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); } 6476 6472 break; … … 6479 6475 6480 6476 /* Line 1806 of yacc.c */ 6481 #line 96 6"parser.yy"6477 #line 962 "parser.yy" 6482 6478 { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); } 6483 6479 break; … … 6486 6482 6487 6483 /* Line 1806 of yacc.c */ 6488 #line 9 73"parser.yy"6484 #line 969 "parser.yy" 6489 6485 { (yyval.decl) = 0; } 6490 6486 break; … … 6493 6489 6494 6490 /* Line 1806 of yacc.c */ 6495 #line 9 80"parser.yy"6491 #line 976 "parser.yy" 6496 6492 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6497 6493 break; … … 6500 6496 6501 6497 /* Line 1806 of yacc.c */ 6502 #line 98 5"parser.yy"6498 #line 981 "parser.yy" 6503 6499 { (yyval.decl) = 0; } 6504 6500 break; … … 6507 6503 6508 6504 /* Line 1806 of yacc.c */ 6509 #line 9 92"parser.yy"6505 #line 988 "parser.yy" 6510 6506 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6511 6507 break; … … 6514 6510 6515 6511 /* Line 1806 of yacc.c */ 6516 #line 100 6"parser.yy"6512 #line 1002 "parser.yy" 6517 6513 {} 6518 6514 break; … … 6521 6517 6522 6518 /* Line 1806 of yacc.c */ 6523 #line 100 7"parser.yy"6519 #line 1003 "parser.yy" 6524 6520 {} 6525 6521 break; … … 6528 6524 6529 6525 /* Line 1806 of yacc.c */ 6530 #line 103 6"parser.yy"6526 #line 1032 "parser.yy" 6531 6527 { 6532 6528 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6538 6534 6539 6535 /* Line 1806 of yacc.c */ 6540 #line 10 43"parser.yy"6536 #line 1039 "parser.yy" 6541 6537 { 6542 6538 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6548 6544 6549 6545 /* Line 1806 of yacc.c */ 6550 #line 104 8"parser.yy"6546 #line 1044 "parser.yy" 6551 6547 { 6552 6548 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6558 6554 6559 6555 /* Line 1806 of yacc.c */ 6560 #line 105 8"parser.yy"6556 #line 1054 "parser.yy" 6561 6557 { 6562 6558 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6568 6564 6569 6565 /* Line 1806 of yacc.c */ 6570 #line 10 63"parser.yy"6566 #line 1059 "parser.yy" 6571 6567 { 6572 6568 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6578 6574 6579 6575 /* Line 1806 of yacc.c */ 6580 #line 106 8"parser.yy"6576 #line 1064 "parser.yy" 6581 6577 { 6582 6578 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6588 6584 6589 6585 /* Line 1806 of yacc.c */ 6590 #line 107 6"parser.yy"6586 #line 1072 "parser.yy" 6591 6587 { 6592 6588 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6598 6594 6599 6595 /* Line 1806 of yacc.c */ 6600 #line 10 81"parser.yy"6596 #line 1077 "parser.yy" 6601 6597 { 6602 6598 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6608 6604 6609 6605 /* Line 1806 of yacc.c */ 6610 #line 108 6"parser.yy"6606 #line 1082 "parser.yy" 6611 6607 { 6612 6608 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6618 6614 6619 6615 /* Line 1806 of yacc.c */ 6620 #line 10 91"parser.yy"6616 #line 1087 "parser.yy" 6621 6617 { 6622 6618 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6628 6624 6629 6625 /* Line 1806 of yacc.c */ 6630 #line 109 6"parser.yy"6626 #line 1092 "parser.yy" 6631 6627 { 6632 6628 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6638 6634 6639 6635 /* Line 1806 of yacc.c */ 6640 #line 110 4"parser.yy"6636 #line 1100 "parser.yy" 6641 6637 { 6642 6638 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6645 6641 6646 6642 case 267: 6643 6644 /* Line 1806 of yacc.c */ 6645 #line 1123 "parser.yy" 6646 { 6647 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); 6648 } 6649 break; 6650 6651 case 268: 6647 6652 6648 6653 /* Line 1806 of yacc.c */ … … 6653 6658 break; 6654 6659 6655 case 268:6656 6657 /* Line 1806 of yacc.c */6658 #line 1131 "parser.yy"6659 {6660 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true );6661 }6662 break;6663 6664 6660 case 269: 6665 6661 6666 6662 /* Line 1806 of yacc.c */ 6663 #line 1134 "parser.yy" 6664 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6665 break; 6666 6667 case 270: 6668 6669 /* Line 1806 of yacc.c */ 6667 6670 #line 1138 "parser.yy" 6668 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }6669 break;6670 6671 case 270:6672 6673 /* Line 1806 of yacc.c */6674 #line 1142 "parser.yy"6675 6671 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6676 6672 break; … … 6679 6675 6680 6676 /* Line 1806 of yacc.c */ 6681 #line 114 7"parser.yy"6677 #line 1143 "parser.yy" 6682 6678 { 6683 6679 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6689 6685 6690 6686 /* Line 1806 of yacc.c */ 6691 #line 11 52"parser.yy"6687 #line 1148 "parser.yy" 6692 6688 { 6693 6689 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6699 6695 6700 6696 /* Line 1806 of yacc.c */ 6701 #line 115 7"parser.yy"6697 #line 1153 "parser.yy" 6702 6698 { 6703 6699 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6709 6705 6710 6706 /* Line 1806 of yacc.c */ 6711 #line 116 8"parser.yy"6707 #line 1164 "parser.yy" 6712 6708 { 6713 6709 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6719 6715 6720 6716 /* Line 1806 of yacc.c */ 6721 #line 11 73"parser.yy"6717 #line 1169 "parser.yy" 6722 6718 { 6723 6719 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6729 6725 6730 6726 /* Line 1806 of yacc.c */ 6731 #line 117 8"parser.yy"6727 #line 1174 "parser.yy" 6732 6728 { 6733 6729 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6739 6735 6740 6736 /* Line 1806 of yacc.c */ 6741 #line 11 83"parser.yy"6737 #line 1179 "parser.yy" 6742 6738 { 6743 6739 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6749 6745 6750 6746 /* Line 1806 of yacc.c */ 6751 #line 118 8"parser.yy"6747 #line 1184 "parser.yy" 6752 6748 { 6753 6749 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6759 6755 6760 6756 /* Line 1806 of yacc.c */ 6761 #line 119 7"parser.yy"6757 #line 1193 "parser.yy" 6762 6758 { 6763 6759 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6769 6765 6770 6766 /* Line 1806 of yacc.c */ 6771 #line 1 202"parser.yy"6767 #line 1198 "parser.yy" 6772 6768 { 6773 6769 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6779 6775 6780 6776 /* Line 1806 of yacc.c */ 6781 #line 121 9"parser.yy"6777 #line 1215 "parser.yy" 6782 6778 { 6783 6779 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6789 6785 6790 6786 /* Line 1806 of yacc.c */ 6791 #line 122 4"parser.yy"6787 #line 1220 "parser.yy" 6792 6788 { 6793 6789 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6799 6795 6800 6796 /* Line 1806 of yacc.c */ 6801 #line 124 6"parser.yy"6797 #line 1242 "parser.yy" 6802 6798 { (yyval.decl) = 0; } 6803 6799 break; … … 6806 6802 6807 6803 /* Line 1806 of yacc.c */ 6808 #line 125 8"parser.yy"6804 #line 1254 "parser.yy" 6809 6805 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6810 6806 break; … … 6813 6809 6814 6810 /* Line 1806 of yacc.c */ 6811 #line 1265 "parser.yy" 6812 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6813 break; 6814 6815 case 302: 6816 6817 /* Line 1806 of yacc.c */ 6818 #line 1267 "parser.yy" 6819 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6820 break; 6821 6822 case 303: 6823 6824 /* Line 1806 of yacc.c */ 6815 6825 #line 1269 "parser.yy" 6816 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Const); }6817 break; 6818 6819 case 30 2:6826 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6827 break; 6828 6829 case 304: 6820 6830 6821 6831 /* Line 1806 of yacc.c */ 6822 6832 #line 1271 "parser.yy" 6823 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Restrict); }6824 break; 6825 6826 case 30 3:6833 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6834 break; 6835 6836 case 305: 6827 6837 6828 6838 /* Line 1806 of yacc.c */ 6829 6839 #line 1273 "parser.yy" 6830 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode:: Volatile); }6831 break; 6832 6833 case 30 4:6840 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6841 break; 6842 6843 case 306: 6834 6844 6835 6845 /* Line 1806 of yacc.c */ 6836 6846 #line 1275 "parser.yy" 6837 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); }6838 break;6839 6840 case 305:6841 6842 /* Line 1806 of yacc.c */6843 #line 1277 "parser.yy"6844 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); }6845 break;6846 6847 case 306:6848 6849 /* Line 1806 of yacc.c */6850 #line 1279 "parser.yy"6851 6847 { 6852 6848 typedefTable.enterScope(); … … 6857 6853 6858 6854 /* Line 1806 of yacc.c */ 6859 #line 12 83"parser.yy"6855 #line 1279 "parser.yy" 6860 6856 { 6861 6857 typedefTable.leaveScope(); … … 6867 6863 6868 6864 /* Line 1806 of yacc.c */ 6869 #line 12 92"parser.yy"6865 #line 1288 "parser.yy" 6870 6866 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6871 6867 break; … … 6874 6870 6875 6871 /* Line 1806 of yacc.c */ 6876 #line 129 4"parser.yy"6872 #line 1290 "parser.yy" 6877 6873 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6878 6874 break; … … 6881 6877 6882 6878 /* Line 1806 of yacc.c */ 6883 #line 130 5"parser.yy"6879 #line 1301 "parser.yy" 6884 6880 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6885 6881 break; … … 6888 6884 6889 6885 /* Line 1806 of yacc.c */ 6886 #line 1310 "parser.yy" 6887 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6888 break; 6889 6890 case 315: 6891 6892 /* Line 1806 of yacc.c */ 6893 #line 1312 "parser.yy" 6894 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6895 break; 6896 6897 case 316: 6898 6899 /* Line 1806 of yacc.c */ 6890 6900 #line 1314 "parser.yy" 6891 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Extern); }6892 break; 6893 6894 case 31 5:6901 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6902 break; 6903 6904 case 317: 6895 6905 6896 6906 /* Line 1806 of yacc.c */ 6897 6907 #line 1316 "parser.yy" 6898 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Static); }6899 break; 6900 6901 case 31 6:6908 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6909 break; 6910 6911 case 318: 6902 6912 6903 6913 /* Line 1806 of yacc.c */ 6904 6914 #line 1318 "parser.yy" 6905 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Auto); }6906 break; 6907 6908 case 31 7:6915 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6916 break; 6917 6918 case 319: 6909 6919 6910 6920 /* Line 1806 of yacc.c */ 6911 6921 #line 1320 "parser.yy" 6912 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Register); }6913 break; 6914 6915 case 3 18:6922 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6923 break; 6924 6925 case 320: 6916 6926 6917 6927 /* Line 1806 of yacc.c */ 6918 6928 #line 1322 "parser.yy" 6919 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode:: Inline); }6920 break; 6921 6922 case 3 19:6929 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6930 break; 6931 6932 case 321: 6923 6933 6924 6934 /* Line 1806 of yacc.c */ 6925 6935 #line 1324 "parser.yy" 6926 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); }6927 break;6928 6929 case 320:6930 6931 /* Line 1806 of yacc.c */6932 #line 1326 "parser.yy"6933 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); }6934 break;6935 6936 case 321:6937 6938 /* Line 1806 of yacc.c */6939 #line 1328 "parser.yy"6940 6936 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6941 6937 break; … … 6944 6940 6945 6941 /* Line 1806 of yacc.c */ 6942 #line 1329 "parser.yy" 6943 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6944 break; 6945 6946 case 323: 6947 6948 /* Line 1806 of yacc.c */ 6949 #line 1331 "parser.yy" 6950 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6951 break; 6952 6953 case 324: 6954 6955 /* Line 1806 of yacc.c */ 6946 6956 #line 1333 "parser.yy" 6947 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Char); }6948 break; 6949 6950 case 32 3:6957 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6958 break; 6959 6960 case 325: 6951 6961 6952 6962 /* Line 1806 of yacc.c */ 6953 6963 #line 1335 "parser.yy" 6954 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Double); }6955 break; 6956 6957 case 32 4:6964 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6965 break; 6966 6967 case 326: 6958 6968 6959 6969 /* Line 1806 of yacc.c */ 6960 6970 #line 1337 "parser.yy" 6961 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Float); }6962 break; 6963 6964 case 32 5:6971 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6972 break; 6973 6974 case 327: 6965 6975 6966 6976 /* Line 1806 of yacc.c */ 6967 6977 #line 1339 "parser.yy" 6968 { (yyval.decl) = DeclarationNode::new BasicType( DeclarationNode::Int ); }6969 break; 6970 6971 case 32 6:6978 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 6979 break; 6980 6981 case 328: 6972 6982 6973 6983 /* Line 1806 of yacc.c */ 6974 6984 #line 1341 "parser.yy" 6975 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode:: Long); }6976 break; 6977 6978 case 32 7:6985 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 6986 break; 6987 6988 case 329: 6979 6989 6980 6990 /* Line 1806 of yacc.c */ 6981 6991 #line 1343 "parser.yy" 6982 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode:: Short); }6983 break; 6984 6985 case 3 28:6992 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 6993 break; 6994 6995 case 330: 6986 6996 6987 6997 /* Line 1806 of yacc.c */ 6988 6998 #line 1345 "parser.yy" 6989 { (yyval.decl) = DeclarationNode::new Modifier( DeclarationNode::Signed ); }6990 break; 6991 6992 case 3 29:6999 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 7000 break; 7001 7002 case 331: 6993 7003 6994 7004 /* Line 1806 of yacc.c */ 6995 7005 #line 1347 "parser.yy" 6996 { (yyval.decl) = DeclarationNode::new Modifier( DeclarationNode::Unsigned); }6997 break; 6998 6999 case 33 0:7006 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 7007 break; 7008 7009 case 332: 7000 7010 7001 7011 /* Line 1806 of yacc.c */ 7002 7012 #line 1349 "parser.yy" 7003 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Void); }7004 break; 7005 7006 case 33 1:7013 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 7014 break; 7015 7016 case 333: 7007 7017 7008 7018 /* Line 1806 of yacc.c */ 7009 7019 #line 1351 "parser.yy" 7010 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode:: Bool); }7011 break; 7012 7013 case 33 2:7020 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 7021 break; 7022 7023 case 334: 7014 7024 7015 7025 /* Line 1806 of yacc.c */ 7016 7026 #line 1353 "parser.yy" 7017 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); }7018 break;7019 7020 case 333:7021 7022 /* Line 1806 of yacc.c */7023 #line 1355 "parser.yy"7024 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); }7025 break;7026 7027 case 334:7028 7029 /* Line 1806 of yacc.c */7030 #line 1357 "parser.yy"7031 7027 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 7032 7028 break; … … 7035 7031 7036 7032 /* Line 1806 of yacc.c */ 7033 #line 1360 "parser.yy" 7034 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7035 break; 7036 7037 case 337: 7038 7039 /* Line 1806 of yacc.c */ 7040 #line 1362 "parser.yy" 7041 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7042 break; 7043 7044 case 338: 7045 7046 /* Line 1806 of yacc.c */ 7037 7047 #line 1364 "parser.yy" 7048 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7049 break; 7050 7051 case 339: 7052 7053 /* Line 1806 of yacc.c */ 7054 #line 1366 "parser.yy" 7055 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 7056 break; 7057 7058 case 341: 7059 7060 /* Line 1806 of yacc.c */ 7061 #line 1372 "parser.yy" 7062 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7063 break; 7064 7065 case 343: 7066 7067 /* Line 1806 of yacc.c */ 7068 #line 1379 "parser.yy" 7038 7069 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7039 7070 break; 7040 7071 7041 case 3 37:7042 7043 /* Line 1806 of yacc.c */ 7044 #line 13 66"parser.yy"7072 case 344: 7073 7074 /* Line 1806 of yacc.c */ 7075 #line 1381 "parser.yy" 7045 7076 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7046 7077 break; 7047 7078 7048 case 338: 7049 7050 /* Line 1806 of yacc.c */ 7051 #line 1368 "parser.yy" 7079 case 345: 7080 7081 /* Line 1806 of yacc.c */ 7082 #line 1383 "parser.yy" 7083 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 7084 break; 7085 7086 case 346: 7087 7088 /* Line 1806 of yacc.c */ 7089 #line 1388 "parser.yy" 7090 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 7091 break; 7092 7093 case 347: 7094 7095 /* Line 1806 of yacc.c */ 7096 #line 1390 "parser.yy" 7097 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 7098 break; 7099 7100 case 348: 7101 7102 /* Line 1806 of yacc.c */ 7103 #line 1392 "parser.yy" 7104 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 7105 break; 7106 7107 case 349: 7108 7109 /* Line 1806 of yacc.c */ 7110 #line 1394 "parser.yy" 7111 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7112 break; 7113 7114 case 351: 7115 7116 /* Line 1806 of yacc.c */ 7117 #line 1400 "parser.yy" 7118 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7119 break; 7120 7121 case 352: 7122 7123 /* Line 1806 of yacc.c */ 7124 #line 1402 "parser.yy" 7125 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7126 break; 7127 7128 case 353: 7129 7130 /* Line 1806 of yacc.c */ 7131 #line 1404 "parser.yy" 7052 7132 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7053 7133 break; 7054 7134 7055 case 339: 7056 7057 /* Line 1806 of yacc.c */ 7058 #line 1370 "parser.yy" 7059 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 7060 break; 7061 7062 case 341: 7063 7064 /* Line 1806 of yacc.c */ 7065 #line 1376 "parser.yy" 7066 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7067 break; 7068 7069 case 343: 7070 7071 /* Line 1806 of yacc.c */ 7072 #line 1383 "parser.yy" 7135 case 355: 7136 7137 /* Line 1806 of yacc.c */ 7138 #line 1410 "parser.yy" 7073 7139 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7074 7140 break; 7075 7141 7076 case 3 44:7077 7078 /* Line 1806 of yacc.c */ 7079 #line 1 385"parser.yy"7142 case 356: 7143 7144 /* Line 1806 of yacc.c */ 7145 #line 1412 "parser.yy" 7080 7146 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7081 7147 break; 7082 7148 7083 case 345: 7084 7085 /* Line 1806 of yacc.c */ 7086 #line 1387 "parser.yy" 7087 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 7088 break; 7089 7090 case 346: 7091 7092 /* Line 1806 of yacc.c */ 7093 #line 1392 "parser.yy" 7094 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 7095 break; 7096 7097 case 347: 7098 7099 /* Line 1806 of yacc.c */ 7100 #line 1394 "parser.yy" 7101 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 7102 break; 7103 7104 case 348: 7105 7106 /* Line 1806 of yacc.c */ 7107 #line 1396 "parser.yy" 7108 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 7109 break; 7110 7111 case 349: 7112 7113 /* Line 1806 of yacc.c */ 7114 #line 1398 "parser.yy" 7115 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7116 break; 7117 7118 case 351: 7119 7120 /* Line 1806 of yacc.c */ 7121 #line 1404 "parser.yy" 7149 case 358: 7150 7151 /* Line 1806 of yacc.c */ 7152 #line 1418 "parser.yy" 7122 7153 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7123 7154 break; 7124 7155 7125 case 35 2:7126 7127 /* Line 1806 of yacc.c */ 7128 #line 14 06"parser.yy"7156 case 359: 7157 7158 /* Line 1806 of yacc.c */ 7159 #line 1420 "parser.yy" 7129 7160 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7130 7161 break; 7131 7162 7132 case 3 53:7133 7134 /* Line 1806 of yacc.c */ 7135 #line 14 08"parser.yy"7163 case 360: 7164 7165 /* Line 1806 of yacc.c */ 7166 #line 1422 "parser.yy" 7136 7167 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7137 7168 break; 7138 7169 7139 case 355: 7140 7141 /* Line 1806 of yacc.c */ 7142 #line 1414 "parser.yy" 7143 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7144 break; 7145 7146 case 356: 7147 7148 /* Line 1806 of yacc.c */ 7149 #line 1416 "parser.yy" 7170 case 361: 7171 7172 /* Line 1806 of yacc.c */ 7173 #line 1427 "parser.yy" 7174 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 7175 break; 7176 7177 case 362: 7178 7179 /* Line 1806 of yacc.c */ 7180 #line 1429 "parser.yy" 7181 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7182 break; 7183 7184 case 363: 7185 7186 /* Line 1806 of yacc.c */ 7187 #line 1431 "parser.yy" 7150 7188 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7151 7189 break; 7152 7190 7153 case 358:7154 7155 /* Line 1806 of yacc.c */7156 #line 1422 "parser.yy"7157 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }7158 break;7159 7160 case 359:7161 7162 /* Line 1806 of yacc.c */7163 #line 1424 "parser.yy"7164 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }7165 break;7166 7167 case 360:7168 7169 /* Line 1806 of yacc.c */7170 #line 1426 "parser.yy"7171 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }7172 break;7173 7174 case 361:7175 7176 /* Line 1806 of yacc.c */7177 #line 1431 "parser.yy"7178 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); }7179 break;7180 7181 case 362:7182 7183 /* Line 1806 of yacc.c */7184 #line 1433 "parser.yy"7185 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); }7186 break;7187 7188 case 363:7189 7190 /* Line 1806 of yacc.c */7191 #line 1435 "parser.yy"7192 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }7193 break;7194 7195 7191 case 366: 7196 7192 7197 7193 /* Line 1806 of yacc.c */ 7198 #line 144 5"parser.yy"7194 #line 1441 "parser.yy" 7199 7195 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl) ); } 7200 7196 break; … … 7203 7199 7204 7200 /* Line 1806 of yacc.c */ 7205 #line 144 7"parser.yy"7201 #line 1443 "parser.yy" 7206 7202 { 7207 7203 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7213 7209 7214 7210 /* Line 1806 of yacc.c */ 7211 #line 1448 "parser.yy" 7212 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7213 break; 7214 7215 case 369: 7216 7217 /* Line 1806 of yacc.c */ 7218 #line 1450 "parser.yy" 7219 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); } 7220 break; 7221 7222 case 370: 7223 7224 /* Line 1806 of yacc.c */ 7215 7225 #line 1452 "parser.yy" 7216 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); }7217 break; 7218 7219 case 3 69:7226 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); } 7227 break; 7228 7229 case 371: 7220 7230 7221 7231 /* Line 1806 of yacc.c */ 7222 7232 #line 1454 "parser.yy" 7223 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl)); }7224 break;7225 7226 case 370:7227 7228 /* Line 1806 of yacc.c */7229 #line 1456 "parser.yy"7230 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl) ); }7231 break;7232 7233 case 371:7234 7235 /* Line 1806 of yacc.c */7236 #line 1458 "parser.yy"7237 7233 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7238 7234 break; … … 7241 7237 7242 7238 /* Line 1806 of yacc.c */ 7243 #line 14 63"parser.yy"7239 #line 1459 "parser.yy" 7244 7240 { (yyval.aggKey) = DeclarationNode::Struct; } 7245 7241 break; … … 7248 7244 7249 7245 /* Line 1806 of yacc.c */ 7250 #line 146 5"parser.yy"7246 #line 1461 "parser.yy" 7251 7247 { (yyval.aggKey) = DeclarationNode::Union; } 7252 7248 break; … … 7255 7251 7256 7252 /* Line 1806 of yacc.c */ 7257 #line 14 70"parser.yy"7253 #line 1466 "parser.yy" 7258 7254 { (yyval.decl) = (yyvsp[(1) - (1)].decl); } 7259 7255 break; … … 7262 7258 7263 7259 /* Line 1806 of yacc.c */ 7264 #line 14 72"parser.yy"7260 #line 1468 "parser.yy" 7265 7261 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7266 7262 break; … … 7269 7265 7270 7266 /* Line 1806 of yacc.c */ 7271 #line 147 8"parser.yy"7272 { (yyval.decl) = (yyvsp[(2) - (3)].decl) ->set_extension( true ); }7267 #line 1474 "parser.yy" 7268 { (yyval.decl) = (yyvsp[(2) - (3)].decl)/*->set_extension( true )*/; } 7273 7269 break; 7274 7270 … … 7276 7272 7277 7273 /* Line 1806 of yacc.c */ 7278 #line 1481 "parser.yy" 7279 { // mark all fields in list 7280 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 7281 iter->set_extension( true ); 7282 (yyval.decl) = (yyvsp[(2) - (3)].decl); 7283 } 7274 #line 1477 "parser.yy" 7275 { (yyval.decl) = (yyvsp[(2) - (3)].decl)/*->set_extension( true )*/; } 7284 7276 break; 7285 7277 … … 7287 7279 7288 7280 /* Line 1806 of yacc.c */ 7289 #line 14 91"parser.yy"7281 #line 1483 "parser.yy" 7290 7282 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7291 7283 break; … … 7294 7286 7295 7287 /* Line 1806 of yacc.c */ 7296 #line 14 93"parser.yy"7288 #line 1485 "parser.yy" 7297 7289 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7298 7290 break; … … 7301 7293 7302 7294 /* Line 1806 of yacc.c */ 7303 #line 14 95"parser.yy"7295 #line 1487 "parser.yy" 7304 7296 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7305 7297 break; … … 7308 7300 7309 7301 /* Line 1806 of yacc.c */ 7310 #line 1 500"parser.yy"7302 #line 1492 "parser.yy" 7311 7303 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7312 7304 break; … … 7315 7307 7316 7308 /* Line 1806 of yacc.c */ 7317 #line 1 502"parser.yy"7309 #line 1494 "parser.yy" 7318 7310 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7319 7311 break; … … 7322 7314 7323 7315 /* Line 1806 of yacc.c */ 7316 #line 1499 "parser.yy" 7317 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7318 break; 7319 7320 case 387: 7321 7322 /* Line 1806 of yacc.c */ 7323 #line 1501 "parser.yy" 7324 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7325 break; 7326 7327 case 388: 7328 7329 /* Line 1806 of yacc.c */ 7330 #line 1504 "parser.yy" 7331 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7332 break; 7333 7334 case 389: 7335 7336 /* Line 1806 of yacc.c */ 7324 7337 #line 1507 "parser.yy" 7325 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ }7326 break;7327 7328 case 387:7329 7330 /* Line 1806 of yacc.c */7331 #line 1509 "parser.yy"7332 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }7333 break;7334 7335 case 388:7336 7337 /* Line 1806 of yacc.c */7338 #line 1512 "parser.yy"7339 7338 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7340 7339 break; 7341 7340 7342 case 389: 7341 case 391: 7342 7343 /* Line 1806 of yacc.c */ 7344 #line 1513 "parser.yy" 7345 { (yyval.en) = 0; } 7346 break; 7347 7348 case 392: 7343 7349 7344 7350 /* Line 1806 of yacc.c */ 7345 7351 #line 1515 "parser.yy" 7346 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }7347 break;7348 7349 case 391:7350 7351 /* Line 1806 of yacc.c */7352 #line 1521 "parser.yy"7353 { (yyval.en) = 0; }7354 break;7355 7356 case 392:7357 7358 /* Line 1806 of yacc.c */7359 #line 1523 "parser.yy"7360 7352 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7361 7353 break; … … 7364 7356 7365 7357 /* Line 1806 of yacc.c */ 7366 #line 152 8"parser.yy"7358 #line 1520 "parser.yy" 7367 7359 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7368 7360 break; … … 7371 7363 7372 7364 /* Line 1806 of yacc.c */ 7373 #line 15 37"parser.yy"7365 #line 1529 "parser.yy" 7374 7366 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7375 7367 break; … … 7378 7370 7379 7371 /* Line 1806 of yacc.c */ 7380 #line 153 9"parser.yy"7372 #line 1531 "parser.yy" 7381 7373 { 7382 7374 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7388 7380 7389 7381 /* Line 1806 of yacc.c */ 7390 #line 15 44"parser.yy"7382 #line 1536 "parser.yy" 7391 7383 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7392 7384 break; … … 7395 7387 7396 7388 /* Line 1806 of yacc.c */ 7397 #line 15 46"parser.yy"7389 #line 1538 "parser.yy" 7398 7390 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7399 7391 break; … … 7402 7394 7403 7395 /* Line 1806 of yacc.c */ 7404 #line 15 51"parser.yy"7396 #line 1543 "parser.yy" 7405 7397 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7406 7398 break; … … 7409 7401 7410 7402 /* Line 1806 of yacc.c */ 7411 #line 15 53"parser.yy"7403 #line 1545 "parser.yy" 7412 7404 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7413 7405 break; … … 7416 7408 7417 7409 /* Line 1806 of yacc.c */ 7418 #line 155 8"parser.yy"7410 #line 1550 "parser.yy" 7419 7411 { (yyval.en) = 0; } 7420 7412 break; … … 7423 7415 7424 7416 /* Line 1806 of yacc.c */ 7425 #line 15 60"parser.yy"7417 #line 1552 "parser.yy" 7426 7418 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7427 7419 break; … … 7430 7422 7431 7423 /* Line 1806 of yacc.c */ 7424 #line 1559 "parser.yy" 7425 { (yyval.decl) = 0; } 7426 break; 7427 7428 case 407: 7429 7430 /* Line 1806 of yacc.c */ 7432 7431 #line 1567 "parser.yy" 7433 { (yyval.decl) = 0; }7434 break;7435 7436 case 407:7437 7438 /* Line 1806 of yacc.c */7439 #line 1575 "parser.yy"7440 7432 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7441 7433 break; … … 7444 7436 7445 7437 /* Line 1806 of yacc.c */ 7446 #line 15 77"parser.yy"7438 #line 1569 "parser.yy" 7447 7439 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7448 7440 break; … … 7451 7443 7452 7444 /* Line 1806 of yacc.c */ 7445 #line 1571 "parser.yy" 7446 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7447 break; 7448 7449 case 411: 7450 7451 /* Line 1806 of yacc.c */ 7453 7452 #line 1579 "parser.yy" 7454 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); }7455 break;7456 7457 case 411:7458 7459 /* Line 1806 of yacc.c */7460 #line 1587 "parser.yy"7461 7453 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7462 7454 break; 7463 7455 7464 7456 case 412: 7457 7458 /* Line 1806 of yacc.c */ 7459 #line 1581 "parser.yy" 7460 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7461 break; 7462 7463 case 413: 7464 7465 /* Line 1806 of yacc.c */ 7466 #line 1583 "parser.yy" 7467 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7468 break; 7469 7470 case 415: 7465 7471 7466 7472 /* Line 1806 of yacc.c */ … … 7469 7475 break; 7470 7476 7471 case 413: 7472 7473 /* Line 1806 of yacc.c */ 7474 #line 1591 "parser.yy" 7475 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7476 break; 7477 7478 case 415: 7479 7480 /* Line 1806 of yacc.c */ 7481 #line 1597 "parser.yy" 7477 case 416: 7478 7479 /* Line 1806 of yacc.c */ 7480 #line 1594 "parser.yy" 7481 { (yyval.decl) = 0; } 7482 break; 7483 7484 case 419: 7485 7486 /* Line 1806 of yacc.c */ 7487 #line 1601 "parser.yy" 7488 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7489 break; 7490 7491 case 422: 7492 7493 /* Line 1806 of yacc.c */ 7494 #line 1608 "parser.yy" 7482 7495 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7483 7496 break; 7484 7497 7485 case 416: 7486 7487 /* Line 1806 of yacc.c */ 7488 #line 1602 "parser.yy" 7489 { (yyval.decl) = 0; } 7490 break; 7491 7492 case 419: 7493 7494 /* Line 1806 of yacc.c */ 7495 #line 1609 "parser.yy" 7496 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7497 break; 7498 7499 case 422: 7500 7501 /* Line 1806 of yacc.c */ 7502 #line 1616 "parser.yy" 7498 case 423: 7499 7500 /* Line 1806 of yacc.c */ 7501 #line 1610 "parser.yy" 7503 7502 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7504 7503 break; 7505 7504 7506 case 423:7507 7508 /* Line 1806 of yacc.c */7509 #line 1618 "parser.yy"7510 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); }7511 break;7512 7513 7505 case 425: 7514 7506 7515 7507 /* Line 1806 of yacc.c */ 7516 #line 16 27"parser.yy"7508 #line 1619 "parser.yy" 7517 7509 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7518 7510 break; … … 7521 7513 7522 7514 /* Line 1806 of yacc.c */ 7523 #line 16 30"parser.yy"7515 #line 1622 "parser.yy" 7524 7516 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7525 7517 break; … … 7528 7520 7529 7521 /* Line 1806 of yacc.c */ 7530 #line 16 32"parser.yy"7522 #line 1624 "parser.yy" 7531 7523 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7532 7524 break; … … 7535 7527 7536 7528 /* Line 1806 of yacc.c */ 7537 #line 16 42"parser.yy"7529 #line 1634 "parser.yy" 7538 7530 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7539 7531 break; … … 7542 7534 7543 7535 /* Line 1806 of yacc.c */ 7544 #line 164 8"parser.yy"7536 #line 1640 "parser.yy" 7545 7537 { 7546 7538 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7552 7544 7553 7545 /* Line 1806 of yacc.c */ 7554 #line 16 53"parser.yy"7546 #line 1645 "parser.yy" 7555 7547 { 7556 7548 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7562 7554 7563 7555 /* Line 1806 of yacc.c */ 7564 #line 16 62"parser.yy"7556 #line 1654 "parser.yy" 7565 7557 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7566 7558 break; … … 7569 7561 7570 7562 /* Line 1806 of yacc.c */ 7571 #line 16 71"parser.yy"7563 #line 1663 "parser.yy" 7572 7564 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7573 7565 break; … … 7576 7568 7577 7569 /* Line 1806 of yacc.c */ 7578 #line 16 73"parser.yy"7570 #line 1665 "parser.yy" 7579 7571 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7580 7572 break; 7581 7573 7582 7574 case 451: 7575 7576 /* Line 1806 of yacc.c */ 7577 #line 1690 "parser.yy" 7578 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7579 break; 7580 7581 case 455: 7583 7582 7584 7583 /* Line 1806 of yacc.c */ … … 7587 7586 break; 7588 7587 7589 case 455:7590 7591 /* Line 1806 of yacc.c */7592 #line 1706 "parser.yy"7593 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); }7594 break;7595 7596 7588 case 456: 7597 7589 7598 7590 /* Line 1806 of yacc.c */ 7591 #line 1703 "parser.yy" 7592 { (yyval.in) = 0; } 7593 break; 7594 7595 case 457: 7596 7597 /* Line 1806 of yacc.c */ 7598 #line 1705 "parser.yy" 7599 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7600 break; 7601 7602 case 458: 7603 7604 /* Line 1806 of yacc.c */ 7605 #line 1707 "parser.yy" 7606 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7607 break; 7608 7609 case 459: 7610 7611 /* Line 1806 of yacc.c */ 7599 7612 #line 1711 "parser.yy" 7613 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7614 break; 7615 7616 case 460: 7617 7618 /* Line 1806 of yacc.c */ 7619 #line 1712 "parser.yy" 7620 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7621 break; 7622 7623 case 461: 7624 7625 /* Line 1806 of yacc.c */ 7626 #line 1717 "parser.yy" 7600 7627 { (yyval.in) = 0; } 7601 7628 break; 7602 7629 7603 case 457: 7604 7605 /* Line 1806 of yacc.c */ 7606 #line 1713 "parser.yy" 7607 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7608 break; 7609 7610 case 458: 7611 7612 /* Line 1806 of yacc.c */ 7613 #line 1715 "parser.yy" 7614 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7615 break; 7616 7617 case 459: 7630 case 463: 7618 7631 7619 7632 /* Line 1806 of yacc.c */ 7620 7633 #line 1719 "parser.yy" 7621 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); }7622 break; 7623 7624 case 46 0:7634 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7635 break; 7636 7637 case 464: 7625 7638 7626 7639 /* Line 1806 of yacc.c */ 7627 7640 #line 1720 "parser.yy" 7628 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); }7629 break;7630 7631 case 461:7632 7633 /* Line 1806 of yacc.c */7634 #line 1725 "parser.yy"7635 { (yyval.in) = 0; }7636 break;7637 7638 case 463:7639 7640 /* Line 1806 of yacc.c */7641 #line 1727 "parser.yy"7642 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }7643 break;7644 7645 case 464:7646 7647 /* Line 1806 of yacc.c */7648 #line 1728 "parser.yy"7649 7641 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7650 7642 break; … … 7653 7645 7654 7646 /* Line 1806 of yacc.c */ 7655 #line 17 30"parser.yy"7647 #line 1722 "parser.yy" 7656 7648 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7657 7649 break; … … 7660 7652 7661 7653 /* Line 1806 of yacc.c */ 7662 #line 17 46"parser.yy"7654 #line 1738 "parser.yy" 7663 7655 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7664 7656 break; … … 7667 7659 7668 7660 /* Line 1806 of yacc.c */ 7661 #line 1744 "parser.yy" 7662 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7663 break; 7664 7665 case 470: 7666 7667 /* Line 1806 of yacc.c */ 7669 7668 #line 1752 "parser.yy" 7670 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); }7671 break;7672 7673 case 470:7674 7675 /* Line 1806 of yacc.c */7676 #line 1760 "parser.yy"7677 7669 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); } 7678 7670 break; … … 7681 7673 7682 7674 /* Line 1806 of yacc.c */ 7683 #line 17 62"parser.yy"7675 #line 1754 "parser.yy" 7684 7676 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); } 7685 7677 break; … … 7688 7680 7689 7681 /* Line 1806 of yacc.c */ 7690 #line 17 65"parser.yy"7682 #line 1757 "parser.yy" 7691 7683 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 7692 7684 break; … … 7695 7687 7696 7688 /* Line 1806 of yacc.c */ 7697 #line 17 67"parser.yy"7689 #line 1759 "parser.yy" 7698 7690 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 7699 7691 break; … … 7702 7694 7703 7695 /* Line 1806 of yacc.c */ 7704 #line 176 9"parser.yy"7696 #line 1761 "parser.yy" 7705 7697 { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); } 7706 7698 break; … … 7709 7701 7710 7702 /* Line 1806 of yacc.c */ 7711 #line 17 71"parser.yy"7703 #line 1763 "parser.yy" 7712 7704 { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); } 7713 7705 break; … … 7716 7708 7717 7709 /* Line 1806 of yacc.c */ 7718 #line 17 95"parser.yy"7710 #line 1787 "parser.yy" 7719 7711 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7720 7712 break; … … 7723 7715 7724 7716 /* Line 1806 of yacc.c */ 7717 #line 1789 "parser.yy" 7718 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7719 break; 7720 7721 case 479: 7722 7723 /* Line 1806 of yacc.c */ 7724 #line 1791 "parser.yy" 7725 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7726 break; 7727 7728 case 481: 7729 7730 /* Line 1806 of yacc.c */ 7725 7731 #line 1797 "parser.yy" 7732 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7733 break; 7734 7735 case 482: 7736 7737 /* Line 1806 of yacc.c */ 7738 #line 1799 "parser.yy" 7726 7739 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7727 7740 break; 7728 7741 7729 case 479:7730 7731 /* Line 1806 of yacc.c */7732 #line 1799 "parser.yy"7733 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); }7734 break;7735 7736 case 481:7737 7738 /* Line 1806 of yacc.c */7739 #line 1805 "parser.yy"7740 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); }7741 break;7742 7743 case 482:7744 7745 /* Line 1806 of yacc.c */7746 #line 1807 "parser.yy"7747 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }7748 break;7749 7750 7742 case 483: 7751 7743 7752 7744 /* Line 1806 of yacc.c */ 7753 #line 18 12"parser.yy"7745 #line 1804 "parser.yy" 7754 7746 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7755 7747 break; … … 7758 7750 7759 7751 /* Line 1806 of yacc.c */ 7760 #line 181 8"parser.yy"7752 #line 1810 "parser.yy" 7761 7753 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7762 7754 break; … … 7765 7757 7766 7758 /* Line 1806 of yacc.c */ 7759 #line 1815 "parser.yy" 7760 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7761 break; 7762 7763 case 487: 7764 7765 /* Line 1806 of yacc.c */ 7766 #line 1817 "parser.yy" 7767 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7768 break; 7769 7770 case 489: 7771 7772 /* Line 1806 of yacc.c */ 7767 7773 #line 1823 "parser.yy" 7768 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); }7769 break; 7770 7771 case 4 87:7774 { (yyval.tclass) = DeclarationNode::Type; } 7775 break; 7776 7777 case 490: 7772 7778 7773 7779 /* Line 1806 of yacc.c */ 7774 7780 #line 1825 "parser.yy" 7775 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); }7776 break;7777 7778 case 489:7779 7780 /* Line 1806 of yacc.c */7781 #line 1831 "parser.yy"7782 { (yyval.tclass) = DeclarationNode::Type; }7783 break;7784 7785 case 490:7786 7787 /* Line 1806 of yacc.c */7788 #line 1833 "parser.yy"7789 7781 { (yyval.tclass) = DeclarationNode::Ftype; } 7790 7782 break; … … 7793 7785 7794 7786 /* Line 1806 of yacc.c */ 7795 #line 18 35"parser.yy"7787 #line 1827 "parser.yy" 7796 7788 { (yyval.tclass) = DeclarationNode::Dtype; } 7797 7789 break; … … 7800 7792 7801 7793 /* Line 1806 of yacc.c */ 7802 #line 18 40"parser.yy"7794 #line 1832 "parser.yy" 7803 7795 { (yyval.decl) = 0; } 7804 7796 break; … … 7807 7799 7808 7800 /* Line 1806 of yacc.c */ 7809 #line 18 42"parser.yy"7801 #line 1834 "parser.yy" 7810 7802 { (yyval.decl) = (yyvsp[(1) - (2)].decl) == 0 ? (yyvsp[(2) - (2)].decl) : (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ); } 7811 7803 break; … … 7814 7806 7815 7807 /* Line 1806 of yacc.c */ 7816 #line 18 47"parser.yy"7808 #line 1839 "parser.yy" 7817 7809 { 7818 7810 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7824 7816 7825 7817 /* Line 1806 of yacc.c */ 7826 #line 18 52"parser.yy"7818 #line 1844 "parser.yy" 7827 7819 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7828 7820 break; … … 7831 7823 7832 7824 /* Line 1806 of yacc.c */ 7825 #line 1846 "parser.yy" 7826 { (yyval.decl) = 0; } 7827 break; 7828 7829 case 497: 7830 7831 /* Line 1806 of yacc.c */ 7832 #line 1851 "parser.yy" 7833 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7834 break; 7835 7836 case 499: 7837 7838 /* Line 1806 of yacc.c */ 7833 7839 #line 1854 "parser.yy" 7834 { (yyval.decl) = 0; }7835 break;7836 7837 case 497:7838 7839 /* Line 1806 of yacc.c */7840 #line 1859 "parser.yy"7841 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }7842 break;7843 7844 case 499:7845 7846 /* Line 1806 of yacc.c */7847 #line 1862 "parser.yy"7848 7840 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 7849 7841 break; … … 7852 7844 7853 7845 /* Line 1806 of yacc.c */ 7854 #line 18 64"parser.yy"7846 #line 1856 "parser.yy" 7855 7847 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 7856 7848 break; … … 7859 7851 7860 7852 /* Line 1806 of yacc.c */ 7861 #line 186 9"parser.yy"7853 #line 1861 "parser.yy" 7862 7854 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7863 7855 break; … … 7866 7858 7867 7859 /* Line 1806 of yacc.c */ 7868 #line 18 71"parser.yy"7860 #line 1863 "parser.yy" 7869 7861 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7870 7862 break; … … 7873 7865 7874 7866 /* Line 1806 of yacc.c */ 7875 #line 18 73"parser.yy"7867 #line 1865 "parser.yy" 7876 7868 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7877 7869 break; … … 7880 7872 7881 7873 /* Line 1806 of yacc.c */ 7882 #line 187 8"parser.yy"7874 #line 1870 "parser.yy" 7883 7875 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7884 7876 break; … … 7887 7879 7888 7880 /* Line 1806 of yacc.c */ 7889 #line 18 80"parser.yy"7881 #line 1872 "parser.yy" 7890 7882 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7891 7883 break; … … 7894 7886 7895 7887 /* Line 1806 of yacc.c */ 7896 #line 18 85"parser.yy"7888 #line 1877 "parser.yy" 7897 7889 { 7898 7890 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7904 7896 7905 7897 /* Line 1806 of yacc.c */ 7906 #line 18 90"parser.yy"7898 #line 1882 "parser.yy" 7907 7899 { 7908 7900 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7914 7906 7915 7907 /* Line 1806 of yacc.c */ 7916 #line 189 8"parser.yy"7908 #line 1890 "parser.yy" 7917 7909 { 7918 7910 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7924 7916 7925 7917 /* Line 1806 of yacc.c */ 7926 #line 1 903"parser.yy"7918 #line 1895 "parser.yy" 7927 7919 { 7928 7920 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7934 7926 7935 7927 /* Line 1806 of yacc.c */ 7936 #line 190 8"parser.yy"7928 #line 1900 "parser.yy" 7937 7929 { 7938 7930 typedefTable.leaveTrait(); … … 7945 7937 7946 7938 /* Line 1806 of yacc.c */ 7947 #line 191 8"parser.yy"7939 #line 1910 "parser.yy" 7948 7940 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7949 7941 break; … … 7952 7944 7953 7945 /* Line 1806 of yacc.c */ 7954 #line 192 8"parser.yy"7946 #line 1920 "parser.yy" 7955 7947 { 7956 7948 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7962 7954 7963 7955 /* Line 1806 of yacc.c */ 7964 #line 19 33"parser.yy"7956 #line 1925 "parser.yy" 7965 7957 { 7966 7958 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7972 7964 7973 7965 /* Line 1806 of yacc.c */ 7974 #line 193 8"parser.yy"7966 #line 1930 "parser.yy" 7975 7967 { 7976 7968 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7982 7974 7983 7975 /* Line 1806 of yacc.c */ 7984 #line 19 46"parser.yy"7976 #line 1938 "parser.yy" 7985 7977 { 7986 7978 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7992 7984 7993 7985 /* Line 1806 of yacc.c */ 7994 #line 19 51"parser.yy"7986 #line 1943 "parser.yy" 7995 7987 { 7996 7988 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 8002 7994 8003 7995 /* Line 1806 of yacc.c */ 8004 #line 19 61"parser.yy"7996 #line 1953 "parser.yy" 8005 7997 {} 8006 7998 break; … … 8009 8001 8010 8002 /* Line 1806 of yacc.c */ 8011 #line 19 63"parser.yy"8003 #line 1955 "parser.yy" 8012 8004 { 8013 8005 if ( theTree ) { … … 8022 8014 8023 8015 /* Line 1806 of yacc.c */ 8024 #line 19 75"parser.yy"8016 #line 1967 "parser.yy" 8025 8017 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 8026 8018 break; … … 8029 8021 8030 8022 /* Line 1806 of yacc.c */ 8023 #line 1972 "parser.yy" 8024 { (yyval.decl) = 0; } 8025 break; 8026 8027 case 528: 8028 8029 /* Line 1806 of yacc.c */ 8031 8030 #line 1980 "parser.yy" 8032 { (yyval.decl) = 0; }8033 break;8034 8035 case 528:8036 8037 /* Line 1806 of yacc.c */8038 #line 1988 "parser.yy"8039 8031 {} 8040 8032 break; … … 8043 8035 8044 8036 /* Line 1806 of yacc.c */ 8045 #line 19 90"parser.yy"8037 #line 1982 "parser.yy" 8046 8038 { 8047 8039 linkageStack.push( linkage ); … … 8053 8045 8054 8046 /* Line 1806 of yacc.c */ 8055 #line 19 95"parser.yy"8047 #line 1987 "parser.yy" 8056 8048 { 8057 8049 linkage = linkageStack.top(); … … 8064 8056 8065 8057 /* Line 1806 of yacc.c */ 8066 #line 2001 "parser.yy" 8067 { // mark all fields in list 8068 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) 8069 iter->set_extension( true ); 8070 (yyval.decl) = (yyvsp[(2) - (2)].decl); 8071 } 8058 #line 1993 "parser.yy" 8059 { (yyval.decl) = (yyvsp[(2) - (2)].decl)/*->set_extension( true )*/; } 8072 8060 break; 8073 8061 … … 8075 8063 8076 8064 /* Line 1806 of yacc.c */ 8077 #line 20 16"parser.yy"8065 #line 2004 "parser.yy" 8078 8066 { 8079 8067 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8086 8074 8087 8075 /* Line 1806 of yacc.c */ 8088 #line 20 22"parser.yy"8076 #line 2010 "parser.yy" 8089 8077 { 8090 8078 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8097 8085 8098 8086 /* Line 1806 of yacc.c */ 8099 #line 20 31"parser.yy"8087 #line 2019 "parser.yy" 8100 8088 { 8101 8089 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8108 8096 8109 8097 /* Line 1806 of yacc.c */ 8110 #line 20 37"parser.yy"8098 #line 2025 "parser.yy" 8111 8099 { 8112 8100 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8119 8107 8120 8108 /* Line 1806 of yacc.c */ 8121 #line 20 43"parser.yy"8109 #line 2031 "parser.yy" 8122 8110 { 8123 8111 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8130 8118 8131 8119 /* Line 1806 of yacc.c */ 8132 #line 20 49"parser.yy"8120 #line 2037 "parser.yy" 8133 8121 { 8134 8122 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8141 8129 8142 8130 /* Line 1806 of yacc.c */ 8143 #line 20 55"parser.yy"8131 #line 2043 "parser.yy" 8144 8132 { 8145 8133 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8152 8140 8153 8141 /* Line 1806 of yacc.c */ 8154 #line 20 63"parser.yy"8142 #line 2051 "parser.yy" 8155 8143 { 8156 8144 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8163 8151 8164 8152 /* Line 1806 of yacc.c */ 8165 #line 20 69"parser.yy"8153 #line 2057 "parser.yy" 8166 8154 { 8167 8155 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8174 8162 8175 8163 /* Line 1806 of yacc.c */ 8176 #line 20 77"parser.yy"8164 #line 2065 "parser.yy" 8177 8165 { 8178 8166 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8185 8173 8186 8174 /* Line 1806 of yacc.c */ 8187 #line 20 83"parser.yy"8175 #line 2071 "parser.yy" 8188 8176 { 8189 8177 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8196 8184 8197 8185 /* Line 1806 of yacc.c */ 8198 #line 20 98"parser.yy"8186 #line 2086 "parser.yy" 8199 8187 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 8200 8188 break; … … 8203 8191 8204 8192 /* Line 1806 of yacc.c */ 8205 #line 2 108"parser.yy"8193 #line 2096 "parser.yy" 8206 8194 { (yyval.decl) = 0; } 8207 8195 break; … … 8210 8198 8211 8199 /* Line 1806 of yacc.c */ 8212 #line 21 15"parser.yy"8200 #line 2103 "parser.yy" 8213 8201 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8214 8202 break; … … 8217 8205 8218 8206 /* Line 1806 of yacc.c */ 8219 #line 21 21"parser.yy"8207 #line 2109 "parser.yy" 8220 8208 { (yyval.decl) = 0; } 8221 8209 break; … … 8224 8212 8225 8213 /* Line 1806 of yacc.c */ 8226 #line 21 36"parser.yy"8214 #line 2124 "parser.yy" 8227 8215 {} 8228 8216 break; … … 8231 8219 8232 8220 /* Line 1806 of yacc.c */ 8233 #line 21 37"parser.yy"8221 #line 2125 "parser.yy" 8234 8222 {} 8235 8223 break; … … 8238 8226 8239 8227 /* Line 1806 of yacc.c */ 8240 #line 21 38"parser.yy"8228 #line 2126 "parser.yy" 8241 8229 {} 8242 8230 break; … … 8245 8233 8246 8234 /* Line 1806 of yacc.c */ 8247 #line 21 39"parser.yy"8235 #line 2127 "parser.yy" 8248 8236 {} 8249 8237 break; … … 8252 8240 8253 8241 /* Line 1806 of yacc.c */ 8254 #line 21 74"parser.yy"8242 #line 2162 "parser.yy" 8255 8243 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8256 8244 break; … … 8259 8247 8260 8248 /* Line 1806 of yacc.c */ 8261 #line 21 77"parser.yy"8249 #line 2165 "parser.yy" 8262 8250 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8263 8251 break; … … 8266 8254 8267 8255 /* Line 1806 of yacc.c */ 8268 #line 21 79"parser.yy"8256 #line 2167 "parser.yy" 8269 8257 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8270 8258 break; … … 8273 8261 8274 8262 /* Line 1806 of yacc.c */ 8275 #line 21 84"parser.yy"8263 #line 2172 "parser.yy" 8276 8264 { 8277 8265 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8283 8271 8284 8272 /* Line 1806 of yacc.c */ 8285 #line 21 89"parser.yy"8273 #line 2177 "parser.yy" 8286 8274 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8287 8275 break; … … 8290 8278 8291 8279 /* Line 1806 of yacc.c */ 8292 #line 21 94"parser.yy"8280 #line 2182 "parser.yy" 8293 8281 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8294 8282 break; … … 8297 8285 8298 8286 /* Line 1806 of yacc.c */ 8299 #line 21 96"parser.yy"8287 #line 2184 "parser.yy" 8300 8288 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8301 8289 break; … … 8304 8292 8305 8293 /* Line 1806 of yacc.c */ 8306 #line 21 98"parser.yy"8294 #line 2186 "parser.yy" 8307 8295 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8308 8296 break; … … 8311 8299 8312 8300 /* Line 1806 of yacc.c */ 8313 #line 2 203"parser.yy"8301 #line 2191 "parser.yy" 8314 8302 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8315 8303 break; … … 8318 8306 8319 8307 /* Line 1806 of yacc.c */ 8320 #line 2 205"parser.yy"8308 #line 2193 "parser.yy" 8321 8309 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8322 8310 break; … … 8325 8313 8326 8314 /* Line 1806 of yacc.c */ 8327 #line 2 207"parser.yy"8315 #line 2195 "parser.yy" 8328 8316 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8329 8317 break; … … 8332 8320 8333 8321 /* Line 1806 of yacc.c */ 8334 #line 2 209"parser.yy"8322 #line 2197 "parser.yy" 8335 8323 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8336 8324 break; … … 8339 8327 8340 8328 /* Line 1806 of yacc.c */ 8341 #line 22 14"parser.yy"8329 #line 2202 "parser.yy" 8342 8330 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8343 8331 break; … … 8346 8334 8347 8335 /* Line 1806 of yacc.c */ 8336 #line 2204 "parser.yy" 8337 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8338 break; 8339 8340 case 579: 8341 8342 /* Line 1806 of yacc.c */ 8343 #line 2213 "parser.yy" 8344 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8345 break; 8346 8347 case 581: 8348 8349 /* Line 1806 of yacc.c */ 8348 8350 #line 2216 "parser.yy" 8351 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8352 break; 8353 8354 case 582: 8355 8356 /* Line 1806 of yacc.c */ 8357 #line 2221 "parser.yy" 8358 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8359 break; 8360 8361 case 583: 8362 8363 /* Line 1806 of yacc.c */ 8364 #line 2223 "parser.yy" 8365 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8366 break; 8367 8368 case 584: 8369 8370 /* Line 1806 of yacc.c */ 8371 #line 2225 "parser.yy" 8349 8372 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8350 8373 break; 8351 8374 8352 case 579: 8353 8354 /* Line 1806 of yacc.c */ 8355 #line 2225 "parser.yy" 8375 case 585: 8376 8377 /* Line 1806 of yacc.c */ 8378 #line 2230 "parser.yy" 8379 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8380 break; 8381 8382 case 586: 8383 8384 /* Line 1806 of yacc.c */ 8385 #line 2232 "parser.yy" 8386 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8387 break; 8388 8389 case 587: 8390 8391 /* Line 1806 of yacc.c */ 8392 #line 2234 "parser.yy" 8393 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8394 break; 8395 8396 case 588: 8397 8398 /* Line 1806 of yacc.c */ 8399 #line 2239 "parser.yy" 8400 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8401 break; 8402 8403 case 589: 8404 8405 /* Line 1806 of yacc.c */ 8406 #line 2241 "parser.yy" 8407 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8408 break; 8409 8410 case 590: 8411 8412 /* Line 1806 of yacc.c */ 8413 #line 2243 "parser.yy" 8414 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8415 break; 8416 8417 case 594: 8418 8419 /* Line 1806 of yacc.c */ 8420 #line 2258 "parser.yy" 8421 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8422 break; 8423 8424 case 595: 8425 8426 /* Line 1806 of yacc.c */ 8427 #line 2260 "parser.yy" 8428 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8429 break; 8430 8431 case 596: 8432 8433 /* Line 1806 of yacc.c */ 8434 #line 2262 "parser.yy" 8435 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8436 break; 8437 8438 case 597: 8439 8440 /* Line 1806 of yacc.c */ 8441 #line 2267 "parser.yy" 8442 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8443 break; 8444 8445 case 598: 8446 8447 /* Line 1806 of yacc.c */ 8448 #line 2269 "parser.yy" 8449 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8450 break; 8451 8452 case 599: 8453 8454 /* Line 1806 of yacc.c */ 8455 #line 2271 "parser.yy" 8456 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8457 break; 8458 8459 case 600: 8460 8461 /* Line 1806 of yacc.c */ 8462 #line 2276 "parser.yy" 8463 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8464 break; 8465 8466 case 601: 8467 8468 /* Line 1806 of yacc.c */ 8469 #line 2278 "parser.yy" 8470 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8471 break; 8472 8473 case 602: 8474 8475 /* Line 1806 of yacc.c */ 8476 #line 2280 "parser.yy" 8477 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8478 break; 8479 8480 case 603: 8481 8482 /* Line 1806 of yacc.c */ 8483 #line 2295 "parser.yy" 8356 8484 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8357 8485 break; 8358 8486 8359 case 581:8360 8361 /* Line 1806 of yacc.c */ 8362 #line 22 28 "parser.yy"8487 case 605: 8488 8489 /* Line 1806 of yacc.c */ 8490 #line 2298 "parser.yy" 8363 8491 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8364 8492 break; 8365 8493 8366 case 582: 8367 8368 /* Line 1806 of yacc.c */ 8369 #line 2233 "parser.yy" 8494 case 606: 8495 8496 /* Line 1806 of yacc.c */ 8497 #line 2300 "parser.yy" 8498 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8499 break; 8500 8501 case 608: 8502 8503 /* Line 1806 of yacc.c */ 8504 #line 2306 "parser.yy" 8505 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8506 break; 8507 8508 case 609: 8509 8510 /* Line 1806 of yacc.c */ 8511 #line 2311 "parser.yy" 8512 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8513 break; 8514 8515 case 610: 8516 8517 /* Line 1806 of yacc.c */ 8518 #line 2313 "parser.yy" 8519 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8520 break; 8521 8522 case 611: 8523 8524 /* Line 1806 of yacc.c */ 8525 #line 2315 "parser.yy" 8526 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8527 break; 8528 8529 case 612: 8530 8531 /* Line 1806 of yacc.c */ 8532 #line 2320 "parser.yy" 8533 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8534 break; 8535 8536 case 613: 8537 8538 /* Line 1806 of yacc.c */ 8539 #line 2322 "parser.yy" 8540 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8541 break; 8542 8543 case 614: 8544 8545 /* Line 1806 of yacc.c */ 8546 #line 2324 "parser.yy" 8547 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8548 break; 8549 8550 case 615: 8551 8552 /* Line 1806 of yacc.c */ 8553 #line 2326 "parser.yy" 8554 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8555 break; 8556 8557 case 616: 8558 8559 /* Line 1806 of yacc.c */ 8560 #line 2331 "parser.yy" 8370 8561 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8371 8562 break; 8372 8563 8373 case 583:8374 8375 /* Line 1806 of yacc.c */ 8376 #line 2 235"parser.yy"8564 case 617: 8565 8566 /* Line 1806 of yacc.c */ 8567 #line 2333 "parser.yy" 8377 8568 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8378 8569 break; 8379 8570 8380 case 584:8381 8382 /* Line 1806 of yacc.c */ 8383 #line 2 237"parser.yy"8571 case 618: 8572 8573 /* Line 1806 of yacc.c */ 8574 #line 2335 "parser.yy" 8384 8575 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8385 8576 break; 8386 8577 8387 case 585: 8388 8389 /* Line 1806 of yacc.c */ 8390 #line 2242 "parser.yy" 8578 case 619: 8579 8580 /* Line 1806 of yacc.c */ 8581 #line 2345 "parser.yy" 8582 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8583 break; 8584 8585 case 621: 8586 8587 /* Line 1806 of yacc.c */ 8588 #line 2348 "parser.yy" 8589 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8590 break; 8591 8592 case 622: 8593 8594 /* Line 1806 of yacc.c */ 8595 #line 2350 "parser.yy" 8596 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8597 break; 8598 8599 case 623: 8600 8601 /* Line 1806 of yacc.c */ 8602 #line 2355 "parser.yy" 8391 8603 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8392 8604 break; 8393 8605 8394 case 586:8395 8396 /* Line 1806 of yacc.c */ 8397 #line 2 244"parser.yy"8606 case 624: 8607 8608 /* Line 1806 of yacc.c */ 8609 #line 2357 "parser.yy" 8398 8610 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8399 8611 break; 8400 8612 8401 case 587:8402 8403 /* Line 1806 of yacc.c */ 8404 #line 2 246"parser.yy"8613 case 625: 8614 8615 /* Line 1806 of yacc.c */ 8616 #line 2359 "parser.yy" 8405 8617 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8406 8618 break; 8407 8619 8408 case 588: 8409 8410 /* Line 1806 of yacc.c */ 8411 #line 2251 "parser.yy" 8620 case 626: 8621 8622 /* Line 1806 of yacc.c */ 8623 #line 2364 "parser.yy" 8624 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8625 break; 8626 8627 case 627: 8628 8629 /* Line 1806 of yacc.c */ 8630 #line 2366 "parser.yy" 8412 8631 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8413 8632 break; 8414 8633 8415 case 589:8416 8417 /* Line 1806 of yacc.c */ 8418 #line 2 253"parser.yy"8634 case 628: 8635 8636 /* Line 1806 of yacc.c */ 8637 #line 2368 "parser.yy" 8419 8638 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8420 8639 break; 8421 8640 8422 case 590:8423 8424 /* Line 1806 of yacc.c */ 8425 #line 2 255"parser.yy"8641 case 629: 8642 8643 /* Line 1806 of yacc.c */ 8644 #line 2370 "parser.yy" 8426 8645 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8427 8646 break; 8428 8647 8429 case 594:8430 8431 /* Line 1806 of yacc.c */ 8432 #line 2 270"parser.yy"8433 { (yyval.decl) = (yyvsp[(1) - ( 4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); }8434 break; 8435 8436 case 595:8437 8438 /* Line 1806 of yacc.c */ 8439 #line 2 272"parser.yy"8440 { (yyval.decl) = (yyvsp[(2) - ( 6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); }8441 break; 8442 8443 case 596:8444 8445 /* Line 1806 of yacc.c */ 8446 #line 2 274"parser.yy"8648 case 630: 8649 8650 /* Line 1806 of yacc.c */ 8651 #line 2375 "parser.yy" 8652 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8653 break; 8654 8655 case 631: 8656 8657 /* Line 1806 of yacc.c */ 8658 #line 2377 "parser.yy" 8659 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8660 break; 8661 8662 case 632: 8663 8664 /* Line 1806 of yacc.c */ 8665 #line 2379 "parser.yy" 8447 8666 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8448 8667 break; 8449 8668 8450 case 597: 8451 8452 /* Line 1806 of yacc.c */ 8453 #line 2279 "parser.yy" 8454 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8455 break; 8456 8457 case 598: 8458 8459 /* Line 1806 of yacc.c */ 8460 #line 2281 "parser.yy" 8461 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8462 break; 8463 8464 case 599: 8465 8466 /* Line 1806 of yacc.c */ 8467 #line 2283 "parser.yy" 8468 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8469 break; 8470 8471 case 600: 8472 8473 /* Line 1806 of yacc.c */ 8474 #line 2288 "parser.yy" 8475 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8476 break; 8477 8478 case 601: 8479 8480 /* Line 1806 of yacc.c */ 8481 #line 2290 "parser.yy" 8482 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8483 break; 8484 8485 case 602: 8486 8487 /* Line 1806 of yacc.c */ 8488 #line 2292 "parser.yy" 8489 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8490 break; 8491 8492 case 603: 8493 8494 /* Line 1806 of yacc.c */ 8495 #line 2307 "parser.yy" 8669 case 633: 8670 8671 /* Line 1806 of yacc.c */ 8672 #line 2410 "parser.yy" 8496 8673 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8497 8674 break; 8498 8675 8499 case 6 05:8500 8501 /* Line 1806 of yacc.c */ 8502 #line 2 310"parser.yy"8676 case 635: 8677 8678 /* Line 1806 of yacc.c */ 8679 #line 2413 "parser.yy" 8503 8680 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8504 8681 break; 8505 8682 8506 case 6 06:8507 8508 /* Line 1806 of yacc.c */ 8509 #line 2 312"parser.yy"8683 case 636: 8684 8685 /* Line 1806 of yacc.c */ 8686 #line 2415 "parser.yy" 8510 8687 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8511 8688 break; 8512 8689 8513 case 608:8514 8515 /* Line 1806 of yacc.c */8516 #line 2318 "parser.yy"8517 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8518 break;8519 8520 case 609:8521 8522 /* Line 1806 of yacc.c */8523 #line 2323 "parser.yy"8524 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8525 break;8526 8527 case 610:8528 8529 /* Line 1806 of yacc.c */8530 #line 2325 "parser.yy"8531 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8532 break;8533 8534 case 611:8535 8536 /* Line 1806 of yacc.c */8537 #line 2327 "parser.yy"8538 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8539 break;8540 8541 case 612:8542 8543 /* Line 1806 of yacc.c */8544 #line 2332 "parser.yy"8545 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8546 break;8547 8548 case 613:8549 8550 /* Line 1806 of yacc.c */8551 #line 2334 "parser.yy"8552 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8553 break;8554 8555 case 614:8556 8557 /* Line 1806 of yacc.c */8558 #line 2336 "parser.yy"8559 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8560 break;8561 8562 case 615:8563 8564 /* Line 1806 of yacc.c */8565 #line 2338 "parser.yy"8566 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8567 break;8568 8569 case 616:8570 8571 /* Line 1806 of yacc.c */8572 #line 2343 "parser.yy"8573 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8574 break;8575 8576 case 617:8577 8578 /* Line 1806 of yacc.c */8579 #line 2345 "parser.yy"8580 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8581 break;8582 8583 case 618:8584 8585 /* Line 1806 of yacc.c */8586 #line 2347 "parser.yy"8587 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8588 break;8589 8590 case 619:8591 8592 /* Line 1806 of yacc.c */8593 #line 2357 "parser.yy"8594 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8595 break;8596 8597 case 621:8598 8599 /* Line 1806 of yacc.c */8600 #line 2360 "parser.yy"8601 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8602 break;8603 8604 case 622:8605 8606 /* Line 1806 of yacc.c */8607 #line 2362 "parser.yy"8608 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8609 break;8610 8611 case 623:8612 8613 /* Line 1806 of yacc.c */8614 #line 2367 "parser.yy"8615 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); }8616 break;8617 8618 case 624:8619 8620 /* Line 1806 of yacc.c */8621 #line 2369 "parser.yy"8622 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); }8623 break;8624 8625 case 625:8626 8627 /* Line 1806 of yacc.c */8628 #line 2371 "parser.yy"8629 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8630 break;8631 8632 case 626:8633 8634 /* Line 1806 of yacc.c */8635 #line 2376 "parser.yy"8636 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); }8637 break;8638 8639 case 627:8640 8641 /* Line 1806 of yacc.c */8642 #line 2378 "parser.yy"8643 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8644 break;8645 8646 case 628:8647 8648 /* Line 1806 of yacc.c */8649 #line 2380 "parser.yy"8650 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); }8651 break;8652 8653 case 629:8654 8655 /* Line 1806 of yacc.c */8656 #line 2382 "parser.yy"8657 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8658 break;8659 8660 case 630:8661 8662 /* Line 1806 of yacc.c */8663 #line 2387 "parser.yy"8664 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); }8665 break;8666 8667 case 631:8668 8669 /* Line 1806 of yacc.c */8670 #line 2389 "parser.yy"8671 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); }8672 break;8673 8674 case 632:8675 8676 /* Line 1806 of yacc.c */8677 #line 2391 "parser.yy"8678 { (yyval.decl) = (yyvsp[(2) - (3)].decl); }8679 break;8680 8681 case 633:8682 8683 /* Line 1806 of yacc.c */8684 #line 2422 "parser.yy"8685 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8686 break;8687 8688 case 635:8689 8690 /* Line 1806 of yacc.c */8691 #line 2425 "parser.yy"8692 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8693 break;8694 8695 case 636:8696 8697 /* Line 1806 of yacc.c */8698 #line 2427 "parser.yy"8699 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8700 break;8701 8702 8690 case 637: 8703 8691 8704 8692 /* Line 1806 of yacc.c */ 8705 #line 24 32"parser.yy"8693 #line 2420 "parser.yy" 8706 8694 { 8707 8695 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8713 8701 8714 8702 /* Line 1806 of yacc.c */ 8715 #line 24 37"parser.yy"8703 #line 2425 "parser.yy" 8716 8704 { 8717 8705 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8723 8711 8724 8712 /* Line 1806 of yacc.c */ 8725 #line 24 45"parser.yy"8713 #line 2433 "parser.yy" 8726 8714 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8727 8715 break; … … 8730 8718 8731 8719 /* Line 1806 of yacc.c */ 8732 #line 24 47"parser.yy"8720 #line 2435 "parser.yy" 8733 8721 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8734 8722 break; … … 8737 8725 8738 8726 /* Line 1806 of yacc.c */ 8727 #line 2437 "parser.yy" 8728 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8729 break; 8730 8731 case 642: 8732 8733 /* Line 1806 of yacc.c */ 8734 #line 2442 "parser.yy" 8735 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8736 break; 8737 8738 case 643: 8739 8740 /* Line 1806 of yacc.c */ 8741 #line 2444 "parser.yy" 8742 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8743 break; 8744 8745 case 644: 8746 8747 /* Line 1806 of yacc.c */ 8739 8748 #line 2449 "parser.yy" 8749 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8750 break; 8751 8752 case 645: 8753 8754 /* Line 1806 of yacc.c */ 8755 #line 2451 "parser.yy" 8756 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8757 break; 8758 8759 case 647: 8760 8761 /* Line 1806 of yacc.c */ 8762 #line 2466 "parser.yy" 8763 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8764 break; 8765 8766 case 648: 8767 8768 /* Line 1806 of yacc.c */ 8769 #line 2468 "parser.yy" 8770 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8771 break; 8772 8773 case 649: 8774 8775 /* Line 1806 of yacc.c */ 8776 #line 2473 "parser.yy" 8777 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8778 break; 8779 8780 case 650: 8781 8782 /* Line 1806 of yacc.c */ 8783 #line 2475 "parser.yy" 8784 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8785 break; 8786 8787 case 651: 8788 8789 /* Line 1806 of yacc.c */ 8790 #line 2477 "parser.yy" 8791 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8792 break; 8793 8794 case 652: 8795 8796 /* Line 1806 of yacc.c */ 8797 #line 2479 "parser.yy" 8798 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8799 break; 8800 8801 case 653: 8802 8803 /* Line 1806 of yacc.c */ 8804 #line 2481 "parser.yy" 8740 8805 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8741 8806 break; 8742 8807 8743 case 642: 8744 8745 /* Line 1806 of yacc.c */ 8746 #line 2454 "parser.yy" 8808 case 655: 8809 8810 /* Line 1806 of yacc.c */ 8811 #line 2487 "parser.yy" 8812 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8813 break; 8814 8815 case 656: 8816 8817 /* Line 1806 of yacc.c */ 8818 #line 2489 "parser.yy" 8819 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8820 break; 8821 8822 case 657: 8823 8824 /* Line 1806 of yacc.c */ 8825 #line 2491 "parser.yy" 8826 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8827 break; 8828 8829 case 658: 8830 8831 /* Line 1806 of yacc.c */ 8832 #line 2496 "parser.yy" 8833 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8834 break; 8835 8836 case 659: 8837 8838 /* Line 1806 of yacc.c */ 8839 #line 2498 "parser.yy" 8840 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8841 break; 8842 8843 case 660: 8844 8845 /* Line 1806 of yacc.c */ 8846 #line 2500 "parser.yy" 8847 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8848 break; 8849 8850 case 661: 8851 8852 /* Line 1806 of yacc.c */ 8853 #line 2506 "parser.yy" 8854 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8855 break; 8856 8857 case 662: 8858 8859 /* Line 1806 of yacc.c */ 8860 #line 2508 "parser.yy" 8861 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8862 break; 8863 8864 case 664: 8865 8866 /* Line 1806 of yacc.c */ 8867 #line 2514 "parser.yy" 8868 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8869 break; 8870 8871 case 665: 8872 8873 /* Line 1806 of yacc.c */ 8874 #line 2516 "parser.yy" 8875 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8876 break; 8877 8878 case 666: 8879 8880 /* Line 1806 of yacc.c */ 8881 #line 2518 "parser.yy" 8882 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8883 break; 8884 8885 case 667: 8886 8887 /* Line 1806 of yacc.c */ 8888 #line 2520 "parser.yy" 8889 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8890 break; 8891 8892 case 669: 8893 8894 /* Line 1806 of yacc.c */ 8895 #line 2535 "parser.yy" 8896 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8897 break; 8898 8899 case 670: 8900 8901 /* Line 1806 of yacc.c */ 8902 #line 2537 "parser.yy" 8903 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8904 break; 8905 8906 case 671: 8907 8908 /* Line 1806 of yacc.c */ 8909 #line 2542 "parser.yy" 8910 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8911 break; 8912 8913 case 672: 8914 8915 /* Line 1806 of yacc.c */ 8916 #line 2544 "parser.yy" 8917 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8918 break; 8919 8920 case 673: 8921 8922 /* Line 1806 of yacc.c */ 8923 #line 2546 "parser.yy" 8924 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8925 break; 8926 8927 case 674: 8928 8929 /* Line 1806 of yacc.c */ 8930 #line 2548 "parser.yy" 8931 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8932 break; 8933 8934 case 675: 8935 8936 /* Line 1806 of yacc.c */ 8937 #line 2550 "parser.yy" 8938 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8939 break; 8940 8941 case 677: 8942 8943 /* Line 1806 of yacc.c */ 8944 #line 2556 "parser.yy" 8945 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8946 break; 8947 8948 case 678: 8949 8950 /* Line 1806 of yacc.c */ 8951 #line 2558 "parser.yy" 8952 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8953 break; 8954 8955 case 679: 8956 8957 /* Line 1806 of yacc.c */ 8958 #line 2560 "parser.yy" 8959 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8960 break; 8961 8962 case 680: 8963 8964 /* Line 1806 of yacc.c */ 8965 #line 2565 "parser.yy" 8966 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8967 break; 8968 8969 case 681: 8970 8971 /* Line 1806 of yacc.c */ 8972 #line 2567 "parser.yy" 8973 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8974 break; 8975 8976 case 682: 8977 8978 /* Line 1806 of yacc.c */ 8979 #line 2569 "parser.yy" 8980 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8981 break; 8982 8983 case 684: 8984 8985 /* Line 1806 of yacc.c */ 8986 #line 2576 "parser.yy" 8747 8987 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8748 8988 break; 8749 8989 8750 case 643: 8751 8752 /* Line 1806 of yacc.c */ 8753 #line 2456 "parser.yy" 8990 case 686: 8991 8992 /* Line 1806 of yacc.c */ 8993 #line 2587 "parser.yy" 8994 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8995 break; 8996 8997 case 687: 8998 8999 /* Line 1806 of yacc.c */ 9000 #line 2590 "parser.yy" 9001 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9002 break; 9003 9004 case 688: 9005 9006 /* Line 1806 of yacc.c */ 9007 #line 2592 "parser.yy" 9008 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 9009 break; 9010 9011 case 689: 9012 9013 /* Line 1806 of yacc.c */ 9014 #line 2595 "parser.yy" 9015 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9016 break; 9017 9018 case 690: 9019 9020 /* Line 1806 of yacc.c */ 9021 #line 2597 "parser.yy" 9022 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 9023 break; 9024 9025 case 691: 9026 9027 /* Line 1806 of yacc.c */ 9028 #line 2599 "parser.yy" 9029 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 9030 break; 9031 9032 case 693: 9033 9034 /* Line 1806 of yacc.c */ 9035 #line 2613 "parser.yy" 9036 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9037 break; 9038 9039 case 694: 9040 9041 /* Line 1806 of yacc.c */ 9042 #line 2615 "parser.yy" 9043 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9044 break; 9045 9046 case 695: 9047 9048 /* Line 1806 of yacc.c */ 9049 #line 2620 "parser.yy" 9050 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 9051 break; 9052 9053 case 696: 9054 9055 /* Line 1806 of yacc.c */ 9056 #line 2622 "parser.yy" 9057 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 9058 break; 9059 9060 case 697: 9061 9062 /* Line 1806 of yacc.c */ 9063 #line 2624 "parser.yy" 9064 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 9065 break; 9066 9067 case 698: 9068 9069 /* Line 1806 of yacc.c */ 9070 #line 2626 "parser.yy" 9071 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 9072 break; 9073 9074 case 699: 9075 9076 /* Line 1806 of yacc.c */ 9077 #line 2628 "parser.yy" 9078 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9079 break; 9080 9081 case 701: 9082 9083 /* Line 1806 of yacc.c */ 9084 #line 2634 "parser.yy" 8754 9085 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8755 9086 break; 8756 9087 8757 case 644: 8758 8759 /* Line 1806 of yacc.c */ 8760 #line 2461 "parser.yy" 8761 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8762 break; 8763 8764 case 645: 8765 8766 /* Line 1806 of yacc.c */ 8767 #line 2463 "parser.yy" 9088 case 702: 9089 9090 /* Line 1806 of yacc.c */ 9091 #line 2636 "parser.yy" 9092 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9093 break; 9094 9095 case 703: 9096 9097 /* Line 1806 of yacc.c */ 9098 #line 2638 "parser.yy" 9099 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9100 break; 9101 9102 case 704: 9103 9104 /* Line 1806 of yacc.c */ 9105 #line 2643 "parser.yy" 8768 9106 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8769 9107 break; 8770 9108 8771 case 647: 8772 8773 /* Line 1806 of yacc.c */ 8774 #line 2478 "parser.yy" 8775 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8776 break; 8777 8778 case 648: 8779 8780 /* Line 1806 of yacc.c */ 8781 #line 2480 "parser.yy" 8782 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8783 break; 8784 8785 case 649: 8786 8787 /* Line 1806 of yacc.c */ 8788 #line 2485 "parser.yy" 8789 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8790 break; 8791 8792 case 650: 8793 8794 /* Line 1806 of yacc.c */ 8795 #line 2487 "parser.yy" 8796 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8797 break; 8798 8799 case 651: 8800 8801 /* Line 1806 of yacc.c */ 8802 #line 2489 "parser.yy" 8803 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8804 break; 8805 8806 case 652: 8807 8808 /* Line 1806 of yacc.c */ 8809 #line 2491 "parser.yy" 8810 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8811 break; 8812 8813 case 653: 8814 8815 /* Line 1806 of yacc.c */ 8816 #line 2493 "parser.yy" 9109 case 705: 9110 9111 /* Line 1806 of yacc.c */ 9112 #line 2645 "parser.yy" 8817 9113 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8818 9114 break; 8819 9115 8820 case 655: 8821 8822 /* Line 1806 of yacc.c */ 8823 #line 2499 "parser.yy" 8824 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8825 break; 8826 8827 case 656: 8828 8829 /* Line 1806 of yacc.c */ 8830 #line 2501 "parser.yy" 8831 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8832 break; 8833 8834 case 657: 8835 8836 /* Line 1806 of yacc.c */ 8837 #line 2503 "parser.yy" 8838 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8839 break; 8840 8841 case 658: 8842 8843 /* Line 1806 of yacc.c */ 8844 #line 2508 "parser.yy" 8845 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8846 break; 8847 8848 case 659: 8849 8850 /* Line 1806 of yacc.c */ 8851 #line 2510 "parser.yy" 8852 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8853 break; 8854 8855 case 660: 8856 8857 /* Line 1806 of yacc.c */ 8858 #line 2512 "parser.yy" 8859 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8860 break; 8861 8862 case 661: 8863 8864 /* Line 1806 of yacc.c */ 8865 #line 2518 "parser.yy" 8866 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8867 break; 8868 8869 case 662: 8870 8871 /* Line 1806 of yacc.c */ 8872 #line 2520 "parser.yy" 8873 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8874 break; 8875 8876 case 664: 8877 8878 /* Line 1806 of yacc.c */ 8879 #line 2526 "parser.yy" 8880 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8881 break; 8882 8883 case 665: 8884 8885 /* Line 1806 of yacc.c */ 8886 #line 2528 "parser.yy" 8887 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8888 break; 8889 8890 case 666: 8891 8892 /* Line 1806 of yacc.c */ 8893 #line 2530 "parser.yy" 8894 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8895 break; 8896 8897 case 667: 8898 8899 /* Line 1806 of yacc.c */ 8900 #line 2532 "parser.yy" 8901 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8902 break; 8903 8904 case 669: 8905 8906 /* Line 1806 of yacc.c */ 8907 #line 2547 "parser.yy" 8908 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8909 break; 8910 8911 case 670: 8912 8913 /* Line 1806 of yacc.c */ 8914 #line 2549 "parser.yy" 8915 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8916 break; 8917 8918 case 671: 8919 8920 /* Line 1806 of yacc.c */ 8921 #line 2554 "parser.yy" 8922 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8923 break; 8924 8925 case 672: 8926 8927 /* Line 1806 of yacc.c */ 8928 #line 2556 "parser.yy" 8929 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8930 break; 8931 8932 case 673: 8933 8934 /* Line 1806 of yacc.c */ 8935 #line 2558 "parser.yy" 8936 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8937 break; 8938 8939 case 674: 8940 8941 /* Line 1806 of yacc.c */ 8942 #line 2560 "parser.yy" 8943 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8944 break; 8945 8946 case 675: 8947 8948 /* Line 1806 of yacc.c */ 8949 #line 2562 "parser.yy" 8950 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8951 break; 8952 8953 case 677: 8954 8955 /* Line 1806 of yacc.c */ 8956 #line 2568 "parser.yy" 8957 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8958 break; 8959 8960 case 678: 8961 8962 /* Line 1806 of yacc.c */ 8963 #line 2570 "parser.yy" 8964 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8965 break; 8966 8967 case 679: 8968 8969 /* Line 1806 of yacc.c */ 8970 #line 2572 "parser.yy" 8971 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8972 break; 8973 8974 case 680: 8975 8976 /* Line 1806 of yacc.c */ 8977 #line 2577 "parser.yy" 8978 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8979 break; 8980 8981 case 681: 8982 8983 /* Line 1806 of yacc.c */ 8984 #line 2579 "parser.yy" 8985 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8986 break; 8987 8988 case 682: 8989 8990 /* Line 1806 of yacc.c */ 8991 #line 2581 "parser.yy" 8992 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8993 break; 8994 8995 case 684: 8996 8997 /* Line 1806 of yacc.c */ 8998 #line 2588 "parser.yy" 8999 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 9000 break; 9001 9002 case 686: 9003 9004 /* Line 1806 of yacc.c */ 9005 #line 2599 "parser.yy" 9006 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 9007 break; 9008 9009 case 687: 9010 9011 /* Line 1806 of yacc.c */ 9012 #line 2602 "parser.yy" 9116 case 708: 9117 9118 /* Line 1806 of yacc.c */ 9119 #line 2655 "parser.yy" 9120 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9121 break; 9122 9123 case 711: 9124 9125 /* Line 1806 of yacc.c */ 9126 #line 2665 "parser.yy" 9127 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9128 break; 9129 9130 case 712: 9131 9132 /* Line 1806 of yacc.c */ 9133 #line 2667 "parser.yy" 9134 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9135 break; 9136 9137 case 713: 9138 9139 /* Line 1806 of yacc.c */ 9140 #line 2669 "parser.yy" 9141 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9142 break; 9143 9144 case 714: 9145 9146 /* Line 1806 of yacc.c */ 9147 #line 2671 "parser.yy" 9148 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9149 break; 9150 9151 case 715: 9152 9153 /* Line 1806 of yacc.c */ 9154 #line 2673 "parser.yy" 9155 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9156 break; 9157 9158 case 716: 9159 9160 /* Line 1806 of yacc.c */ 9161 #line 2675 "parser.yy" 9162 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9163 break; 9164 9165 case 717: 9166 9167 /* Line 1806 of yacc.c */ 9168 #line 2682 "parser.yy" 9169 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9170 break; 9171 9172 case 718: 9173 9174 /* Line 1806 of yacc.c */ 9175 #line 2684 "parser.yy" 9176 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9177 break; 9178 9179 case 719: 9180 9181 /* Line 1806 of yacc.c */ 9182 #line 2686 "parser.yy" 9183 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9184 break; 9185 9186 case 720: 9187 9188 /* Line 1806 of yacc.c */ 9189 #line 2688 "parser.yy" 9190 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9191 break; 9192 9193 case 721: 9194 9195 /* Line 1806 of yacc.c */ 9196 #line 2690 "parser.yy" 9197 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9198 break; 9199 9200 case 722: 9201 9202 /* Line 1806 of yacc.c */ 9203 #line 2692 "parser.yy" 9204 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9205 break; 9206 9207 case 723: 9208 9209 /* Line 1806 of yacc.c */ 9210 #line 2694 "parser.yy" 9211 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9212 break; 9213 9214 case 724: 9215 9216 /* Line 1806 of yacc.c */ 9217 #line 2696 "parser.yy" 9218 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9219 break; 9220 9221 case 725: 9222 9223 /* Line 1806 of yacc.c */ 9224 #line 2698 "parser.yy" 9225 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9226 break; 9227 9228 case 726: 9229 9230 /* Line 1806 of yacc.c */ 9231 #line 2700 "parser.yy" 9232 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9233 break; 9234 9235 case 727: 9236 9237 /* Line 1806 of yacc.c */ 9238 #line 2705 "parser.yy" 9013 9239 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9014 9240 break; 9015 9241 9016 case 688: 9017 9018 /* Line 1806 of yacc.c */ 9019 #line 2604 "parser.yy" 9020 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 9021 break; 9022 9023 case 689: 9024 9025 /* Line 1806 of yacc.c */ 9026 #line 2607 "parser.yy" 9242 case 728: 9243 9244 /* Line 1806 of yacc.c */ 9245 #line 2707 "parser.yy" 9027 9246 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9028 9247 break; 9029 9248 9030 case 690: 9031 9032 /* Line 1806 of yacc.c */ 9033 #line 2609 "parser.yy" 9034 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 9035 break; 9036 9037 case 691: 9038 9039 /* Line 1806 of yacc.c */ 9040 #line 2611 "parser.yy" 9041 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 9042 break; 9043 9044 case 693: 9045 9046 /* Line 1806 of yacc.c */ 9047 #line 2625 "parser.yy" 9048 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9049 break; 9050 9051 case 694: 9052 9053 /* Line 1806 of yacc.c */ 9054 #line 2627 "parser.yy" 9055 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9056 break; 9057 9058 case 695: 9059 9060 /* Line 1806 of yacc.c */ 9061 #line 2632 "parser.yy" 9062 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 9063 break; 9064 9065 case 696: 9066 9067 /* Line 1806 of yacc.c */ 9068 #line 2634 "parser.yy" 9069 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 9070 break; 9071 9072 case 697: 9073 9074 /* Line 1806 of yacc.c */ 9075 #line 2636 "parser.yy" 9076 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 9077 break; 9078 9079 case 698: 9080 9081 /* Line 1806 of yacc.c */ 9082 #line 2638 "parser.yy" 9083 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 9084 break; 9085 9086 case 699: 9087 9088 /* Line 1806 of yacc.c */ 9089 #line 2640 "parser.yy" 9090 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9091 break; 9092 9093 case 701: 9094 9095 /* Line 1806 of yacc.c */ 9096 #line 2646 "parser.yy" 9097 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9098 break; 9099 9100 case 702: 9101 9102 /* Line 1806 of yacc.c */ 9103 #line 2648 "parser.yy" 9104 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9105 break; 9106 9107 case 703: 9108 9109 /* Line 1806 of yacc.c */ 9110 #line 2650 "parser.yy" 9111 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9112 break; 9113 9114 case 704: 9115 9116 /* Line 1806 of yacc.c */ 9117 #line 2655 "parser.yy" 9118 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 9119 break; 9120 9121 case 705: 9122 9123 /* Line 1806 of yacc.c */ 9124 #line 2657 "parser.yy" 9125 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9126 break; 9127 9128 case 708: 9129 9130 /* Line 1806 of yacc.c */ 9131 #line 2667 "parser.yy" 9249 case 729: 9250 9251 /* Line 1806 of yacc.c */ 9252 #line 2712 "parser.yy" 9253 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9254 break; 9255 9256 case 730: 9257 9258 /* Line 1806 of yacc.c */ 9259 #line 2714 "parser.yy" 9260 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9261 break; 9262 9263 case 732: 9264 9265 /* Line 1806 of yacc.c */ 9266 #line 2741 "parser.yy" 9132 9267 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9133 9268 break; 9134 9269 9135 case 7 11:9136 9137 /* Line 1806 of yacc.c */ 9138 #line 2 677"parser.yy"9270 case 736: 9271 9272 /* Line 1806 of yacc.c */ 9273 #line 2752 "parser.yy" 9139 9274 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9140 9275 break; 9141 9276 9142 case 7 12:9143 9144 /* Line 1806 of yacc.c */ 9145 #line 2 679"parser.yy"9277 case 737: 9278 9279 /* Line 1806 of yacc.c */ 9280 #line 2754 "parser.yy" 9146 9281 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9147 9282 break; 9148 9283 9149 case 7 13:9150 9151 /* Line 1806 of yacc.c */ 9152 #line 2 681"parser.yy"9284 case 738: 9285 9286 /* Line 1806 of yacc.c */ 9287 #line 2756 "parser.yy" 9153 9288 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9154 9289 break; 9155 9290 9156 case 7 14:9157 9158 /* Line 1806 of yacc.c */ 9159 #line 2 683"parser.yy"9291 case 739: 9292 9293 /* Line 1806 of yacc.c */ 9294 #line 2758 "parser.yy" 9160 9295 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9161 9296 break; 9162 9297 9163 case 7 15:9164 9165 /* Line 1806 of yacc.c */ 9166 #line 2 685"parser.yy"9298 case 740: 9299 9300 /* Line 1806 of yacc.c */ 9301 #line 2760 "parser.yy" 9167 9302 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9168 9303 break; 9169 9304 9170 case 7 16:9171 9172 /* Line 1806 of yacc.c */ 9173 #line 2 687"parser.yy"9305 case 741: 9306 9307 /* Line 1806 of yacc.c */ 9308 #line 2762 "parser.yy" 9174 9309 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9175 9310 break; 9176 9311 9177 case 7 17:9178 9179 /* Line 1806 of yacc.c */ 9180 #line 2 694"parser.yy"9312 case 742: 9313 9314 /* Line 1806 of yacc.c */ 9315 #line 2769 "parser.yy" 9181 9316 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9182 9317 break; 9183 9318 9184 case 718: 9185 9186 /* Line 1806 of yacc.c */ 9187 #line 2696 "parser.yy" 9319 case 743: 9320 9321 /* Line 1806 of yacc.c */ 9322 #line 2771 "parser.yy" 9323 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9324 break; 9325 9326 case 744: 9327 9328 /* Line 1806 of yacc.c */ 9329 #line 2773 "parser.yy" 9188 9330 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9189 9331 break; 9190 9332 9191 case 719: 9192 9193 /* Line 1806 of yacc.c */ 9194 #line 2698 "parser.yy" 9333 case 745: 9334 9335 /* Line 1806 of yacc.c */ 9336 #line 2775 "parser.yy" 9337 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9338 break; 9339 9340 case 746: 9341 9342 /* Line 1806 of yacc.c */ 9343 #line 2777 "parser.yy" 9195 9344 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9196 9345 break; 9197 9346 9198 case 720: 9199 9200 /* Line 1806 of yacc.c */ 9201 #line 2700 "parser.yy" 9202 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9203 break; 9204 9205 case 721: 9206 9207 /* Line 1806 of yacc.c */ 9208 #line 2702 "parser.yy" 9347 case 747: 9348 9349 /* Line 1806 of yacc.c */ 9350 #line 2779 "parser.yy" 9209 9351 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9210 9352 break; 9211 9353 9212 case 722: 9213 9214 /* Line 1806 of yacc.c */ 9215 #line 2704 "parser.yy" 9216 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9217 break; 9218 9219 case 723: 9220 9221 /* Line 1806 of yacc.c */ 9222 #line 2706 "parser.yy" 9223 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9224 break; 9225 9226 case 724: 9227 9228 /* Line 1806 of yacc.c */ 9229 #line 2708 "parser.yy" 9230 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9231 break; 9232 9233 case 725: 9234 9235 /* Line 1806 of yacc.c */ 9236 #line 2710 "parser.yy" 9237 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9238 break; 9239 9240 case 726: 9241 9242 /* Line 1806 of yacc.c */ 9243 #line 2712 "parser.yy" 9244 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9245 break; 9246 9247 case 727: 9248 9249 /* Line 1806 of yacc.c */ 9250 #line 2717 "parser.yy" 9251 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9252 break; 9253 9254 case 728: 9255 9256 /* Line 1806 of yacc.c */ 9257 #line 2719 "parser.yy" 9258 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9259 break; 9260 9261 case 729: 9262 9263 /* Line 1806 of yacc.c */ 9264 #line 2724 "parser.yy" 9265 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9266 break; 9267 9268 case 730: 9269 9270 /* Line 1806 of yacc.c */ 9271 #line 2726 "parser.yy" 9272 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9273 break; 9274 9275 case 732: 9276 9277 /* Line 1806 of yacc.c */ 9278 #line 2753 "parser.yy" 9279 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9280 break; 9281 9282 case 736: 9283 9284 /* Line 1806 of yacc.c */ 9285 #line 2764 "parser.yy" 9286 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9287 break; 9288 9289 case 737: 9290 9291 /* Line 1806 of yacc.c */ 9292 #line 2766 "parser.yy" 9293 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9294 break; 9295 9296 case 738: 9297 9298 /* Line 1806 of yacc.c */ 9299 #line 2768 "parser.yy" 9300 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9301 break; 9302 9303 case 739: 9304 9305 /* Line 1806 of yacc.c */ 9306 #line 2770 "parser.yy" 9307 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9308 break; 9309 9310 case 740: 9311 9312 /* Line 1806 of yacc.c */ 9313 #line 2772 "parser.yy" 9314 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9315 break; 9316 9317 case 741: 9318 9319 /* Line 1806 of yacc.c */ 9320 #line 2774 "parser.yy" 9321 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9322 break; 9323 9324 case 742: 9325 9326 /* Line 1806 of yacc.c */ 9327 #line 2781 "parser.yy" 9328 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9329 break; 9330 9331 case 743: 9332 9333 /* Line 1806 of yacc.c */ 9334 #line 2783 "parser.yy" 9335 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9336 break; 9337 9338 case 744: 9339 9340 /* Line 1806 of yacc.c */ 9341 #line 2785 "parser.yy" 9342 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9343 break; 9344 9345 case 745: 9346 9347 /* Line 1806 of yacc.c */ 9348 #line 2787 "parser.yy" 9349 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9350 break; 9351 9352 case 746: 9354 case 748: 9355 9356 /* Line 1806 of yacc.c */ 9357 #line 2784 "parser.yy" 9358 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9359 break; 9360 9361 case 749: 9353 9362 9354 9363 /* Line 1806 of yacc.c */ 9355 9364 #line 2789 "parser.yy" 9356 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false )); }9357 break; 9358 9359 case 7 47:9365 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9366 break; 9367 9368 case 750: 9360 9369 9361 9370 /* Line 1806 of yacc.c */ 9362 9371 #line 2791 "parser.yy" 9363 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); }9364 break;9365 9366 case 748:9367 9368 /* Line 1806 of yacc.c */9369 #line 2796 "parser.yy"9370 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); }9371 break;9372 9373 case 749:9374 9375 /* Line 1806 of yacc.c */9376 #line 2801 "parser.yy"9377 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); }9378 break;9379 9380 case 750:9381 9382 /* Line 1806 of yacc.c */9383 #line 2803 "parser.yy"9384 9372 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9385 9373 break; … … 9388 9376 9389 9377 /* Line 1806 of yacc.c */ 9390 #line 2 805"parser.yy"9378 #line 2793 "parser.yy" 9391 9379 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9392 9380 break; … … 9395 9383 9396 9384 /* Line 1806 of yacc.c */ 9397 #line 28 29"parser.yy"9385 #line 2817 "parser.yy" 9398 9386 { (yyval.en) = 0; } 9399 9387 break; … … 9402 9390 9403 9391 /* Line 1806 of yacc.c */ 9404 #line 28 31"parser.yy"9392 #line 2819 "parser.yy" 9405 9393 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9406 9394 break; … … 9409 9397 9410 9398 /* Line 1806 of yacc.c */ 9411 #line 94 12"Parser/parser.cc"9399 #line 9400 "Parser/parser.cc" 9412 9400 default: break; 9413 9401 } … … 9640 9628 9641 9629 /* Line 2067 of yacc.c */ 9642 #line 28 34"parser.yy"9630 #line 2822 "parser.yy" 9643 9631 9644 9632 // ----end of grammar----
Note:
See TracChangeset
for help on using the changeset viewer.