Changes in src/Parser/parser.cc [064e3ff:8688ce1]
- File:
-
- 1 edited
-
src/Parser/parser.cc (modified) (444 diffs)
Legend:
- Unmodified
- Added
- Removed
-
src/Parser/parser.cc
r064e3ff r8688ce1 354 354 LabelNode *label; 355 355 InitializerNode *in; 356 OperatorNode::Type op;357 356 bool flag; 358 357 … … 360 359 361 360 /* Line 293 of yacc.c */ 362 #line 36 3"Parser/parser.cc"361 #line 362 "Parser/parser.cc" 363 362 } YYSTYPE; 364 363 # define YYSTYPE_IS_TRIVIAL 1 … … 372 371 373 372 /* Line 343 of yacc.c */ 374 #line 37 5"Parser/parser.cc"373 #line 374 "Parser/parser.cc" 375 374 376 375 #ifdef short … … 1017 1016 static const yytype_uint16 yyrline[] = 1018 1017 { 1019 0, 29 2, 292, 298, 307, 308, 309, 313, 314, 315,1020 31 9, 320, 324, 325, 329, 330, 334, 335, 341, 343,1021 34 5, 347, 352, 353, 359, 363, 365, 366, 368, 369,1022 3 71, 373, 375, 383, 384, 390, 391, 392, 397, 399,1023 40 4, 405, 409, 413, 415, 417, 419, 424, 427, 429,1024 4 31, 433, 438, 440, 442, 444, 446, 448, 450, 452,1025 45 4, 456, 458, 465, 466, 468, 472, 473, 474, 475,1026 47 9, 480, 482, 487, 488, 490, 492, 497, 498, 500,1027 50 5, 506, 508, 513, 514, 516, 518, 520, 525, 526,1028 52 8, 533, 534, 539, 540, 545, 546, 551, 552, 557,1029 55 8, 563, 564, 566, 568, 573, 578, 579, 581, 583,1030 58 9, 590, 596, 598, 600, 602, 607, 608, 613, 614,1031 61 5, 616, 617, 618, 619, 620, 621, 622, 626, 627,1032 63 3, 634, 640, 641, 642, 643, 644, 645, 646, 647,1033 64 8, 658, 665, 667, 677, 678, 683, 685, 691, 693,1034 69 7, 698, 703, 708, 711, 713, 715, 725, 727, 738,1035 73 9, 741, 745, 747, 751, 752, 757, 758, 762, 767,1036 76 8, 772, 774, 780, 781, 785, 787, 789, 791, 797,1037 79 8, 802, 804, 809, 811, 813, 818, 820, 825, 827,1038 8 31, 834, 838, 841, 845, 847, 851, 853, 860, 862,1039 86 4, 873, 875, 877, 879, 881, 886, 888, 890, 892,1040 89 7, 910, 911, 916, 918, 923, 927, 929, 931, 933,1041 93 5, 941, 942, 948, 949, 953, 954, 959, 961, 967,1042 96 8, 970, 975, 977, 984, 986, 990, 991, 996, 998,1043 1002, 1003, 1007, 1009, 1013, 1014, 1018, 1019, 1023, 1024,1044 103 9, 1040, 1041, 1042, 1043, 1047, 1052, 1059, 1069, 1074,1045 107 9, 1087, 1092, 1097, 1102, 1107, 1115, 1137, 1142, 1149,1046 11 51, 1158, 1163, 1168, 1179, 1184, 1189, 1194, 1199, 1208,1047 121 3, 1221, 1222, 1223, 1224, 1230, 1235, 1243, 1244, 1245,1048 124 6, 1250, 1251, 1252, 1253, 1258, 1259, 1268, 1269, 1274,1049 127 5, 1280, 1282, 1284, 1286, 1288, 1291, 1290, 1302, 1303,1050 130 5, 1315, 1316, 1321, 1325, 1327, 1329, 1331, 1333, 1335,1051 133 7, 1339, 1344, 1346, 1348, 1350, 1352, 1354, 1356, 1358,1052 13 60, 1362, 1364, 1366, 1368, 1374, 1375, 1377, 1379, 1381,1053 138 6, 1387, 1393, 1394, 1396, 1398, 1403, 1405, 1407, 1409,1054 141 4, 1415, 1417, 1419, 1424, 1425, 1427, 1432, 1433, 1435,1055 143 7, 1442, 1444, 1446, 1451, 1452, 1456, 1458, 1464, 1463,1056 146 7, 1469, 1474, 1476, 1482, 1483, 1488, 1489, 1491, 1492,1057 1 501, 1502, 1504, 1506, 1511, 1513, 1519, 1520, 1522, 1525,1058 152 8, 1533, 1534, 1539, 1544, 1548, 1550, 1556, 1555, 1562,1059 156 4, 1570, 1571, 1579, 1580, 1584, 1585, 1586, 1588, 1590,1060 159 7, 1598, 1600, 1602, 1607, 1608, 1614, 1615, 1619, 1620,1061 162 5, 1626, 1627, 1629, 1637, 1638, 1640, 1643, 1645, 1649,1062 16 50, 1651, 1653, 1655, 1659, 1664, 1672, 1673, 1682, 1684,1063 168 9, 1690, 1691, 1695, 1696, 1697, 1701, 1702, 1703, 1707,1064 170 8, 1709, 1714, 1715, 1716, 1717, 1723, 1724, 1726, 1731,1065 17 32, 1737, 1738, 1739, 1740, 1741, 1756, 1757, 1762, 1763,1066 17 71, 1773, 1775, 1778, 1780, 1782, 1805, 1806, 1808, 1810,1067 181 5, 1816, 1818, 1823, 1828, 1829, 1835, 1834, 1838, 1842,1068 184 4, 1846, 1852, 1853, 1858, 1863, 1865, 1870, 1872, 1873,1069 187 5, 1880, 1882, 1884, 1889, 1891, 1896, 1901, 1909, 1915,1070 191 4, 1928, 1929, 1934, 1935, 1939, 1944, 1949, 1957, 1962,1071 197 3, 1974, 1985, 1986, 1992, 1993, 1997, 1998, 1999, 2002,1072 2001, 2012, 2021, 2027, 2033, 2042, 2048, 2054, 2060, 2066,1073 207 4, 2080, 2088, 2094, 2103, 2104, 2105, 2109, 2113, 2115,1074 21 20, 2121, 2125, 2126, 2131, 2137, 2138, 2141, 2143, 2144,1075 214 8, 2149, 2150, 2151, 2185, 2187, 2188, 2190, 2195, 2200,1076 220 5, 2207, 2209, 2214, 2216, 2218, 2220, 2225, 2227, 2236,1077 223 8, 2239, 2244, 2246, 2248, 2253, 2255, 2257, 2262, 2264,1078 226 6, 2275, 2276, 2277, 2281, 2283, 2285, 2290, 2292, 2294,1079 229 9, 2301, 2303, 2318, 2320, 2321, 2323, 2328, 2329, 2334,1080 233 6, 2338, 2343, 2345, 2347, 2349, 2354, 2356, 2358, 2368,1081 23 70, 2371, 2373, 2378, 2380, 2382, 2387, 2389, 2391, 2393,1082 239 8, 2400, 2402, 2433, 2435, 2436, 2438, 2443, 2448, 2456,1083 245 8, 2460, 2465, 2467, 2472, 2474, 2488, 2489, 2491, 2496,1084 249 8, 2500, 2502, 2504, 2509, 2510, 2512, 2514, 2519, 2521,1085 252 3, 2529, 2531, 2533, 2537, 2539, 2541, 2543, 2557, 2558,1086 25 60, 2565, 2567, 2569, 2571, 2573, 2578, 2579, 2581, 2583,1087 258 8, 2590, 2592, 2598, 2599, 2601, 2610, 2613, 2615, 2618,1088 26 20, 2622, 2635, 2636, 2638, 2643, 2645, 2647, 2649, 2651,1089 265 6, 2657, 2659, 2661, 2666, 2668, 2676, 2677, 2678, 2683,1090 268 4, 2688, 2690, 2692, 2694, 2696, 2698, 2705, 2707, 2709,1091 27 11, 2713, 2715, 2717, 2719, 2721, 2723, 2728, 2730, 2732,1092 273 7, 2763, 2764, 2766, 2770, 2771, 2775, 2777, 2779, 2781,1093 278 3, 2785, 2792, 2794, 2796, 2798, 2800, 2802, 2807, 2812,1094 281 4, 2816, 2834, 2836, 2841, 28421018 0, 290, 290, 296, 305, 306, 307, 311, 312, 313, 1019 317, 318, 322, 323, 327, 328, 332, 333, 339, 341, 1020 343, 345, 350, 351, 357, 361, 363, 364, 366, 367, 1021 369, 371, 373, 381, 382, 388, 389, 390, 395, 397, 1022 402, 403, 407, 411, 413, 415, 417, 422, 425, 427, 1023 429, 431, 436, 438, 440, 442, 444, 446, 448, 450, 1024 452, 454, 456, 463, 464, 466, 470, 471, 472, 473, 1025 477, 478, 480, 485, 486, 488, 490, 495, 496, 498, 1026 503, 504, 506, 511, 512, 514, 516, 518, 523, 524, 1027 526, 531, 532, 537, 538, 543, 544, 549, 550, 555, 1028 556, 561, 562, 564, 566, 571, 576, 577, 579, 581, 1029 587, 588, 594, 596, 598, 600, 605, 606, 611, 612, 1030 613, 614, 615, 616, 617, 618, 619, 620, 624, 625, 1031 631, 632, 638, 639, 640, 641, 642, 643, 644, 645, 1032 646, 656, 663, 665, 675, 676, 681, 683, 689, 691, 1033 695, 696, 701, 706, 709, 711, 713, 723, 725, 736, 1034 737, 739, 743, 744, 748, 749, 754, 755, 759, 764, 1035 765, 769, 771, 777, 778, 782, 784, 786, 788, 794, 1036 795, 799, 801, 806, 808, 810, 815, 817, 822, 824, 1037 828, 831, 835, 838, 842, 844, 848, 850, 857, 859, 1038 861, 870, 872, 874, 876, 878, 883, 885, 887, 889, 1039 894, 907, 908, 913, 915, 920, 924, 926, 928, 930, 1040 932, 938, 939, 945, 946, 950, 951, 956, 958, 964, 1041 965, 967, 972, 974, 981, 983, 987, 988, 993, 995, 1042 999, 1000, 1004, 1006, 1010, 1011, 1015, 1016, 1020, 1021, 1043 1036, 1037, 1038, 1039, 1040, 1044, 1049, 1056, 1066, 1071, 1044 1076, 1084, 1089, 1094, 1099, 1104, 1112, 1134, 1139, 1146, 1045 1148, 1155, 1160, 1165, 1176, 1181, 1186, 1191, 1196, 1205, 1046 1210, 1218, 1219, 1220, 1221, 1227, 1232, 1240, 1241, 1242, 1047 1243, 1247, 1248, 1249, 1250, 1255, 1256, 1265, 1266, 1271, 1048 1272, 1277, 1279, 1281, 1283, 1285, 1288, 1287, 1299, 1300, 1049 1302, 1312, 1313, 1318, 1322, 1324, 1326, 1328, 1330, 1332, 1050 1334, 1336, 1341, 1343, 1345, 1347, 1349, 1351, 1353, 1355, 1051 1357, 1359, 1361, 1363, 1365, 1371, 1372, 1374, 1376, 1378, 1052 1383, 1384, 1390, 1391, 1393, 1395, 1400, 1402, 1404, 1406, 1053 1411, 1412, 1414, 1416, 1421, 1422, 1424, 1429, 1430, 1432, 1054 1434, 1439, 1441, 1443, 1448, 1449, 1453, 1455, 1461, 1460, 1055 1464, 1466, 1471, 1473, 1479, 1480, 1485, 1486, 1488, 1489, 1056 1498, 1499, 1501, 1503, 1508, 1510, 1516, 1517, 1519, 1522, 1057 1525, 1530, 1531, 1536, 1541, 1545, 1547, 1553, 1552, 1559, 1058 1561, 1567, 1568, 1576, 1577, 1581, 1582, 1583, 1585, 1587, 1059 1594, 1595, 1597, 1599, 1604, 1605, 1611, 1612, 1616, 1617, 1060 1622, 1623, 1624, 1626, 1634, 1635, 1637, 1640, 1642, 1646, 1061 1647, 1648, 1650, 1652, 1656, 1661, 1669, 1670, 1679, 1681, 1062 1686, 1687, 1688, 1692, 1693, 1694, 1698, 1699, 1700, 1704, 1063 1705, 1706, 1711, 1712, 1713, 1714, 1720, 1721, 1723, 1728, 1064 1729, 1734, 1735, 1736, 1737, 1738, 1753, 1754, 1759, 1760, 1065 1768, 1770, 1772, 1775, 1777, 1779, 1802, 1803, 1805, 1807, 1066 1812, 1813, 1815, 1820, 1825, 1826, 1832, 1831, 1835, 1839, 1067 1841, 1843, 1849, 1850, 1855, 1860, 1862, 1867, 1869, 1870, 1068 1872, 1877, 1879, 1881, 1886, 1888, 1893, 1898, 1906, 1912, 1069 1911, 1925, 1926, 1931, 1932, 1936, 1941, 1946, 1954, 1959, 1070 1970, 1971, 1982, 1983, 1989, 1990, 1994, 1995, 1996, 1999, 1071 1998, 2009, 2018, 2024, 2030, 2039, 2045, 2051, 2057, 2063, 1072 2071, 2077, 2085, 2091, 2100, 2101, 2102, 2106, 2110, 2112, 1073 2117, 2118, 2122, 2123, 2128, 2134, 2135, 2138, 2140, 2141, 1074 2145, 2146, 2147, 2148, 2182, 2184, 2185, 2187, 2192, 2197, 1075 2202, 2204, 2206, 2211, 2213, 2215, 2217, 2222, 2224, 2233, 1076 2235, 2236, 2241, 2243, 2245, 2250, 2252, 2254, 2259, 2261, 1077 2263, 2272, 2273, 2274, 2278, 2280, 2282, 2287, 2289, 2291, 1078 2296, 2298, 2300, 2315, 2317, 2318, 2320, 2325, 2326, 2331, 1079 2333, 2335, 2340, 2342, 2344, 2346, 2351, 2353, 2355, 2365, 1080 2367, 2368, 2370, 2375, 2377, 2379, 2384, 2386, 2388, 2390, 1081 2395, 2397, 2399, 2430, 2432, 2433, 2435, 2440, 2445, 2453, 1082 2455, 2457, 2462, 2464, 2469, 2471, 2485, 2486, 2488, 2493, 1083 2495, 2497, 2499, 2501, 2506, 2507, 2509, 2511, 2516, 2518, 1084 2520, 2526, 2528, 2530, 2534, 2536, 2538, 2540, 2554, 2555, 1085 2557, 2562, 2564, 2566, 2568, 2570, 2575, 2576, 2578, 2580, 1086 2585, 2587, 2589, 2595, 2596, 2598, 2607, 2610, 2612, 2615, 1087 2617, 2619, 2632, 2633, 2635, 2640, 2642, 2644, 2646, 2648, 1088 2653, 2654, 2656, 2658, 2663, 2665, 2673, 2674, 2675, 2680, 1089 2681, 2685, 2687, 2689, 2691, 2693, 2695, 2702, 2704, 2706, 1090 2708, 2710, 2712, 2714, 2716, 2718, 2720, 2725, 2727, 2729, 1091 2734, 2760, 2761, 2763, 2767, 2768, 2772, 2774, 2776, 2778, 1092 2780, 2782, 2789, 2791, 2793, 2795, 2797, 2799, 2804, 2809, 1093 2811, 2813, 2831, 2833, 2838, 2839 1095 1094 }; 1096 1095 #endif … … 5217 5216 5218 5217 /* Line 1806 of yacc.c */ 5219 #line 29 2"parser.yy"5218 #line 290 "parser.yy" 5220 5219 { 5221 5220 typedefTable.enterScope(); … … 5226 5225 5227 5226 /* Line 1806 of yacc.c */ 5228 #line 29 8"parser.yy"5227 #line 296 "parser.yy" 5229 5228 { 5230 5229 typedefTable.leaveScope(); … … 5235 5234 5236 5235 /* Line 1806 of yacc.c */ 5236 #line 305 "parser.yy" 5237 { (yyval.constant) = makeConstantInteger( *(yyvsp[(1) - (1)].tok) ); } 5238 break; 5239 5240 case 5: 5241 5242 /* Line 1806 of yacc.c */ 5243 #line 306 "parser.yy" 5244 { (yyval.constant) = makeConstantFloat( *(yyvsp[(1) - (1)].tok) ); } 5245 break; 5246 5247 case 6: 5248 5249 /* Line 1806 of yacc.c */ 5237 5250 #line 307 "parser.yy" 5238 { (yyval.constant) = makeConstantInteger( *(yyvsp[(1) - (1)].tok) ); }5239 break;5240 5241 case 5:5242 5243 /* Line 1806 of yacc.c */5244 #line 308 "parser.yy"5245 { (yyval.constant) = makeConstantFloat( *(yyvsp[(1) - (1)].tok) ); }5246 break;5247 5248 case 6:5249 5250 /* Line 1806 of yacc.c */5251 #line 309 "parser.yy"5252 5251 { (yyval.constant) = makeConstantChar( *(yyvsp[(1) - (1)].tok) ); } 5253 5252 break; … … 5256 5255 5257 5256 /* Line 1806 of yacc.c */ 5258 #line 33 4"parser.yy"5257 #line 332 "parser.yy" 5259 5258 { (yyval.constant) = makeConstantStr( *(yyvsp[(1) - (1)].tok) ); } 5260 5259 break; … … 5263 5262 5264 5263 /* Line 1806 of yacc.c */ 5265 #line 33 5"parser.yy"5264 #line 333 "parser.yy" 5266 5265 { (yyval.constant) = (yyvsp[(1) - (2)].constant)->appendstr( (yyvsp[(2) - (2)].tok) ); } 5267 5266 break; 5268 5267 5269 5268 case 18: 5269 5270 /* Line 1806 of yacc.c */ 5271 #line 340 "parser.yy" 5272 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 5273 break; 5274 5275 case 19: 5270 5276 5271 5277 /* Line 1806 of yacc.c */ … … 5274 5280 break; 5275 5281 5276 case 19:5282 case 20: 5277 5283 5278 5284 /* Line 1806 of yacc.c */ 5279 5285 #line 344 "parser.yy" 5280 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok)); }5281 break; 5282 5283 case 2 0:5286 { (yyval.en) = (yyvsp[(2) - (3)].en); } 5287 break; 5288 5289 case 21: 5284 5290 5285 5291 /* Line 1806 of yacc.c */ 5286 5292 #line 346 "parser.yy" 5287 { (yyval.en) = (yyvsp[(2) - (3)].en); }5288 break;5289 5290 case 21:5291 5292 /* Line 1806 of yacc.c */5293 #line 348 "parser.yy"5294 5293 { (yyval.en) = new ValofExprNode( (yyvsp[(2) - (3)].sn) ); } 5295 5294 break; … … 5298 5297 5299 5298 /* Line 1806 of yacc.c */ 5299 #line 356 "parser.yy" 5300 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); } 5301 break; 5302 5303 case 24: 5304 5305 /* Line 1806 of yacc.c */ 5300 5306 #line 358 "parser.yy" 5301 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Index ), (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en) ); }5302 break;5303 5304 case 24:5305 5306 /* Line 1806 of yacc.c */5307 #line 360 "parser.yy"5308 5307 { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (4)].en), (yyvsp[(3) - (4)].en) ); } 5309 5308 break; … … 5312 5311 5313 5312 /* Line 1806 of yacc.c */ 5314 #line 36 4"parser.yy"5315 { (yyval.en) = new CompositeExprNode 2( build_fieldSel( (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) ) )); }5313 #line 362 "parser.yy" 5314 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); } 5316 5315 break; 5317 5316 … … 5319 5318 5320 5319 /* Line 1806 of yacc.c */ 5321 #line 36 7"parser.yy"5322 { (yyval.en) = new CompositeExprNode 2( build_pfieldSel( (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) ) )); }5320 #line 365 "parser.yy" 5321 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), (yyvsp[(1) - (3)].en), new VarRefNode( (yyvsp[(3) - (3)].tok) )); } 5323 5322 break; 5324 5323 … … 5326 5325 5327 5326 /* Line 1806 of yacc.c */ 5327 #line 368 "parser.yy" 5328 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::IncrPost ), (yyvsp[(1) - (2)].en) ); } 5329 break; 5330 5331 case 30: 5332 5333 /* Line 1806 of yacc.c */ 5328 5334 #line 370 "parser.yy" 5329 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode:: IncrPost ), (yyvsp[(1) - (2)].en) ); }5330 break; 5331 5332 case 3 0:5335 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); } 5336 break; 5337 5338 case 31: 5333 5339 5334 5340 /* Line 1806 of yacc.c */ 5335 5341 #line 372 "parser.yy" 5336 { (yyval.en) = new Compo siteExprNode( new OperatorNode( OperatorNode::DecrPost ), (yyvsp[(1) - (2)].en) ); }5337 break; 5338 5339 case 3 1:5342 { (yyval.en) = new CompoundLiteralNode( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ); } 5343 break; 5344 5345 case 32: 5340 5346 5341 5347 /* Line 1806 of yacc.c */ 5342 5348 #line 374 "parser.yy" 5343 { (yyval.en) = new CompoundLiteralNode( (yyvsp[(2) - (7)].decl), new InitializerNode( (yyvsp[(5) - (7)].in), true ) ); }5344 break;5345 5346 case 32:5347 5348 /* Line 1806 of yacc.c */5349 #line 376 "parser.yy"5350 5349 { 5351 5350 Token fn; fn.str = new std::string( "?{}" ); // location undefined … … 5357 5356 5358 5357 /* Line 1806 of yacc.c */ 5359 #line 38 5"parser.yy"5358 #line 383 "parser.yy" 5360 5359 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 5361 5360 break; … … 5364 5363 5365 5364 /* Line 1806 of yacc.c */ 5366 #line 3 90"parser.yy"5365 #line 388 "parser.yy" 5367 5366 { (yyval.en) = 0; } 5368 5367 break; … … 5371 5370 5372 5371 /* Line 1806 of yacc.c */ 5373 #line 39 3"parser.yy"5372 #line 391 "parser.yy" 5374 5373 { (yyval.en) = (yyvsp[(3) - (3)].en)->set_argName( (yyvsp[(1) - (3)].tok) ); } 5375 5374 break; … … 5378 5377 5379 5378 /* Line 1806 of yacc.c */ 5379 #line 396 "parser.yy" 5380 { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); } 5381 break; 5382 5383 case 39: 5384 5385 /* Line 1806 of yacc.c */ 5380 5386 #line 398 "parser.yy" 5381 { (yyval.en) = (yyvsp[(7) - (7)].en)->set_argName( (yyvsp[(3) - (7)].en) ); }5382 break;5383 5384 case 39:5385 5386 /* Line 1806 of yacc.c */5387 #line 400 "parser.yy"5388 5387 { (yyval.en) = (yyvsp[(9) - (9)].en)->set_argName( new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (9)].en)->set_link( flattenCommas( (yyvsp[(5) - (9)].en) )))); } 5389 5388 break; … … 5392 5391 5393 5392 /* Line 1806 of yacc.c */ 5394 #line 40 5"parser.yy"5393 #line 403 "parser.yy" 5395 5394 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5396 5395 break; … … 5399 5398 5400 5399 /* Line 1806 of yacc.c */ 5401 #line 4 10"parser.yy"5400 #line 408 "parser.yy" 5402 5401 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (1)].tok) ); } 5403 5402 break; … … 5406 5405 5407 5406 /* Line 1806 of yacc.c */ 5407 #line 412 "parser.yy" 5408 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); } 5409 break; 5410 5411 case 44: 5412 5413 /* Line 1806 of yacc.c */ 5408 5414 #line 414 "parser.yy" 5409 { (yyval.en) = new CompositeExprNode 2( build_fieldSel( (yyvsp[(3) - (3)].en), new VarRefNode( (yyvsp[(1) - (3)].tok) )) ); }5410 break; 5411 5412 case 4 4:5415 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::FieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); } 5416 break; 5417 5418 case 45: 5413 5419 5414 5420 /* Line 1806 of yacc.c */ 5415 5421 #line 416 "parser.yy" 5416 { (yyval.en) = new CompositeExprNode 2( build_fieldSel( (yyvsp[(5) - (7)].en), new VarRefNode( (yyvsp[(1) - (7)].tok) )) ); }5417 break; 5418 5419 case 4 5:5422 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (3)].tok) ), (yyvsp[(3) - (3)].en) ); } 5423 break; 5424 5425 case 46: 5420 5426 5421 5427 /* Line 1806 of yacc.c */ 5422 5428 #line 418 "parser.yy" 5423 { (yyval.en) = new CompositeExprNode2( build_pfieldSel( (yyvsp[(3) - (3)].en), new VarRefNode( (yyvsp[(1) - (3)].tok) ) ) ); } 5424 break; 5425 5426 case 46: 5427 5428 /* Line 1806 of yacc.c */ 5429 #line 420 "parser.yy" 5430 { (yyval.en) = new CompositeExprNode2( build_pfieldSel( (yyvsp[(5) - (7)].en), new VarRefNode( (yyvsp[(1) - (7)].tok) ) ) ); } 5429 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::PFieldSel ), new VarRefNode( (yyvsp[(1) - (7)].tok) ), (yyvsp[(5) - (7)].en) ); } 5431 5430 break; 5432 5431 5433 5432 case 48: 5433 5434 /* Line 1806 of yacc.c */ 5435 #line 426 "parser.yy" 5436 { (yyval.en) = (yyvsp[(1) - (1)].constant); } 5437 break; 5438 5439 case 49: 5434 5440 5435 5441 /* Line 1806 of yacc.c */ … … 5438 5444 break; 5439 5445 5440 case 49:5446 case 50: 5441 5447 5442 5448 /* Line 1806 of yacc.c */ 5443 5449 #line 430 "parser.yy" 5444 { (yyval.en) = (yyvsp[( 1) - (1)].constant); }5445 break; 5446 5447 case 5 0:5450 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5451 break; 5452 5453 case 51: 5448 5454 5449 5455 /* Line 1806 of yacc.c */ 5450 5456 #line 432 "parser.yy" 5451 { (yyval.en) = (yyvsp[(2) - (2)].en)->set_extension( true ); } 5452 break; 5453 5454 case 51: 5455 5456 /* Line 1806 of yacc.c */ 5457 #line 434 "parser.yy" 5458 { (yyval.en) = (yyvsp[(1) - (2)].op) == OperatorNode::AddressOf ? (ExpressionNode*) new CompositeExprNode2( build_addressOf( (yyvsp[(2) - (2)].en) ) ) : (ExpressionNode*)new CompositeExprNode( new OperatorNode ( (yyvsp[(1) - (2)].op) ), (yyvsp[(2) - (2)].en) ); } 5457 { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); } 5459 5458 break; 5460 5459 … … 5462 5461 5463 5462 /* Line 1806 of yacc.c */ 5463 #line 437 "parser.yy" 5464 { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); } 5465 break; 5466 5467 case 53: 5468 5469 /* Line 1806 of yacc.c */ 5464 5470 #line 439 "parser.yy" 5465 { (yyval.en) = new CompositeExprNode( (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); }5466 break; 5467 5468 case 5 3:5471 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Incr ), (yyvsp[(2) - (2)].en) ); } 5472 break; 5473 5474 case 54: 5469 5475 5470 5476 /* Line 1806 of yacc.c */ 5471 5477 #line 441 "parser.yy" 5472 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode:: Incr ), (yyvsp[(2) - (2)].en) ); }5473 break; 5474 5475 case 5 4:5478 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Decr ), (yyvsp[(2) - (2)].en) ); } 5479 break; 5480 5481 case 55: 5476 5482 5477 5483 /* Line 1806 of yacc.c */ 5478 5484 #line 443 "parser.yy" 5479 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode:: Decr), (yyvsp[(2) - (2)].en) ); }5480 break; 5481 5482 case 5 5:5485 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), (yyvsp[(2) - (2)].en) ); } 5486 break; 5487 5488 case 56: 5483 5489 5484 5490 /* Line 1806 of yacc.c */ 5485 5491 #line 445 "parser.yy" 5486 { (yyval.en) = new CompositeExprNode 2( build_sizeOf( (yyvsp[(2) - (2)].en) )); }5487 break; 5488 5489 case 5 6:5492 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::SizeOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); } 5493 break; 5494 5495 case 57: 5490 5496 5491 5497 /* Line 1806 of yacc.c */ 5492 5498 #line 447 "parser.yy" 5493 { (yyval.en) = new CompositeExprNode 2( build_sizeOf( new TypeValueNode( (yyvsp[(3) - (4)].decl) ) )); }5494 break; 5495 5496 case 5 7:5499 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::OffsetOf ), new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) )); } 5500 break; 5501 5502 case 58: 5497 5503 5498 5504 /* Line 1806 of yacc.c */ 5499 5505 #line 449 "parser.yy" 5500 { (yyval.en) = new CompositeExprNode 2( build_offsetOf( new TypeValueNode( (yyvsp[(3) - (6)].decl) ), new VarRefNode( (yyvsp[(5) - (6)].tok) ) )); }5501 break; 5502 5503 case 5 8:5506 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (1)].tok) )); } 5507 break; 5508 5509 case 59: 5504 5510 5505 5511 /* Line 1806 of yacc.c */ 5506 5512 #line 451 "parser.yy" 5507 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - ( 1)].tok) )); }5508 break; 5509 5510 case 59:5513 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); } 5514 break; 5515 5516 case 60: 5511 5517 5512 5518 /* Line 1806 of yacc.c */ 5513 5519 #line 453 "parser.yy" 5514 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), new TypeValueNode( (yyvsp[(3) - (4)].decl) )); }5515 break; 5516 5517 case 6 0:5520 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Attr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); } 5521 break; 5522 5523 case 61: 5518 5524 5519 5525 /* Line 1806 of yacc.c */ 5520 5526 #line 455 "parser.yy" 5521 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::A ttr ), new VarRefNode( (yyvsp[(1) - (4)].tok) ), (yyvsp[(3) - (4)].en) ); }5522 break; 5523 5524 case 6 1:5527 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), (yyvsp[(2) - (2)].en) ); } 5528 break; 5529 5530 case 62: 5525 5531 5526 5532 /* Line 1806 of yacc.c */ 5527 5533 #line 457 "parser.yy" 5528 { (yyval.en) = new CompositeExprNode2( build_alignOf( (yyvsp[(2) - (2)].en) ) ); } 5529 break; 5530 5531 case 62: 5532 5533 /* Line 1806 of yacc.c */ 5534 #line 459 "parser.yy" 5535 { (yyval.en) = new CompositeExprNode2( build_alignOf( new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ) ); } 5534 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::AlignOf ), new TypeValueNode( (yyvsp[(3) - (4)].decl) ) ); } 5536 5535 break; 5537 5536 … … 5539 5538 5540 5539 /* Line 1806 of yacc.c */ 5541 #line 46 5"parser.yy"5542 { (yyval. op) = OperatorNode::PointTo; }5540 #line 463 "parser.yy" 5541 { (yyval.en) = new OperatorNode( OperatorNode::PointTo ); } 5543 5542 break; 5544 5543 … … 5546 5545 5547 5546 /* Line 1806 of yacc.c */ 5547 #line 464 "parser.yy" 5548 { (yyval.en) = new OperatorNode( OperatorNode::AddressOf ); } 5549 break; 5550 5551 case 65: 5552 5553 /* Line 1806 of yacc.c */ 5548 5554 #line 466 "parser.yy" 5549 { (yyval.op) = OperatorNode::AddressOf; } 5550 break; 5551 5552 case 65: 5553 5554 /* Line 1806 of yacc.c */ 5555 #line 468 "parser.yy" 5556 { (yyval.op) = OperatorNode::And; } 5555 { (yyval.en) = new OperatorNode( OperatorNode::And ); } 5557 5556 break; 5558 5557 … … 5560 5559 5561 5560 /* Line 1806 of yacc.c */ 5561 #line 470 "parser.yy" 5562 { (yyval.en) = new OperatorNode( OperatorNode::UnPlus ); } 5563 break; 5564 5565 case 67: 5566 5567 /* Line 1806 of yacc.c */ 5568 #line 471 "parser.yy" 5569 { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); } 5570 break; 5571 5572 case 68: 5573 5574 /* Line 1806 of yacc.c */ 5562 5575 #line 472 "parser.yy" 5563 { (yyval.en) = new OperatorNode( OperatorNode:: UnPlus); }5564 break; 5565 5566 case 6 7:5576 { (yyval.en) = new OperatorNode( OperatorNode::Neg ); } 5577 break; 5578 5579 case 69: 5567 5580 5568 5581 /* Line 1806 of yacc.c */ 5569 5582 #line 473 "parser.yy" 5570 { (yyval.en) = new OperatorNode( OperatorNode::UnMinus ); }5571 break;5572 5573 case 68:5574 5575 /* Line 1806 of yacc.c */5576 #line 474 "parser.yy"5577 { (yyval.en) = new OperatorNode( OperatorNode::Neg ); }5578 break;5579 5580 case 69:5581 5582 /* Line 1806 of yacc.c */5583 #line 475 "parser.yy"5584 5583 { (yyval.en) = new OperatorNode( OperatorNode::BitNeg ); } 5585 5584 break; … … 5588 5587 5589 5588 /* Line 1806 of yacc.c */ 5589 #line 479 "parser.yy" 5590 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); } 5591 break; 5592 5593 case 72: 5594 5595 /* Line 1806 of yacc.c */ 5590 5596 #line 481 "parser.yy" 5591 { (yyval.en) = new CompositeExprNode2( build_cast( new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ) ); } 5592 break; 5593 5594 case 72: 5595 5596 /* Line 1806 of yacc.c */ 5597 #line 483 "parser.yy" 5598 { (yyval.en) = new CompositeExprNode2( build_cast( new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ) ); } 5597 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cast ), new TypeValueNode( (yyvsp[(2) - (4)].decl) ), (yyvsp[(4) - (4)].en) ); } 5599 5598 break; 5600 5599 … … 5602 5601 5603 5602 /* Line 1806 of yacc.c */ 5603 #line 487 "parser.yy" 5604 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mul ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5605 break; 5606 5607 case 75: 5608 5609 /* Line 1806 of yacc.c */ 5604 5610 #line 489 "parser.yy" 5605 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode:: Mul), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5606 break; 5607 5608 case 7 5:5611 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5612 break; 5613 5614 case 76: 5609 5615 5610 5616 /* Line 1806 of yacc.c */ 5611 5617 #line 491 "parser.yy" 5612 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Div ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5613 break;5614 5615 case 76:5616 5617 /* Line 1806 of yacc.c */5618 #line 493 "parser.yy"5619 5618 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Mod ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5620 5619 break; … … 5623 5622 5624 5623 /* Line 1806 of yacc.c */ 5624 #line 497 "parser.yy" 5625 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5626 break; 5627 5628 case 79: 5629 5630 /* Line 1806 of yacc.c */ 5625 5631 #line 499 "parser.yy" 5626 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Plus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5627 break;5628 5629 case 79:5630 5631 /* Line 1806 of yacc.c */5632 #line 501 "parser.yy"5633 5632 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Minus ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5634 5633 break; … … 5637 5636 5638 5637 /* Line 1806 of yacc.c */ 5638 #line 505 "parser.yy" 5639 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5640 break; 5641 5642 case 82: 5643 5644 /* Line 1806 of yacc.c */ 5639 5645 #line 507 "parser.yy" 5640 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5641 break;5642 5643 case 82:5644 5645 /* Line 1806 of yacc.c */5646 #line 509 "parser.yy"5647 5646 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::RShift ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5648 5647 break; … … 5651 5650 5652 5651 /* Line 1806 of yacc.c */ 5652 #line 513 "parser.yy" 5653 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5654 break; 5655 5656 case 85: 5657 5658 /* Line 1806 of yacc.c */ 5653 5659 #line 515 "parser.yy" 5654 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode:: LThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5655 break; 5656 5657 case 8 5:5660 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5661 break; 5662 5663 case 86: 5658 5664 5659 5665 /* Line 1806 of yacc.c */ 5660 5666 #line 517 "parser.yy" 5661 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode:: GThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5662 break; 5663 5664 case 8 6:5667 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5668 break; 5669 5670 case 87: 5665 5671 5666 5672 /* Line 1806 of yacc.c */ 5667 5673 #line 519 "parser.yy" 5668 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::LEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5669 break;5670 5671 case 87:5672 5673 /* Line 1806 of yacc.c */5674 #line 521 "parser.yy"5675 5674 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::GEThan ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5676 5675 break; … … 5679 5678 5680 5679 /* Line 1806 of yacc.c */ 5680 #line 525 "parser.yy" 5681 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5682 break; 5683 5684 case 90: 5685 5686 /* Line 1806 of yacc.c */ 5681 5687 #line 527 "parser.yy" 5682 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Eq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5683 break;5684 5685 case 90:5686 5687 /* Line 1806 of yacc.c */5688 #line 529 "parser.yy"5689 5688 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Neq ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5690 5689 break; … … 5693 5692 5694 5693 /* Line 1806 of yacc.c */ 5695 #line 53 5"parser.yy"5694 #line 533 "parser.yy" 5696 5695 { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::BitAnd ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5697 5696 break; … … 5700 5699 5701 5700 /* Line 1806 of yacc.c */ 5702 #line 5 41"parser.yy"5701 #line 539 "parser.yy" 5703 5702 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Xor ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5704 5703 break; … … 5707 5706 5708 5707 /* Line 1806 of yacc.c */ 5709 #line 54 7"parser.yy"5708 #line 545 "parser.yy" 5710 5709 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::BitOr ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5711 5710 break; … … 5714 5713 5715 5714 /* Line 1806 of yacc.c */ 5716 #line 55 3"parser.yy"5715 #line 551 "parser.yy" 5717 5716 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::And ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5718 5717 break; … … 5721 5720 5722 5721 /* Line 1806 of yacc.c */ 5723 #line 55 9"parser.yy"5722 #line 557 "parser.yy" 5724 5723 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Or ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5725 5724 break; … … 5728 5727 5729 5728 /* Line 1806 of yacc.c */ 5729 #line 563 "parser.yy" 5730 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); } 5731 break; 5732 5733 case 103: 5734 5735 /* Line 1806 of yacc.c */ 5730 5736 #line 565 "parser.yy" 5737 { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); } 5738 break; 5739 5740 case 104: 5741 5742 /* Line 1806 of yacc.c */ 5743 #line 567 "parser.yy" 5731 5744 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); } 5732 5745 break; 5733 5746 5734 case 103:5735 5736 /* Line 1806 of yacc.c */5737 #line 567 "parser.yy"5738 { (yyval.en)=new CompositeExprNode( new OperatorNode( OperatorNode::NCond ), (yyvsp[(1) - (4)].en), (yyvsp[(4) - (4)].en) ); }5739 break;5740 5741 case 104:5742 5743 /* Line 1806 of yacc.c */5744 #line 569 "parser.yy"5745 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Cond ), (ExpressionNode *)mkList( (*(yyvsp[(1) - (5)].en), *(yyvsp[(3) - (5)].en), *(yyvsp[(5) - (5)].en) ) ) ); }5746 break;5747 5748 5747 case 107: 5749 5748 5750 5749 /* Line 1806 of yacc.c */ 5750 #line 578 "parser.yy" 5751 { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5752 break; 5753 5754 case 108: 5755 5756 /* Line 1806 of yacc.c */ 5751 5757 #line 580 "parser.yy" 5752 { (yyval.en) =new CompositeExprNode( new OperatorNode( OperatorNode::Assign), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5753 break; 5754 5755 case 10 8:5758 { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5759 break; 5760 5761 case 109: 5756 5762 5757 5763 /* Line 1806 of yacc.c */ 5758 5764 #line 582 "parser.yy" 5759 { (yyval.en) =new CompositeExprNode( (yyvsp[(2) - (3)].en), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); }5760 break;5761 5762 case 109:5763 5764 /* Line 1806 of yacc.c */5765 #line 584 "parser.yy"5766 5765 { (yyval.en) = ( (yyvsp[(2) - (2)].en) == 0 ) ? (yyvsp[(1) - (2)].en) : new CompositeExprNode( new OperatorNode( OperatorNode::Assign ), (yyvsp[(1) - (2)].en), (yyvsp[(2) - (2)].en) ); } 5767 5766 break; … … 5770 5769 5771 5770 /* Line 1806 of yacc.c */ 5772 #line 58 9"parser.yy"5771 #line 587 "parser.yy" 5773 5772 { (yyval.en) = new NullExprNode; } 5774 5773 break; … … 5777 5776 5778 5777 /* Line 1806 of yacc.c */ 5778 #line 595 "parser.yy" 5779 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); } 5780 break; 5781 5782 case 113: 5783 5784 /* Line 1806 of yacc.c */ 5779 5785 #line 597 "parser.yy" 5780 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ) ); }5781 break; 5782 5783 case 11 3:5786 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (yyvsp[(3) - (5)].en) ); } 5787 break; 5788 5789 case 114: 5784 5790 5785 5791 /* Line 1806 of yacc.c */ 5786 5792 #line 599 "parser.yy" 5787 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), ( yyvsp[(3) - (5)].en) ); }5788 break; 5789 5790 case 11 4:5793 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); } 5794 break; 5795 5796 case 115: 5791 5797 5792 5798 /* Line 1806 of yacc.c */ 5793 5799 #line 601 "parser.yy" 5794 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(new NullExprNode)->set_link( (yyvsp[(4) - (6)].en) ) ); }5795 break;5796 5797 case 115:5798 5799 /* Line 1806 of yacc.c */5800 #line 603 "parser.yy"5801 5800 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::TupleC ), (ExpressionNode *)(yyvsp[(3) - (7)].en)->set_link( flattenCommas( (yyvsp[(5) - (7)].en) ) ) ); } 5802 5801 break; … … 5805 5804 5806 5805 /* Line 1806 of yacc.c */ 5807 #line 60 9"parser.yy"5806 #line 607 "parser.yy" 5808 5807 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 5809 5808 break; … … 5812 5811 5813 5812 /* Line 1806 of yacc.c */ 5813 #line 611 "parser.yy" 5814 { (yyval.en) = new OperatorNode( OperatorNode::MulAssn ); } 5815 break; 5816 5817 case 119: 5818 5819 /* Line 1806 of yacc.c */ 5820 #line 612 "parser.yy" 5821 { (yyval.en) = new OperatorNode( OperatorNode::DivAssn ); } 5822 break; 5823 5824 case 120: 5825 5826 /* Line 1806 of yacc.c */ 5814 5827 #line 613 "parser.yy" 5815 { (yyval.en) = new OperatorNode( OperatorNode::M ulAssn ); }5816 break; 5817 5818 case 1 19:5828 { (yyval.en) = new OperatorNode( OperatorNode::ModAssn ); } 5829 break; 5830 5831 case 121: 5819 5832 5820 5833 /* Line 1806 of yacc.c */ 5821 5834 #line 614 "parser.yy" 5822 { (yyval.en) = new OperatorNode( OperatorNode:: DivAssn ); }5823 break; 5824 5825 case 12 0:5835 { (yyval.en) = new OperatorNode( OperatorNode::PlusAssn ); } 5836 break; 5837 5838 case 122: 5826 5839 5827 5840 /* Line 1806 of yacc.c */ 5828 5841 #line 615 "parser.yy" 5829 { (yyval.en) = new OperatorNode( OperatorNode::M odAssn ); }5830 break; 5831 5832 case 12 1:5842 { (yyval.en) = new OperatorNode( OperatorNode::MinusAssn ); } 5843 break; 5844 5845 case 123: 5833 5846 5834 5847 /* Line 1806 of yacc.c */ 5835 5848 #line 616 "parser.yy" 5836 { (yyval.en) = new OperatorNode( OperatorNode:: PlusAssn ); }5837 break; 5838 5839 case 12 2:5849 { (yyval.en) = new OperatorNode( OperatorNode::LSAssn ); } 5850 break; 5851 5852 case 124: 5840 5853 5841 5854 /* Line 1806 of yacc.c */ 5842 5855 #line 617 "parser.yy" 5843 { (yyval.en) = new OperatorNode( OperatorNode:: MinusAssn ); }5844 break; 5845 5846 case 12 3:5856 { (yyval.en) = new OperatorNode( OperatorNode::RSAssn ); } 5857 break; 5858 5859 case 125: 5847 5860 5848 5861 /* Line 1806 of yacc.c */ 5849 5862 #line 618 "parser.yy" 5850 { (yyval.en) = new OperatorNode( OperatorNode:: LSAssn ); }5851 break; 5852 5853 case 12 4:5863 { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); } 5864 break; 5865 5866 case 126: 5854 5867 5855 5868 /* Line 1806 of yacc.c */ 5856 5869 #line 619 "parser.yy" 5857 { (yyval.en) = new OperatorNode( OperatorNode:: RSAssn ); }5858 break; 5859 5860 case 12 5:5870 { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); } 5871 break; 5872 5873 case 127: 5861 5874 5862 5875 /* Line 1806 of yacc.c */ 5863 5876 #line 620 "parser.yy" 5864 { (yyval.en) = new OperatorNode( OperatorNode::AndAssn ); }5865 break;5866 5867 case 126:5868 5869 /* Line 1806 of yacc.c */5870 #line 621 "parser.yy"5871 { (yyval.en) = new OperatorNode( OperatorNode::ERAssn ); }5872 break;5873 5874 case 127:5875 5876 /* Line 1806 of yacc.c */5877 #line 622 "parser.yy"5878 5877 { (yyval.en) = new OperatorNode( OperatorNode::OrAssn ); } 5879 5878 break; … … 5882 5881 5883 5882 /* Line 1806 of yacc.c */ 5884 #line 62 8"parser.yy"5883 #line 626 "parser.yy" 5885 5884 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Comma ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 5886 5885 break; … … 5889 5888 5890 5889 /* Line 1806 of yacc.c */ 5891 #line 63 3"parser.yy"5890 #line 631 "parser.yy" 5892 5891 { (yyval.en) = 0; } 5893 5892 break; … … 5896 5895 5897 5896 /* Line 1806 of yacc.c */ 5898 #line 64 2"parser.yy"5897 #line 640 "parser.yy" 5899 5898 { (yyval.sn) = (yyvsp[(1) - (1)].sn); } 5900 5899 break; … … 5903 5902 5904 5903 /* Line 1806 of yacc.c */ 5905 #line 64 9"parser.yy"5904 #line 647 "parser.yy" 5906 5905 { 5907 5906 Token fn; fn.str = new std::string( "^?{}" ); // location undefined … … 5914 5913 5915 5914 /* Line 1806 of yacc.c */ 5916 #line 65 9"parser.yy"5915 #line 657 "parser.yy" 5917 5916 { 5918 5917 (yyval.sn) = (yyvsp[(4) - (4)].sn)->add_label( (yyvsp[(1) - (4)].tok) ); … … 5923 5922 5924 5923 /* Line 1806 of yacc.c */ 5925 #line 66 6"parser.yy"5924 #line 664 "parser.yy" 5926 5925 { (yyval.sn) = new CompoundStmtNode( (StatementNode *)0 ); } 5927 5926 break; … … 5930 5929 5931 5930 /* Line 1806 of yacc.c */ 5932 #line 67 3"parser.yy"5931 #line 671 "parser.yy" 5933 5932 { (yyval.sn) = new CompoundStmtNode( (yyvsp[(5) - (7)].sn) ); } 5934 5933 break; … … 5937 5936 5938 5937 /* Line 1806 of yacc.c */ 5939 #line 67 9"parser.yy"5938 #line 677 "parser.yy" 5940 5939 { if ( (yyvsp[(1) - (3)].sn) != 0 ) { (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(3) - (3)].sn) ); (yyval.sn) = (yyvsp[(1) - (3)].sn); } } 5941 5940 break; … … 5944 5943 5945 5944 /* Line 1806 of yacc.c */ 5945 #line 682 "parser.yy" 5946 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5947 break; 5948 5949 case 147: 5950 5951 /* Line 1806 of yacc.c */ 5946 5952 #line 684 "parser.yy" 5947 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); }5948 break;5949 5950 case 147:5951 5952 /* Line 1806 of yacc.c */5953 #line 686 "parser.yy"5954 5953 { // mark all fields in list 5955 5954 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) … … 5962 5961 5963 5962 /* Line 1806 of yacc.c */ 5964 #line 69 2"parser.yy"5963 #line 690 "parser.yy" 5965 5964 { (yyval.sn) = new StatementNode( (yyvsp[(1) - (1)].decl) ); } 5966 5965 break; … … 5969 5968 5970 5969 /* Line 1806 of yacc.c */ 5971 #line 69 9"parser.yy"5970 #line 697 "parser.yy" 5972 5971 { if ( (yyvsp[(1) - (2)].sn) != 0 ) { (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) ); (yyval.sn) = (yyvsp[(1) - (2)].sn); } } 5973 5972 break; … … 5976 5975 5977 5976 /* Line 1806 of yacc.c */ 5978 #line 70 4"parser.yy"5977 #line 702 "parser.yy" 5979 5978 { (yyval.sn) = new StatementNode( StatementNode::Exp, (yyvsp[(1) - (2)].en), 0 ); } 5980 5979 break; … … 5983 5982 5984 5983 /* Line 1806 of yacc.c */ 5984 #line 708 "parser.yy" 5985 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 5986 break; 5987 5988 case 154: 5989 5990 /* Line 1806 of yacc.c */ 5985 5991 #line 710 "parser.yy" 5986 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - ( 5)].en), (yyvsp[(5) - (5)].sn) ); }5987 break; 5988 5989 case 15 4:5992 { (yyval.sn) = new StatementNode( StatementNode::If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); } 5993 break; 5994 5995 case 155: 5990 5996 5991 5997 /* Line 1806 of yacc.c */ 5992 5998 #line 712 "parser.yy" 5993 { (yyval.sn) = new StatementNode( StatementNode:: If, (yyvsp[(3) - (7)].en), (StatementNode *)mkList((*(yyvsp[(5) - (7)].sn), *(yyvsp[(7) - (7)].sn) )) ); }5994 break; 5995 5996 case 15 5:5999 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 6000 break; 6001 6002 case 156: 5997 6003 5998 6004 /* Line 1806 of yacc.c */ 5999 6005 #line 714 "parser.yy" 6000 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }6001 break;6002 6003 case 156:6004 6005 /* Line 1806 of yacc.c */6006 #line 716 "parser.yy"6007 6006 { 6008 6007 StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); … … 6019 6018 6020 6019 /* Line 1806 of yacc.c */ 6020 #line 724 "parser.yy" 6021 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 6022 break; 6023 6024 case 158: 6025 6026 /* Line 1806 of yacc.c */ 6021 6027 #line 726 "parser.yy" 6022 { (yyval.sn) = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); }6023 break;6024 6025 case 158:6026 6027 /* Line 1806 of yacc.c */6028 #line 728 "parser.yy"6029 6028 { 6030 6029 StatementNode *sw = new StatementNode( StatementNode::Switch, (yyvsp[(3) - (9)].en), (yyvsp[(8) - (9)].sn) ); … … 6036 6035 6037 6036 /* Line 1806 of yacc.c */ 6037 #line 736 "parser.yy" 6038 { (yyval.en) = (yyvsp[(1) - (1)].en); } 6039 break; 6040 6041 case 160: 6042 6043 /* Line 1806 of yacc.c */ 6038 6044 #line 738 "parser.yy" 6039 { (yyval.en) = (yyvsp[(1) - (1)].en); }6040 break;6041 6042 case 160:6043 6044 /* Line 1806 of yacc.c */6045 #line 740 "parser.yy"6046 6045 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 6047 6046 break; … … 6050 6049 6051 6050 /* Line 1806 of yacc.c */ 6052 #line 74 5"parser.yy"6051 #line 743 "parser.yy" 6053 6052 { (yyval.sn) = new StatementNode( StatementNode::Case, (yyvsp[(1) - (1)].en), 0 ); } 6054 6053 break; … … 6057 6056 6058 6057 /* Line 1806 of yacc.c */ 6059 #line 74 7"parser.yy"6058 #line 744 "parser.yy" 6060 6059 { (yyval.sn) = (StatementNode *)((yyvsp[(1) - (3)].sn)->set_link( new StatementNode( StatementNode::Case, (yyvsp[(3) - (3)].en), 0 ) ) ); } 6061 6060 break; … … 6064 6063 6065 6064 /* Line 1806 of yacc.c */ 6066 #line 7 51"parser.yy"6065 #line 748 "parser.yy" 6067 6066 { (yyval.sn) = (yyvsp[(2) - (3)].sn); } 6068 6067 break; … … 6071 6070 6072 6071 /* Line 1806 of yacc.c */ 6073 #line 7 52"parser.yy"6072 #line 749 "parser.yy" 6074 6073 { (yyval.sn) = new StatementNode( StatementNode::Default ); } 6075 6074 break; … … 6078 6077 6079 6078 /* Line 1806 of yacc.c */ 6080 #line 75 8"parser.yy"6079 #line 755 "parser.yy" 6081 6080 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (2)].sn)->set_link( (yyvsp[(2) - (2)].sn) )); } 6082 6081 break; … … 6085 6084 6086 6085 /* Line 1806 of yacc.c */ 6087 #line 7 62"parser.yy"6086 #line 759 "parser.yy" 6088 6087 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); } 6089 6088 break; … … 6092 6091 6093 6092 /* Line 1806 of yacc.c */ 6094 #line 76 7"parser.yy"6093 #line 764 "parser.yy" 6095 6094 { (yyval.sn) = 0; } 6096 6095 break; … … 6099 6098 6100 6099 /* Line 1806 of yacc.c */ 6101 #line 77 3"parser.yy"6100 #line 770 "parser.yy" 6102 6101 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(2) - (2)].sn) ) ); } 6103 6102 break; … … 6106 6105 6107 6106 /* Line 1806 of yacc.c */ 6108 #line 77 5"parser.yy"6107 #line 772 "parser.yy" 6109 6108 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( new CompoundStmtNode( (yyvsp[(3) - (3)].sn) ) ) ) ); } 6110 6109 break; … … 6113 6112 6114 6113 /* Line 1806 of yacc.c */ 6115 #line 7 80"parser.yy"6114 #line 777 "parser.yy" 6116 6115 { (yyval.sn) = 0; } 6117 6116 break; … … 6120 6119 6121 6120 /* Line 1806 of yacc.c */ 6122 #line 78 6"parser.yy"6121 #line 783 "parser.yy" 6123 6122 { (yyval.sn) = (yyvsp[(1) - (2)].sn)->append_last_case( (yyvsp[(2) - (2)].sn) ); } 6124 6123 break; … … 6127 6126 6128 6127 /* Line 1806 of yacc.c */ 6129 #line 78 8"parser.yy"6128 #line 785 "parser.yy" 6130 6129 { (yyval.sn) = (yyvsp[(1) - (3)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(2) - (3)].sn), *(yyvsp[(3) - (3)].sn) ) ) ) ); } 6131 6130 break; … … 6134 6133 6135 6134 /* Line 1806 of yacc.c */ 6136 #line 7 90"parser.yy"6135 #line 787 "parser.yy" 6137 6136 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (3)].sn)->set_link( (yyvsp[(2) - (3)].sn)->append_last_case( (yyvsp[(3) - (3)].sn) ))); } 6138 6137 break; … … 6141 6140 6142 6141 /* Line 1806 of yacc.c */ 6143 #line 7 92"parser.yy"6142 #line 789 "parser.yy" 6144 6143 { (yyval.sn) = (StatementNode *)( (yyvsp[(1) - (4)].sn)->set_link( (yyvsp[(2) - (4)].sn)->append_last_case( new CompoundStmtNode( (StatementNode *)mkList( (*(yyvsp[(3) - (4)].sn), *(yyvsp[(4) - (4)].sn) ) ) ) ) ) ); } 6145 6144 break; … … 6148 6147 6149 6148 /* Line 1806 of yacc.c */ 6150 #line 79 7"parser.yy"6149 #line 794 "parser.yy" 6151 6150 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 6152 6151 break; … … 6155 6154 6156 6155 /* Line 1806 of yacc.c */ 6157 #line 80 3"parser.yy"6156 #line 800 "parser.yy" 6158 6157 { (yyval.sn) = 0; } 6159 6158 break; … … 6162 6161 6163 6162 /* Line 1806 of yacc.c */ 6164 #line 80 5"parser.yy"6163 #line 802 "parser.yy" 6165 6164 { (yyval.sn) = 0; } 6166 6165 break; … … 6169 6168 6170 6169 /* Line 1806 of yacc.c */ 6171 #line 8 10"parser.yy"6170 #line 807 "parser.yy" 6172 6171 { (yyval.sn) = new StatementNode( StatementNode::While, (yyvsp[(3) - (5)].en), (yyvsp[(5) - (5)].sn) ); } 6173 6172 break; … … 6176 6175 6177 6176 /* Line 1806 of yacc.c */ 6178 #line 8 12"parser.yy"6177 #line 809 "parser.yy" 6179 6178 { (yyval.sn) = new StatementNode( StatementNode::Do, (yyvsp[(5) - (7)].en), (yyvsp[(2) - (7)].sn) ); } 6180 6179 break; … … 6183 6182 6184 6183 /* Line 1806 of yacc.c */ 6185 #line 81 4"parser.yy"6184 #line 811 "parser.yy" 6186 6185 { (yyval.sn) = new StatementNode( StatementNode::For, (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].sn) ); } 6187 6186 break; … … 6190 6189 6191 6190 /* Line 1806 of yacc.c */ 6192 #line 81 9"parser.yy"6191 #line 816 "parser.yy" 6193 6192 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (6)].en), (yyvsp[(4) - (6)].en), (yyvsp[(6) - (6)].en) ); } 6194 6193 break; … … 6197 6196 6198 6197 /* Line 1806 of yacc.c */ 6199 #line 8 21"parser.yy"6198 #line 818 "parser.yy" 6200 6199 { (yyval.en) = new ForCtlExprNode( (yyvsp[(1) - (4)].decl), (yyvsp[(2) - (4)].en), (yyvsp[(4) - (4)].en) ); } 6201 6200 break; … … 6204 6203 6205 6204 /* Line 1806 of yacc.c */ 6206 #line 82 6"parser.yy"6205 #line 823 "parser.yy" 6207 6206 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(2) - (3)].tok) ); } 6208 6207 break; … … 6211 6210 6212 6211 /* Line 1806 of yacc.c */ 6212 #line 827 "parser.yy" 6213 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); } 6214 break; 6215 6216 case 190: 6217 6218 /* Line 1806 of yacc.c */ 6213 6219 #line 830 "parser.yy" 6214 { (yyval.sn) = new StatementNode( StatementNode::Goto, (yyvsp[(3) - (4)].en) ); }6215 break;6216 6217 case 190:6218 6219 /* Line 1806 of yacc.c */6220 #line 833 "parser.yy"6221 6220 { (yyval.sn) = new StatementNode( StatementNode::Continue ); } 6222 6221 break; … … 6225 6224 6226 6225 /* Line 1806 of yacc.c */ 6226 #line 834 "parser.yy" 6227 { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); } 6228 break; 6229 6230 case 192: 6231 6232 /* Line 1806 of yacc.c */ 6227 6233 #line 837 "parser.yy" 6228 { (yyval.sn) = new StatementNode( StatementNode::Continue, (yyvsp[(2) - (3)].tok) ); }6229 break;6230 6231 case 192:6232 6233 /* Line 1806 of yacc.c */6234 #line 840 "parser.yy"6235 6234 { (yyval.sn) = new StatementNode( StatementNode::Break ); } 6236 6235 break; … … 6239 6238 6240 6239 /* Line 1806 of yacc.c */ 6241 #line 84 4"parser.yy"6240 #line 841 "parser.yy" 6242 6241 { (yyval.sn) = new StatementNode( StatementNode::Break, (yyvsp[(2) - (3)].tok) ); } 6243 6242 break; … … 6246 6245 6247 6246 /* Line 1806 of yacc.c */ 6248 #line 84 6"parser.yy"6247 #line 843 "parser.yy" 6249 6248 { (yyval.sn) = new StatementNode( StatementNode::Return, (yyvsp[(2) - (3)].en), 0 ); } 6250 6249 break; … … 6253 6252 6254 6253 /* Line 1806 of yacc.c */ 6255 #line 84 8"parser.yy"6254 #line 845 "parser.yy" 6256 6255 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 6257 6256 break; … … 6260 6259 6261 6260 /* Line 1806 of yacc.c */ 6262 #line 8 52"parser.yy"6261 #line 849 "parser.yy" 6263 6262 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (3)].en), 0 ); } 6264 6263 break; … … 6267 6266 6268 6267 /* Line 1806 of yacc.c */ 6269 #line 85 4"parser.yy"6268 #line 851 "parser.yy" 6270 6269 { (yyval.sn) = new StatementNode( StatementNode::Throw, (yyvsp[(2) - (5)].en), 0 ); } 6271 6270 break; … … 6274 6273 6275 6274 /* Line 1806 of yacc.c */ 6276 #line 8 61"parser.yy"6275 #line 858 "parser.yy" 6277 6276 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6278 6277 break; … … 6281 6280 6282 6281 /* Line 1806 of yacc.c */ 6283 #line 86 3"parser.yy"6282 #line 860 "parser.yy" 6284 6283 { (yyval.sn) = new StatementNode( StatementNode::Try, 0,(StatementNode *)(mkList((*(yyvsp[(2) - (3)].sn),*(yyvsp[(3) - (3)].pn) )))); } 6285 6284 break; … … 6288 6287 6289 6288 /* Line 1806 of yacc.c */ 6290 #line 86 5"parser.yy"6289 #line 862 "parser.yy" 6291 6290 { 6292 6291 (yyvsp[(3) - (4)].pn)->set_link( (yyvsp[(4) - (4)].pn) ); … … 6298 6297 6299 6298 /* Line 1806 of yacc.c */ 6300 #line 87 6"parser.yy"6299 #line 873 "parser.yy" 6301 6300 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6302 6301 break; … … 6305 6304 6306 6305 /* Line 1806 of yacc.c */ 6307 #line 87 8"parser.yy"6306 #line 875 "parser.yy" 6308 6307 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6309 6308 break; … … 6312 6311 6313 6312 /* Line 1806 of yacc.c */ 6314 #line 8 80"parser.yy"6313 #line 877 "parser.yy" 6315 6314 { (yyval.pn) = StatementNode::newCatchStmt( 0, (yyvsp[(5) - (5)].sn), true ); } 6316 6315 break; … … 6319 6318 6320 6319 /* Line 1806 of yacc.c */ 6321 #line 8 82"parser.yy"6320 #line 879 "parser.yy" 6322 6321 { (yyval.pn) = (yyvsp[(1) - (6)].pn)->set_link( StatementNode::newCatchStmt( 0, (yyvsp[(6) - (6)].sn), true ) ); } 6323 6322 break; … … 6326 6325 6327 6326 /* Line 1806 of yacc.c */ 6328 #line 88 7"parser.yy"6327 #line 884 "parser.yy" 6329 6328 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6330 6329 break; … … 6333 6332 6334 6333 /* Line 1806 of yacc.c */ 6335 #line 88 9"parser.yy"6334 #line 886 "parser.yy" 6336 6335 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6337 6336 break; … … 6340 6339 6341 6340 /* Line 1806 of yacc.c */ 6342 #line 8 91"parser.yy"6341 #line 888 "parser.yy" 6343 6342 { (yyval.pn) = StatementNode::newCatchStmt( (yyvsp[(5) - (9)].decl), (yyvsp[(8) - (9)].sn) ); } 6344 6343 break; … … 6347 6346 6348 6347 /* Line 1806 of yacc.c */ 6349 #line 89 3"parser.yy"6348 #line 890 "parser.yy" 6350 6349 { (yyval.pn) = (yyvsp[(1) - (10)].pn)->set_link( StatementNode::newCatchStmt( (yyvsp[(6) - (10)].decl), (yyvsp[(9) - (10)].sn) ) ); } 6351 6350 break; … … 6354 6353 6355 6354 /* Line 1806 of yacc.c */ 6356 #line 89 8"parser.yy"6355 #line 895 "parser.yy" 6357 6356 { 6358 6357 (yyval.pn) = new StatementNode( StatementNode::Finally, 0, (yyvsp[(2) - (2)].sn) ); … … 6364 6363 6365 6364 /* Line 1806 of yacc.c */ 6366 #line 9 12"parser.yy"6365 #line 909 "parser.yy" 6367 6366 { 6368 6367 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6374 6373 6375 6374 /* Line 1806 of yacc.c */ 6376 #line 91 7"parser.yy"6375 #line 914 "parser.yy" 6377 6376 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 6378 6377 break; … … 6381 6380 6382 6381 /* Line 1806 of yacc.c */ 6383 #line 91 9"parser.yy"6382 #line 916 "parser.yy" 6384 6383 { 6385 6384 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6391 6390 6392 6391 /* Line 1806 of yacc.c */ 6393 #line 92 8"parser.yy"6392 #line 925 "parser.yy" 6394 6393 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (6)].flag), (yyvsp[(4) - (6)].constant), 0 ); } 6395 6394 break; … … 6398 6397 6399 6398 /* Line 1806 of yacc.c */ 6400 #line 9 30"parser.yy"6399 #line 927 "parser.yy" 6401 6400 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (8)].flag), (yyvsp[(4) - (8)].constant), (yyvsp[(6) - (8)].en) ); } 6402 6401 break; … … 6405 6404 6406 6405 /* Line 1806 of yacc.c */ 6407 #line 9 32"parser.yy"6406 #line 929 "parser.yy" 6408 6407 { (yyval.sn) = new AsmStmtNode( StatementNode::Asm, (yyvsp[(2) - (10)].flag), (yyvsp[(4) - (10)].constant), (yyvsp[(6) - (10)].en), (yyvsp[(8) - (10)].en) ); } 6409 6408 break; … … 6412 6411 6413 6412 /* Line 1806 of yacc.c */ 6414 #line 93 4"parser.yy"6413 #line 931 "parser.yy" 6415 6414 { (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) ); } 6416 6415 break; … … 6419 6418 6420 6419 /* Line 1806 of yacc.c */ 6421 #line 93 6"parser.yy"6420 #line 933 "parser.yy" 6422 6421 { (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) ); } 6423 6422 break; … … 6426 6425 6427 6426 /* Line 1806 of yacc.c */ 6428 #line 9 41"parser.yy"6427 #line 938 "parser.yy" 6429 6428 { (yyval.flag) = false; } 6430 6429 break; … … 6433 6432 6434 6433 /* Line 1806 of yacc.c */ 6435 #line 94 3"parser.yy"6434 #line 940 "parser.yy" 6436 6435 { (yyval.flag) = true; } 6437 6436 break; … … 6440 6439 6441 6440 /* Line 1806 of yacc.c */ 6442 #line 94 8"parser.yy"6441 #line 945 "parser.yy" 6443 6442 { (yyval.en) = 0; } 6444 6443 break; … … 6447 6446 6448 6447 /* Line 1806 of yacc.c */ 6449 #line 95 5"parser.yy"6448 #line 952 "parser.yy" 6450 6449 { (yyval.en) = (ExpressionNode *)(yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) ); } 6451 6450 break; … … 6454 6453 6455 6454 /* Line 1806 of yacc.c */ 6456 #line 9 60"parser.yy"6455 #line 957 "parser.yy" 6457 6456 { (yyval.en) = new AsmExprNode( 0, (yyvsp[(1) - (4)].constant), (yyvsp[(3) - (4)].en) ); } 6458 6457 break; … … 6461 6460 6462 6461 /* Line 1806 of yacc.c */ 6463 #line 9 62"parser.yy"6462 #line 959 "parser.yy" 6464 6463 { (yyval.en) = new AsmExprNode( (yyvsp[(2) - (7)].en), (yyvsp[(4) - (7)].constant), (yyvsp[(6) - (7)].en) ); } 6465 6464 break; … … 6468 6467 6469 6468 /* Line 1806 of yacc.c */ 6470 #line 96 7"parser.yy"6469 #line 964 "parser.yy" 6471 6470 { (yyval.constant) = 0; } 6472 6471 break; … … 6475 6474 6476 6475 /* Line 1806 of yacc.c */ 6477 #line 96 9"parser.yy"6476 #line 966 "parser.yy" 6478 6477 { (yyval.constant) = (yyvsp[(1) - (1)].constant); } 6479 6478 break; … … 6482 6481 6483 6482 /* Line 1806 of yacc.c */ 6484 #line 9 71"parser.yy"6483 #line 968 "parser.yy" 6485 6484 { (yyval.constant) = (ConstantNode *)(yyvsp[(1) - (3)].constant)->set_link( (yyvsp[(3) - (3)].constant) ); } 6486 6485 break; … … 6489 6488 6490 6489 /* Line 1806 of yacc.c */ 6491 #line 97 6"parser.yy"6490 #line 973 "parser.yy" 6492 6491 { (yyval.label) = new LabelNode(); (yyval.label)->append_label( (yyvsp[(1) - (1)].tok) ); } 6493 6492 break; … … 6496 6495 6497 6496 /* Line 1806 of yacc.c */ 6498 #line 97 8"parser.yy"6497 #line 975 "parser.yy" 6499 6498 { (yyval.label) = (yyvsp[(1) - (3)].label); (yyvsp[(1) - (3)].label)->append_label( (yyvsp[(3) - (3)].tok) ); } 6500 6499 break; … … 6503 6502 6504 6503 /* Line 1806 of yacc.c */ 6505 #line 98 5"parser.yy"6504 #line 982 "parser.yy" 6506 6505 { (yyval.decl) = 0; } 6507 6506 break; … … 6510 6509 6511 6510 /* Line 1806 of yacc.c */ 6512 #line 9 92"parser.yy"6511 #line 989 "parser.yy" 6513 6512 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6514 6513 break; … … 6517 6516 6518 6517 /* Line 1806 of yacc.c */ 6519 #line 99 7"parser.yy"6518 #line 994 "parser.yy" 6520 6519 { (yyval.decl) = 0; } 6521 6520 break; … … 6524 6523 6525 6524 /* Line 1806 of yacc.c */ 6526 #line 100 4"parser.yy"6525 #line 1001 "parser.yy" 6527 6526 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 6528 6527 break; … … 6531 6530 6532 6531 /* Line 1806 of yacc.c */ 6533 #line 101 8"parser.yy"6532 #line 1015 "parser.yy" 6534 6533 {} 6535 6534 break; … … 6538 6537 6539 6538 /* Line 1806 of yacc.c */ 6540 #line 101 9"parser.yy"6539 #line 1016 "parser.yy" 6541 6540 {} 6542 6541 break; … … 6545 6544 6546 6545 /* Line 1806 of yacc.c */ 6547 #line 104 8"parser.yy"6546 #line 1045 "parser.yy" 6548 6547 { 6549 6548 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6555 6554 6556 6555 /* Line 1806 of yacc.c */ 6557 #line 105 5"parser.yy"6556 #line 1052 "parser.yy" 6558 6557 { 6559 6558 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6565 6564 6566 6565 /* Line 1806 of yacc.c */ 6567 #line 10 60"parser.yy"6566 #line 1057 "parser.yy" 6568 6567 { 6569 6568 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (6)].tok), TypedefTable::ID ); … … 6575 6574 6576 6575 /* Line 1806 of yacc.c */ 6577 #line 10 70"parser.yy"6576 #line 1067 "parser.yy" 6578 6577 { 6579 6578 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6585 6584 6586 6585 /* Line 1806 of yacc.c */ 6587 #line 107 5"parser.yy"6586 #line 1072 "parser.yy" 6588 6587 { 6589 6588 typedefTable.setNextIdentifier( *(yyvsp[(2) - (3)].tok) ); … … 6595 6594 6596 6595 /* Line 1806 of yacc.c */ 6597 #line 10 80"parser.yy"6596 #line 1077 "parser.yy" 6598 6597 { 6599 6598 typedefTable.setNextIdentifier( *(yyvsp[(3) - (4)].tok) ); … … 6605 6604 6606 6605 /* Line 1806 of yacc.c */ 6607 #line 108 8"parser.yy"6606 #line 1085 "parser.yy" 6608 6607 { 6609 6608 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6615 6614 6616 6615 /* Line 1806 of yacc.c */ 6617 #line 109 3"parser.yy"6616 #line 1090 "parser.yy" 6618 6617 { 6619 6618 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6625 6624 6626 6625 /* Line 1806 of yacc.c */ 6627 #line 109 8"parser.yy"6626 #line 1095 "parser.yy" 6628 6627 { 6629 6628 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6635 6634 6636 6635 /* Line 1806 of yacc.c */ 6637 #line 110 3"parser.yy"6636 #line 1100 "parser.yy" 6638 6637 { 6639 6638 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6645 6644 6646 6645 /* Line 1806 of yacc.c */ 6647 #line 110 8"parser.yy"6646 #line 1105 "parser.yy" 6648 6647 { 6649 6648 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 6655 6654 6656 6655 /* Line 1806 of yacc.c */ 6657 #line 111 6"parser.yy"6656 #line 1113 "parser.yy" 6658 6657 { 6659 6658 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(3) - (8)].tok), DeclarationNode::newTuple( 0 ), (yyvsp[(6) - (8)].decl), 0, true ); … … 6664 6663 6665 6664 /* Line 1806 of yacc.c */ 6666 #line 113 9"parser.yy"6665 #line 1136 "parser.yy" 6667 6666 { 6668 6667 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6673 6672 6674 6673 /* Line 1806 of yacc.c */ 6675 #line 114 3"parser.yy"6674 #line 1140 "parser.yy" 6676 6675 { 6677 6676 (yyval.decl) = DeclarationNode::newFunction( (yyvsp[(2) - (7)].tok), (yyvsp[(1) - (7)].decl), (yyvsp[(5) - (7)].decl), 0, true ); … … 6682 6681 6683 6682 /* Line 1806 of yacc.c */ 6684 #line 11 50"parser.yy"6683 #line 1147 "parser.yy" 6685 6684 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 6686 6685 break; … … 6689 6688 6690 6689 /* Line 1806 of yacc.c */ 6691 #line 115 4"parser.yy"6690 #line 1151 "parser.yy" 6692 6691 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (9)].decl)->appendList( (yyvsp[(7) - (9)].decl) ) ); } 6693 6692 break; … … 6696 6695 6697 6696 /* Line 1806 of yacc.c */ 6698 #line 115 9"parser.yy"6697 #line 1156 "parser.yy" 6699 6698 { 6700 6699 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6706 6705 6707 6706 /* Line 1806 of yacc.c */ 6708 #line 116 4"parser.yy"6707 #line 1161 "parser.yy" 6709 6708 { 6710 6709 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6716 6715 6717 6716 /* Line 1806 of yacc.c */ 6718 #line 116 9"parser.yy"6717 #line 1166 "parser.yy" 6719 6718 { 6720 6719 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (5)].tok), TypedefTable::TD ); … … 6726 6725 6727 6726 /* Line 1806 of yacc.c */ 6728 #line 11 80"parser.yy"6727 #line 1177 "parser.yy" 6729 6728 { 6730 6729 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6736 6735 6737 6736 /* Line 1806 of yacc.c */ 6738 #line 118 5"parser.yy"6737 #line 1182 "parser.yy" 6739 6738 { 6740 6739 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6746 6745 6747 6746 /* Line 1806 of yacc.c */ 6748 #line 11 90"parser.yy"6747 #line 1187 "parser.yy" 6749 6748 { 6750 6749 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6756 6755 6757 6756 /* Line 1806 of yacc.c */ 6758 #line 119 5"parser.yy"6757 #line 1192 "parser.yy" 6759 6758 { 6760 6759 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6766 6765 6767 6766 /* Line 1806 of yacc.c */ 6768 #line 1 200"parser.yy"6767 #line 1197 "parser.yy" 6769 6768 { 6770 6769 typedefTable.addToEnclosingScope( TypedefTable::TD ); … … 6776 6775 6777 6776 /* Line 1806 of yacc.c */ 6778 #line 120 9"parser.yy"6777 #line 1206 "parser.yy" 6779 6778 { 6780 6779 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (4)].tok), TypedefTable::TD ); … … 6786 6785 6787 6786 /* Line 1806 of yacc.c */ 6788 #line 121 4"parser.yy"6787 #line 1211 "parser.yy" 6789 6788 { 6790 6789 typedefTable.addToEnclosingScope( *(yyvsp[(5) - (7)].tok), TypedefTable::TD ); … … 6796 6795 6797 6796 /* Line 1806 of yacc.c */ 6798 #line 12 31"parser.yy"6797 #line 1228 "parser.yy" 6799 6798 { 6800 6799 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6806 6805 6807 6806 /* Line 1806 of yacc.c */ 6808 #line 123 6"parser.yy"6807 #line 1233 "parser.yy" 6809 6808 { 6810 6809 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 6816 6815 6817 6816 /* Line 1806 of yacc.c */ 6818 #line 125 8"parser.yy"6817 #line 1255 "parser.yy" 6819 6818 { (yyval.decl) = 0; } 6820 6819 break; … … 6823 6822 6824 6823 /* Line 1806 of yacc.c */ 6825 #line 12 70"parser.yy"6824 #line 1267 "parser.yy" 6826 6825 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6827 6826 break; … … 6830 6829 6831 6830 /* Line 1806 of yacc.c */ 6832 #line 12 81"parser.yy"6831 #line 1278 "parser.yy" 6833 6832 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Const ); } 6834 6833 break; … … 6837 6836 6838 6837 /* Line 1806 of yacc.c */ 6839 #line 128 3"parser.yy"6838 #line 1280 "parser.yy" 6840 6839 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Restrict ); } 6841 6840 break; … … 6844 6843 6845 6844 /* Line 1806 of yacc.c */ 6846 #line 128 5"parser.yy"6845 #line 1282 "parser.yy" 6847 6846 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Volatile ); } 6848 6847 break; … … 6851 6850 6852 6851 /* Line 1806 of yacc.c */ 6853 #line 128 7"parser.yy"6852 #line 1284 "parser.yy" 6854 6853 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Lvalue ); } 6855 6854 break; … … 6858 6857 6859 6858 /* Line 1806 of yacc.c */ 6860 #line 128 9"parser.yy"6859 #line 1286 "parser.yy" 6861 6860 { (yyval.decl) = DeclarationNode::newQualifier( DeclarationNode::Atomic ); } 6862 6861 break; … … 6865 6864 6866 6865 /* Line 1806 of yacc.c */ 6867 #line 12 91"parser.yy"6866 #line 1288 "parser.yy" 6868 6867 { 6869 6868 typedefTable.enterScope(); … … 6874 6873 6875 6874 /* Line 1806 of yacc.c */ 6876 #line 129 5"parser.yy"6875 #line 1292 "parser.yy" 6877 6876 { 6878 6877 typedefTable.leaveScope(); … … 6884 6883 6885 6884 /* Line 1806 of yacc.c */ 6886 #line 130 4"parser.yy"6885 #line 1301 "parser.yy" 6887 6886 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6888 6887 break; … … 6891 6890 6892 6891 /* Line 1806 of yacc.c */ 6893 #line 130 6"parser.yy"6892 #line 1303 "parser.yy" 6894 6893 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 6895 6894 break; … … 6898 6897 6899 6898 /* Line 1806 of yacc.c */ 6900 #line 131 7"parser.yy"6899 #line 1314 "parser.yy" 6901 6900 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 6902 6901 break; … … 6905 6904 6906 6905 /* Line 1806 of yacc.c */ 6907 #line 132 6"parser.yy"6906 #line 1323 "parser.yy" 6908 6907 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Extern ); } 6909 6908 break; … … 6912 6911 6913 6912 /* Line 1806 of yacc.c */ 6914 #line 132 8"parser.yy"6913 #line 1325 "parser.yy" 6915 6914 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Static ); } 6916 6915 break; … … 6919 6918 6920 6919 /* Line 1806 of yacc.c */ 6921 #line 13 30"parser.yy"6920 #line 1327 "parser.yy" 6922 6921 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Auto ); } 6923 6922 break; … … 6926 6925 6927 6926 /* Line 1806 of yacc.c */ 6928 #line 13 32"parser.yy"6927 #line 1329 "parser.yy" 6929 6928 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Register ); } 6930 6929 break; … … 6933 6932 6934 6933 /* Line 1806 of yacc.c */ 6935 #line 133 4"parser.yy"6934 #line 1331 "parser.yy" 6936 6935 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Inline ); } 6937 6936 break; … … 6940 6939 6941 6940 /* Line 1806 of yacc.c */ 6942 #line 133 6"parser.yy"6941 #line 1333 "parser.yy" 6943 6942 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Fortran ); } 6944 6943 break; … … 6947 6946 6948 6947 /* Line 1806 of yacc.c */ 6949 #line 133 8"parser.yy"6948 #line 1335 "parser.yy" 6950 6949 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Noreturn ); } 6951 6950 break; … … 6954 6953 6955 6954 /* Line 1806 of yacc.c */ 6956 #line 13 40"parser.yy"6955 #line 1337 "parser.yy" 6957 6956 { (yyval.decl) = DeclarationNode::newStorageClass( DeclarationNode::Threadlocal ); } 6958 6957 break; … … 6961 6960 6962 6961 /* Line 1806 of yacc.c */ 6963 #line 134 5"parser.yy"6962 #line 1342 "parser.yy" 6964 6963 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Char ); } 6965 6964 break; … … 6968 6967 6969 6968 /* Line 1806 of yacc.c */ 6970 #line 134 7"parser.yy"6969 #line 1344 "parser.yy" 6971 6970 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Double ); } 6972 6971 break; … … 6975 6974 6976 6975 /* Line 1806 of yacc.c */ 6977 #line 134 9"parser.yy"6976 #line 1346 "parser.yy" 6978 6977 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Float ); } 6979 6978 break; … … 6982 6981 6983 6982 /* Line 1806 of yacc.c */ 6984 #line 13 51"parser.yy"6983 #line 1348 "parser.yy" 6985 6984 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Int ); } 6986 6985 break; … … 6989 6988 6990 6989 /* Line 1806 of yacc.c */ 6991 #line 135 3"parser.yy"6990 #line 1350 "parser.yy" 6992 6991 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Long ); } 6993 6992 break; … … 6996 6995 6997 6996 /* Line 1806 of yacc.c */ 6998 #line 135 5"parser.yy"6997 #line 1352 "parser.yy" 6999 6998 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Short ); } 7000 6999 break; … … 7003 7002 7004 7003 /* Line 1806 of yacc.c */ 7005 #line 135 7"parser.yy"7004 #line 1354 "parser.yy" 7006 7005 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Signed ); } 7007 7006 break; … … 7010 7009 7011 7010 /* Line 1806 of yacc.c */ 7012 #line 135 9"parser.yy"7011 #line 1356 "parser.yy" 7013 7012 { (yyval.decl) = DeclarationNode::newModifier( DeclarationNode::Unsigned ); } 7014 7013 break; … … 7017 7016 7018 7017 /* Line 1806 of yacc.c */ 7019 #line 13 61"parser.yy"7018 #line 1358 "parser.yy" 7020 7019 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Void ); } 7021 7020 break; … … 7024 7023 7025 7024 /* Line 1806 of yacc.c */ 7026 #line 136 3"parser.yy"7025 #line 1360 "parser.yy" 7027 7026 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Bool ); } 7028 7027 break; … … 7031 7030 7032 7031 /* Line 1806 of yacc.c */ 7033 #line 136 5"parser.yy"7032 #line 1362 "parser.yy" 7034 7033 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Complex ); } 7035 7034 break; … … 7038 7037 7039 7038 /* Line 1806 of yacc.c */ 7040 #line 136 7"parser.yy"7039 #line 1364 "parser.yy" 7041 7040 { (yyval.decl) = DeclarationNode::newBasicType( DeclarationNode::Imaginary ); } 7042 7041 break; … … 7045 7044 7046 7045 /* Line 1806 of yacc.c */ 7047 #line 136 9"parser.yy"7046 #line 1366 "parser.yy" 7048 7047 { (yyval.decl) = DeclarationNode::newBuiltinType( DeclarationNode::Valist ); } 7049 7048 break; … … 7052 7051 7053 7052 /* Line 1806 of yacc.c */ 7054 #line 137 6"parser.yy"7053 #line 1373 "parser.yy" 7055 7054 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7056 7055 break; … … 7059 7058 7060 7059 /* Line 1806 of yacc.c */ 7061 #line 137 8"parser.yy"7060 #line 1375 "parser.yy" 7062 7061 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7063 7062 break; … … 7066 7065 7067 7066 /* Line 1806 of yacc.c */ 7068 #line 13 80"parser.yy"7067 #line 1377 "parser.yy" 7069 7068 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7070 7069 break; … … 7073 7072 7074 7073 /* Line 1806 of yacc.c */ 7075 #line 13 82"parser.yy"7074 #line 1379 "parser.yy" 7076 7075 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addType( (yyvsp[(1) - (3)].decl) ); } 7077 7076 break; … … 7080 7079 7081 7080 /* Line 1806 of yacc.c */ 7082 #line 138 8"parser.yy"7081 #line 1385 "parser.yy" 7083 7082 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7084 7083 break; … … 7087 7086 7088 7087 /* Line 1806 of yacc.c */ 7089 #line 139 5"parser.yy"7088 #line 1392 "parser.yy" 7090 7089 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7091 7090 break; … … 7094 7093 7095 7094 /* Line 1806 of yacc.c */ 7096 #line 139 7"parser.yy"7095 #line 1394 "parser.yy" 7097 7096 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7098 7097 break; … … 7101 7100 7102 7101 /* Line 1806 of yacc.c */ 7103 #line 139 9"parser.yy"7102 #line 1396 "parser.yy" 7104 7103 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addType( (yyvsp[(2) - (2)].decl) ); } 7105 7104 break; … … 7108 7107 7109 7108 /* Line 1806 of yacc.c */ 7110 #line 140 4"parser.yy"7109 #line 1401 "parser.yy" 7111 7110 { (yyval.decl) = (yyvsp[(3) - (4)].decl); } 7112 7111 break; … … 7115 7114 7116 7115 /* Line 1806 of yacc.c */ 7117 #line 140 6"parser.yy"7116 #line 1403 "parser.yy" 7118 7117 { (yyval.decl) = DeclarationNode::newTypeof( (yyvsp[(3) - (4)].en) ); } 7119 7118 break; … … 7122 7121 7123 7122 /* Line 1806 of yacc.c */ 7124 #line 140 8"parser.yy"7123 #line 1405 "parser.yy" 7125 7124 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].decl) ); } 7126 7125 break; … … 7129 7128 7130 7129 /* Line 1806 of yacc.c */ 7131 #line 14 10"parser.yy"7130 #line 1407 "parser.yy" 7132 7131 { (yyval.decl) = DeclarationNode::newAttr( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7133 7132 break; … … 7136 7135 7137 7136 /* Line 1806 of yacc.c */ 7138 #line 141 6"parser.yy"7137 #line 1413 "parser.yy" 7139 7138 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7140 7139 break; … … 7143 7142 7144 7143 /* Line 1806 of yacc.c */ 7145 #line 141 8"parser.yy"7144 #line 1415 "parser.yy" 7146 7145 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7147 7146 break; … … 7150 7149 7151 7150 /* Line 1806 of yacc.c */ 7152 #line 14 20"parser.yy"7151 #line 1417 "parser.yy" 7153 7152 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7154 7153 break; … … 7157 7156 7158 7157 /* Line 1806 of yacc.c */ 7159 #line 142 6"parser.yy"7158 #line 1423 "parser.yy" 7160 7159 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7161 7160 break; … … 7164 7163 7165 7164 /* Line 1806 of yacc.c */ 7166 #line 142 8"parser.yy"7165 #line 1425 "parser.yy" 7167 7166 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7168 7167 break; … … 7171 7170 7172 7171 /* Line 1806 of yacc.c */ 7173 #line 143 4"parser.yy"7172 #line 1431 "parser.yy" 7174 7173 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7175 7174 break; … … 7178 7177 7179 7178 /* Line 1806 of yacc.c */ 7180 #line 143 6"parser.yy"7179 #line 1433 "parser.yy" 7181 7180 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7182 7181 break; … … 7185 7184 7186 7185 /* Line 1806 of yacc.c */ 7187 #line 143 8"parser.yy"7186 #line 1435 "parser.yy" 7188 7187 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7189 7188 break; … … 7192 7191 7193 7192 /* Line 1806 of yacc.c */ 7194 #line 144 3"parser.yy"7193 #line 1440 "parser.yy" 7195 7194 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(1) - (1)].tok) ); } 7196 7195 break; … … 7199 7198 7200 7199 /* Line 1806 of yacc.c */ 7201 #line 144 5"parser.yy"7200 #line 1442 "parser.yy" 7202 7201 { (yyval.decl) = DeclarationNode::newFromTypedef( (yyvsp[(2) - (2)].tok) )->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7203 7202 break; … … 7206 7205 7207 7206 /* Line 1806 of yacc.c */ 7208 #line 144 7"parser.yy"7207 #line 1444 "parser.yy" 7209 7208 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7210 7209 break; … … 7213 7212 7214 7213 /* Line 1806 of yacc.c */ 7215 #line 145 7"parser.yy"7214 #line 1454 "parser.yy" 7216 7215 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (4)].aggKey), 0, 0, (yyvsp[(3) - (4)].decl), true ); } 7217 7216 break; … … 7220 7219 7221 7220 /* Line 1806 of yacc.c */ 7222 #line 145 9"parser.yy"7221 #line 1456 "parser.yy" 7223 7222 { 7224 7223 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7230 7229 7231 7230 /* Line 1806 of yacc.c */ 7232 #line 146 4"parser.yy"7231 #line 1461 "parser.yy" 7233 7232 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7234 7233 break; … … 7237 7236 7238 7237 /* Line 1806 of yacc.c */ 7239 #line 146 6"parser.yy"7238 #line 1463 "parser.yy" 7240 7239 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (6)].aggKey), (yyvsp[(2) - (6)].tok), 0, (yyvsp[(5) - (6)].decl), true ); } 7241 7240 break; … … 7244 7243 7245 7244 /* Line 1806 of yacc.c */ 7246 #line 146 8"parser.yy"7245 #line 1465 "parser.yy" 7247 7246 { (yyval.decl) = DeclarationNode::newAggregate( (yyvsp[(1) - (7)].aggKey), 0, (yyvsp[(3) - (7)].en), (yyvsp[(6) - (7)].decl), false ); } 7248 7247 break; … … 7251 7250 7252 7251 /* Line 1806 of yacc.c */ 7253 #line 14 70"parser.yy"7252 #line 1467 "parser.yy" 7254 7253 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7255 7254 break; … … 7258 7257 7259 7258 /* Line 1806 of yacc.c */ 7260 #line 147 5"parser.yy"7259 #line 1472 "parser.yy" 7261 7260 { (yyval.aggKey) = DeclarationNode::Struct; } 7262 7261 break; … … 7265 7264 7266 7265 /* Line 1806 of yacc.c */ 7267 #line 147 7"parser.yy"7266 #line 1474 "parser.yy" 7268 7267 { (yyval.aggKey) = DeclarationNode::Union; } 7269 7268 break; … … 7272 7271 7273 7272 /* Line 1806 of yacc.c */ 7274 #line 14 82"parser.yy"7273 #line 1479 "parser.yy" 7275 7274 { (yyval.decl) = 0; } 7276 7275 break; … … 7279 7278 7280 7279 /* Line 1806 of yacc.c */ 7281 #line 148 4"parser.yy"7280 #line 1481 "parser.yy" 7282 7281 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7283 7282 break; … … 7286 7285 7287 7286 /* Line 1806 of yacc.c */ 7287 #line 1487 "parser.yy" 7288 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); } 7289 break; 7290 7291 case 379: 7292 7293 /* Line 1806 of yacc.c */ 7288 7294 #line 1490 "parser.yy" 7289 { (yyval.decl) = (yyvsp[(2) - (3)].decl)->set_extension( true ); }7290 break;7291 7292 case 379:7293 7294 /* Line 1806 of yacc.c */7295 #line 1493 "parser.yy"7296 7295 { // mark all fields in list 7297 7296 for ( DeclarationNode *iter = (yyvsp[(2) - (3)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) … … 7304 7303 7305 7304 /* Line 1806 of yacc.c */ 7306 #line 150 3"parser.yy"7305 #line 1500 "parser.yy" 7307 7306 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addName( (yyvsp[(2) - (2)].tok) ); } 7308 7307 break; … … 7311 7310 7312 7311 /* Line 1806 of yacc.c */ 7313 #line 150 5"parser.yy"7312 #line 1502 "parser.yy" 7314 7313 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(1) - (3)].decl)->cloneType( (yyvsp[(3) - (3)].tok) ) ); } 7315 7314 break; … … 7318 7317 7319 7318 /* Line 1806 of yacc.c */ 7320 #line 150 7"parser.yy"7319 #line 1504 "parser.yy" 7321 7320 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(1) - (2)].decl)->cloneType( 0 ) ); } 7322 7321 break; … … 7325 7324 7326 7325 /* Line 1806 of yacc.c */ 7327 #line 15 12"parser.yy"7326 #line 1509 "parser.yy" 7328 7327 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7329 7328 break; … … 7332 7331 7333 7332 /* Line 1806 of yacc.c */ 7334 #line 151 4"parser.yy"7333 #line 1511 "parser.yy" 7335 7334 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(1) - (4)].decl)->cloneBaseType( (yyvsp[(4) - (4)].decl) ) ); } 7336 7335 break; … … 7339 7338 7340 7339 /* Line 1806 of yacc.c */ 7341 #line 151 9"parser.yy"7340 #line 1516 "parser.yy" 7342 7341 { (yyval.decl) = DeclarationNode::newName( 0 ); /* XXX */ } 7343 7342 break; … … 7346 7345 7347 7346 /* Line 1806 of yacc.c */ 7347 #line 1518 "parser.yy" 7348 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); } 7349 break; 7350 7351 case 388: 7352 7353 /* Line 1806 of yacc.c */ 7348 7354 #line 1521 "parser.yy" 7349 { (yyval.decl) = DeclarationNode::newBitfield( (yyvsp[(1) - (1)].en) ); }7350 break; 7351 7352 case 38 8:7355 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); } 7356 break; 7357 7358 case 389: 7353 7359 7354 7360 /* Line 1806 of yacc.c */ … … 7357 7363 break; 7358 7364 7359 case 389:7360 7361 /* Line 1806 of yacc.c */7362 #line 1527 "parser.yy"7363 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addBitfield( (yyvsp[(2) - (2)].en) ); }7364 break;7365 7366 7365 case 391: 7367 7366 7368 7367 /* Line 1806 of yacc.c */ 7369 #line 153 3"parser.yy"7368 #line 1530 "parser.yy" 7370 7369 { (yyval.en) = 0; } 7371 7370 break; … … 7374 7373 7375 7374 /* Line 1806 of yacc.c */ 7376 #line 153 5"parser.yy"7375 #line 1532 "parser.yy" 7377 7376 { (yyval.en) = (yyvsp[(1) - (1)].en); } 7378 7377 break; … … 7381 7380 7382 7381 /* Line 1806 of yacc.c */ 7383 #line 15 40"parser.yy"7382 #line 1537 "parser.yy" 7384 7383 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7385 7384 break; … … 7388 7387 7389 7388 /* Line 1806 of yacc.c */ 7390 #line 154 9"parser.yy"7389 #line 1546 "parser.yy" 7391 7390 { (yyval.decl) = DeclarationNode::newEnum( 0, (yyvsp[(3) - (5)].decl) ); } 7392 7391 break; … … 7395 7394 7396 7395 /* Line 1806 of yacc.c */ 7397 #line 15 51"parser.yy"7396 #line 1548 "parser.yy" 7398 7397 { 7399 7398 typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); … … 7405 7404 7406 7405 /* Line 1806 of yacc.c */ 7407 #line 155 6"parser.yy"7406 #line 1553 "parser.yy" 7408 7407 { typedefTable.makeTypedef( *(yyvsp[(2) - (2)].tok) ); } 7409 7408 break; … … 7412 7411 7413 7412 /* Line 1806 of yacc.c */ 7414 #line 155 8"parser.yy"7413 #line 1555 "parser.yy" 7415 7414 { (yyval.decl) = DeclarationNode::newEnum( (yyvsp[(2) - (7)].tok), (yyvsp[(5) - (7)].decl) ); } 7416 7415 break; … … 7419 7418 7420 7419 /* Line 1806 of yacc.c */ 7421 #line 156 3"parser.yy"7420 #line 1560 "parser.yy" 7422 7421 { (yyval.decl) = DeclarationNode::newEnumConstant( (yyvsp[(1) - (2)].tok), (yyvsp[(2) - (2)].en) ); } 7423 7422 break; … … 7426 7425 7427 7426 /* Line 1806 of yacc.c */ 7428 #line 156 5"parser.yy"7427 #line 1562 "parser.yy" 7429 7428 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( DeclarationNode::newEnumConstant( (yyvsp[(3) - (4)].tok), (yyvsp[(4) - (4)].en) ) ); } 7430 7429 break; … … 7433 7432 7434 7433 /* Line 1806 of yacc.c */ 7435 #line 15 70"parser.yy"7434 #line 1567 "parser.yy" 7436 7435 { (yyval.en) = 0; } 7437 7436 break; … … 7440 7439 7441 7440 /* Line 1806 of yacc.c */ 7442 #line 15 72"parser.yy"7441 #line 1569 "parser.yy" 7443 7442 { (yyval.en) = (yyvsp[(2) - (2)].en); } 7444 7443 break; … … 7447 7446 7448 7447 /* Line 1806 of yacc.c */ 7449 #line 157 9"parser.yy"7448 #line 1576 "parser.yy" 7450 7449 { (yyval.decl) = 0; } 7451 7450 break; … … 7454 7453 7455 7454 /* Line 1806 of yacc.c */ 7456 #line 158 7"parser.yy"7455 #line 1584 "parser.yy" 7457 7456 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7458 7457 break; … … 7461 7460 7462 7461 /* Line 1806 of yacc.c */ 7463 #line 158 9"parser.yy"7462 #line 1586 "parser.yy" 7464 7463 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7465 7464 break; … … 7468 7467 7469 7468 /* Line 1806 of yacc.c */ 7470 #line 15 91"parser.yy"7469 #line 1588 "parser.yy" 7471 7470 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7472 7471 break; … … 7475 7474 7476 7475 /* Line 1806 of yacc.c */ 7477 #line 159 9"parser.yy"7476 #line 1596 "parser.yy" 7478 7477 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7479 7478 break; … … 7482 7481 7483 7482 /* Line 1806 of yacc.c */ 7484 #line 1 601"parser.yy"7483 #line 1598 "parser.yy" 7485 7484 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7486 7485 break; … … 7489 7488 7490 7489 /* Line 1806 of yacc.c */ 7491 #line 160 3"parser.yy"7490 #line 1600 "parser.yy" 7492 7491 { (yyval.decl) = (yyvsp[(1) - (9)].decl)->appendList( (yyvsp[(5) - (9)].decl) )->appendList( (yyvsp[(9) - (9)].decl) ); } 7493 7492 break; … … 7496 7495 7497 7496 /* Line 1806 of yacc.c */ 7498 #line 160 9"parser.yy"7497 #line 1606 "parser.yy" 7499 7498 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7500 7499 break; … … 7503 7502 7504 7503 /* Line 1806 of yacc.c */ 7505 #line 161 4"parser.yy"7504 #line 1611 "parser.yy" 7506 7505 { (yyval.decl) = 0; } 7507 7506 break; … … 7510 7509 7511 7510 /* Line 1806 of yacc.c */ 7512 #line 16 21"parser.yy"7511 #line 1618 "parser.yy" 7513 7512 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->addVarArgs(); } 7514 7513 break; … … 7517 7516 7518 7517 /* Line 1806 of yacc.c */ 7519 #line 162 8"parser.yy"7518 #line 1625 "parser.yy" 7520 7519 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7521 7520 break; … … 7524 7523 7525 7524 /* Line 1806 of yacc.c */ 7526 #line 16 30"parser.yy"7525 #line 1627 "parser.yy" 7527 7526 { (yyval.decl) = (yyvsp[(1) - (5)].decl)->appendList( (yyvsp[(5) - (5)].decl) ); } 7528 7527 break; 7529 7528 7530 7529 case 425: 7530 7531 /* Line 1806 of yacc.c */ 7532 #line 1636 "parser.yy" 7533 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); } 7534 break; 7535 7536 case 426: 7531 7537 7532 7538 /* Line 1806 of yacc.c */ … … 7535 7541 break; 7536 7542 7537 case 426:7538 7539 /* Line 1806 of yacc.c */7540 #line 1642 "parser.yy"7541 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addName( (yyvsp[(2) - (3)].tok) ); }7542 break;7543 7544 7543 case 427: 7545 7544 7546 7545 /* Line 1806 of yacc.c */ 7547 #line 164 4"parser.yy"7546 #line 1641 "parser.yy" 7548 7547 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addName( (yyvsp[(3) - (4)].tok) )->addQualifiers( (yyvsp[(1) - (4)].decl) ); } 7549 7548 break; … … 7552 7551 7553 7552 /* Line 1806 of yacc.c */ 7554 #line 165 4"parser.yy"7553 #line 1651 "parser.yy" 7555 7554 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7556 7555 break; … … 7559 7558 7560 7559 /* Line 1806 of yacc.c */ 7561 #line 16 60"parser.yy"7560 #line 1657 "parser.yy" 7562 7561 { 7563 7562 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7569 7568 7570 7569 /* Line 1806 of yacc.c */ 7571 #line 166 5"parser.yy"7570 #line 1662 "parser.yy" 7572 7571 { 7573 7572 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 7579 7578 7580 7579 /* Line 1806 of yacc.c */ 7581 #line 167 4"parser.yy"7580 #line 1671 "parser.yy" 7582 7581 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7583 7582 break; … … 7586 7585 7587 7586 /* Line 1806 of yacc.c */ 7588 #line 168 3"parser.yy"7587 #line 1680 "parser.yy" 7589 7588 { (yyval.decl) = DeclarationNode::newName( (yyvsp[(1) - (1)].tok) ); } 7590 7589 break; … … 7593 7592 7594 7593 /* Line 1806 of yacc.c */ 7595 #line 168 5"parser.yy"7594 #line 1682 "parser.yy" 7596 7595 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( DeclarationNode::newName( (yyvsp[(3) - (3)].tok) ) ); } 7597 7596 break; … … 7600 7599 7601 7600 /* Line 1806 of yacc.c */ 7602 #line 17 10"parser.yy"7601 #line 1707 "parser.yy" 7603 7602 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7604 7603 break; … … 7607 7606 7608 7607 /* Line 1806 of yacc.c */ 7609 #line 171 8"parser.yy"7608 #line 1715 "parser.yy" 7610 7609 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addType( (yyvsp[(1) - (2)].decl) ); } 7611 7610 break; … … 7614 7613 7615 7614 /* Line 1806 of yacc.c */ 7616 #line 172 3"parser.yy"7615 #line 1720 "parser.yy" 7617 7616 { (yyval.in) = 0; } 7618 7617 break; … … 7621 7620 7622 7621 /* Line 1806 of yacc.c */ 7623 #line 172 5"parser.yy"7622 #line 1722 "parser.yy" 7624 7623 { (yyval.in) = (yyvsp[(2) - (2)].in); } 7625 7624 break; … … 7628 7627 7629 7628 /* Line 1806 of yacc.c */ 7630 #line 172 7"parser.yy"7629 #line 1724 "parser.yy" 7631 7630 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_maybeConstructed( false ); } 7632 7631 break; … … 7635 7634 7636 7635 /* Line 1806 of yacc.c */ 7637 #line 17 31"parser.yy"7636 #line 1728 "parser.yy" 7638 7637 { (yyval.in) = new InitializerNode( (yyvsp[(1) - (1)].en) ); } 7639 7638 break; … … 7642 7641 7643 7642 /* Line 1806 of yacc.c */ 7644 #line 17 32"parser.yy"7643 #line 1729 "parser.yy" 7645 7644 { (yyval.in) = new InitializerNode( (yyvsp[(2) - (4)].in), true ); } 7646 7645 break; … … 7649 7648 7650 7649 /* Line 1806 of yacc.c */ 7650 #line 1734 "parser.yy" 7651 { (yyval.in) = 0; } 7652 break; 7653 7654 case 463: 7655 7656 /* Line 1806 of yacc.c */ 7657 #line 1736 "parser.yy" 7658 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); } 7659 break; 7660 7661 case 464: 7662 7663 /* Line 1806 of yacc.c */ 7651 7664 #line 1737 "parser.yy" 7652 { (yyval.in) = 0; }7653 break; 7654 7655 case 46 3:7665 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); } 7666 break; 7667 7668 case 465: 7656 7669 7657 7670 /* Line 1806 of yacc.c */ 7658 7671 #line 1739 "parser.yy" 7659 { (yyval.in) = (yyvsp[(2) - (2)].in)->set_designators( (yyvsp[(1) - (2)].en) ); }7660 break;7661 7662 case 464:7663 7664 /* Line 1806 of yacc.c */7665 #line 1740 "parser.yy"7666 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (3)].in)->set_link( (yyvsp[(3) - (3)].in) ) ); }7667 break;7668 7669 case 465:7670 7671 /* Line 1806 of yacc.c */7672 #line 1742 "parser.yy"7673 7672 { (yyval.in) = (InitializerNode *)( (yyvsp[(1) - (4)].in)->set_link( (yyvsp[(4) - (4)].in)->set_designators( (yyvsp[(3) - (4)].en) ) ) ); } 7674 7673 break; … … 7677 7676 7678 7677 /* Line 1806 of yacc.c */ 7679 #line 175 8"parser.yy"7678 #line 1755 "parser.yy" 7680 7679 { (yyval.en) = new VarRefNode( (yyvsp[(1) - (2)].tok) ); } 7681 7680 break; … … 7684 7683 7685 7684 /* Line 1806 of yacc.c */ 7686 #line 176 4"parser.yy"7685 #line 1761 "parser.yy" 7687 7686 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (2)].en)->set_link( (yyvsp[(2) - (2)].en) )); } 7688 7687 break; … … 7691 7690 7692 7691 /* Line 1806 of yacc.c */ 7693 #line 17 72"parser.yy"7692 #line 1769 "parser.yy" 7694 7693 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(1) - (1)].tok) ) ); } 7695 7694 break; … … 7698 7697 7699 7698 /* Line 1806 of yacc.c */ 7699 #line 1771 "parser.yy" 7700 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); } 7701 break; 7702 7703 case 472: 7704 7705 /* Line 1806 of yacc.c */ 7700 7706 #line 1774 "parser.yy" 7701 { (yyval.en) = new DesignatorNode( new VarRefNode( (yyvsp[(2) - (2)].tok) ) ); }7702 break;7703 7704 case 472:7705 7706 /* Line 1806 of yacc.c */7707 #line 1777 "parser.yy"7708 7707 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 7709 7708 break; … … 7712 7711 7713 7712 /* Line 1806 of yacc.c */ 7714 #line 177 9"parser.yy"7713 #line 1776 "parser.yy" 7715 7714 { (yyval.en) = new DesignatorNode( (yyvsp[(3) - (5)].en), true ); } 7716 7715 break; … … 7719 7718 7720 7719 /* Line 1806 of yacc.c */ 7721 #line 17 81"parser.yy"7720 #line 1778 "parser.yy" 7722 7721 { (yyval.en) = new DesignatorNode( new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(3) - (7)].en), (yyvsp[(5) - (7)].en) ), true ); } 7723 7722 break; … … 7726 7725 7727 7726 /* Line 1806 of yacc.c */ 7728 #line 178 3"parser.yy"7727 #line 1780 "parser.yy" 7729 7728 { (yyval.en) = new DesignatorNode( (yyvsp[(4) - (6)].en) ); } 7730 7729 break; … … 7733 7732 7734 7733 /* Line 1806 of yacc.c */ 7735 #line 180 7"parser.yy"7734 #line 1804 "parser.yy" 7736 7735 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7737 7736 break; … … 7740 7739 7741 7740 /* Line 1806 of yacc.c */ 7742 #line 180 9"parser.yy"7741 #line 1806 "parser.yy" 7743 7742 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7744 7743 break; … … 7747 7746 7748 7747 /* Line 1806 of yacc.c */ 7749 #line 18 11"parser.yy"7748 #line 1808 "parser.yy" 7750 7749 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->addQualifiers( (yyvsp[(2) - (3)].decl) )->addQualifiers( (yyvsp[(3) - (3)].decl) ); } 7751 7750 break; … … 7754 7753 7755 7754 /* Line 1806 of yacc.c */ 7756 #line 181 7"parser.yy"7755 #line 1814 "parser.yy" 7757 7756 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 7758 7757 break; … … 7761 7760 7762 7761 /* Line 1806 of yacc.c */ 7763 #line 181 9"parser.yy"7762 #line 1816 "parser.yy" 7764 7763 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 7765 7764 break; … … 7768 7767 7769 7768 /* Line 1806 of yacc.c */ 7770 #line 182 4"parser.yy"7769 #line 1821 "parser.yy" 7771 7770 { (yyval.decl) = DeclarationNode::newFromTypeGen( (yyvsp[(1) - (4)].tok), (yyvsp[(3) - (4)].en) ); } 7772 7771 break; … … 7775 7774 7776 7775 /* Line 1806 of yacc.c */ 7777 #line 18 30"parser.yy"7776 #line 1827 "parser.yy" 7778 7777 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->appendList( (yyvsp[(3) - (4)].decl) ); } 7779 7778 break; … … 7782 7781 7783 7782 /* Line 1806 of yacc.c */ 7784 #line 183 5"parser.yy"7783 #line 1832 "parser.yy" 7785 7784 { typedefTable.addToEnclosingScope( *(yyvsp[(2) - (2)].tok), TypedefTable::TD ); } 7786 7785 break; … … 7789 7788 7790 7789 /* Line 1806 of yacc.c */ 7791 #line 183 7"parser.yy"7790 #line 1834 "parser.yy" 7792 7791 { (yyval.decl) = DeclarationNode::newTypeParam( (yyvsp[(1) - (4)].tclass), (yyvsp[(2) - (4)].tok) )->addAssertions( (yyvsp[(4) - (4)].decl) ); } 7793 7792 break; … … 7796 7795 7797 7796 /* Line 1806 of yacc.c */ 7798 #line 184 3"parser.yy"7797 #line 1840 "parser.yy" 7799 7798 { (yyval.tclass) = DeclarationNode::Type; } 7800 7799 break; … … 7803 7802 7804 7803 /* Line 1806 of yacc.c */ 7805 #line 184 5"parser.yy"7804 #line 1842 "parser.yy" 7806 7805 { (yyval.tclass) = DeclarationNode::Ftype; } 7807 7806 break; … … 7810 7809 7811 7810 /* Line 1806 of yacc.c */ 7812 #line 184 7"parser.yy"7811 #line 1844 "parser.yy" 7813 7812 { (yyval.tclass) = DeclarationNode::Dtype; } 7814 7813 break; … … 7817 7816 7818 7817 /* Line 1806 of yacc.c */ 7819 #line 18 52"parser.yy"7818 #line 1849 "parser.yy" 7820 7819 { (yyval.decl) = 0; } 7821 7820 break; … … 7824 7823 7825 7824 /* Line 1806 of yacc.c */ 7826 #line 185 4"parser.yy"7825 #line 1851 "parser.yy" 7827 7826 { (yyval.decl) = (yyvsp[(1) - (2)].decl) != 0 ? (yyvsp[(1) - (2)].decl)->appendList( (yyvsp[(2) - (2)].decl) ) : (yyvsp[(2) - (2)].decl); } 7828 7827 break; … … 7831 7830 7832 7831 /* Line 1806 of yacc.c */ 7833 #line 185 9"parser.yy"7832 #line 1856 "parser.yy" 7834 7833 { 7835 7834 typedefTable.openTrait( *(yyvsp[(2) - (5)].tok) ); … … 7841 7840 7842 7841 /* Line 1806 of yacc.c */ 7843 #line 186 4"parser.yy"7842 #line 1861 "parser.yy" 7844 7843 { (yyval.decl) = (yyvsp[(4) - (5)].decl); } 7845 7844 break; … … 7848 7847 7849 7848 /* Line 1806 of yacc.c */ 7850 #line 186 6"parser.yy"7849 #line 1863 "parser.yy" 7851 7850 { (yyval.decl) = 0; } 7852 7851 break; … … 7855 7854 7856 7855 /* Line 1806 of yacc.c */ 7856 #line 1868 "parser.yy" 7857 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); } 7858 break; 7859 7860 case 499: 7861 7862 /* Line 1806 of yacc.c */ 7857 7863 #line 1871 "parser.yy" 7858 { (yyval.en) = new TypeValueNode( (yyvsp[(1) - (1)].decl) ); }7859 break;7860 7861 case 499:7862 7863 /* Line 1806 of yacc.c */7864 #line 1874 "parser.yy"7865 7864 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( new TypeValueNode( (yyvsp[(3) - (3)].decl) ))); } 7866 7865 break; … … 7869 7868 7870 7869 /* Line 1806 of yacc.c */ 7871 #line 187 6"parser.yy"7870 #line 1873 "parser.yy" 7872 7871 { (yyval.en) = (ExpressionNode *)( (yyvsp[(1) - (3)].en)->set_link( (yyvsp[(3) - (3)].en) )); } 7873 7872 break; … … 7876 7875 7877 7876 /* Line 1806 of yacc.c */ 7878 #line 18 81"parser.yy"7877 #line 1878 "parser.yy" 7879 7878 { (yyval.decl) = (yyvsp[(2) - (2)].decl); } 7880 7879 break; … … 7883 7882 7884 7883 /* Line 1806 of yacc.c */ 7885 #line 188 3"parser.yy"7884 #line 1880 "parser.yy" 7886 7885 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addQualifiers( (yyvsp[(1) - (3)].decl) ); } 7887 7886 break; … … 7890 7889 7891 7890 /* Line 1806 of yacc.c */ 7892 #line 188 5"parser.yy"7891 #line 1882 "parser.yy" 7893 7892 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl)->copyStorageClasses( (yyvsp[(1) - (3)].decl) ) ); } 7894 7893 break; … … 7897 7896 7898 7897 /* Line 1806 of yacc.c */ 7899 #line 18 90"parser.yy"7898 #line 1887 "parser.yy" 7900 7899 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addAssertions( (yyvsp[(2) - (2)].decl) ); } 7901 7900 break; … … 7904 7903 7905 7904 /* Line 1806 of yacc.c */ 7906 #line 18 92"parser.yy"7905 #line 1889 "parser.yy" 7907 7906 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addAssertions( (yyvsp[(2) - (4)].decl) )->addType( (yyvsp[(4) - (4)].decl) ); } 7908 7907 break; … … 7911 7910 7912 7911 /* Line 1806 of yacc.c */ 7913 #line 189 7"parser.yy"7912 #line 1894 "parser.yy" 7914 7913 { 7915 7914 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (1)].tok), TypedefTable::TD ); … … 7921 7920 7922 7921 /* Line 1806 of yacc.c */ 7923 #line 1 902"parser.yy"7922 #line 1899 "parser.yy" 7924 7923 { 7925 7924 typedefTable.addToEnclosingScope( *(yyvsp[(1) - (6)].tok), TypedefTable::TG ); … … 7931 7930 7932 7931 /* Line 1806 of yacc.c */ 7933 #line 19 10"parser.yy"7932 #line 1907 "parser.yy" 7934 7933 { 7935 7934 typedefTable.addToEnclosingScope( *(yyvsp[(2) - (9)].tok), TypedefTable::ID ); … … 7941 7940 7942 7941 /* Line 1806 of yacc.c */ 7943 #line 191 5"parser.yy"7942 #line 1912 "parser.yy" 7944 7943 { 7945 7944 typedefTable.enterTrait( *(yyvsp[(2) - (8)].tok) ); … … 7951 7950 7952 7951 /* Line 1806 of yacc.c */ 7953 #line 19 20"parser.yy"7952 #line 1917 "parser.yy" 7954 7953 { 7955 7954 typedefTable.leaveTrait(); … … 7962 7961 7963 7962 /* Line 1806 of yacc.c */ 7964 #line 19 30"parser.yy"7963 #line 1927 "parser.yy" 7965 7964 { (yyval.decl) = (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ); } 7966 7965 break; … … 7969 7968 7970 7969 /* Line 1806 of yacc.c */ 7971 #line 19 40"parser.yy"7970 #line 1937 "parser.yy" 7972 7971 { 7973 7972 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7979 7978 7980 7979 /* Line 1806 of yacc.c */ 7981 #line 194 5"parser.yy"7980 #line 1942 "parser.yy" 7982 7981 { 7983 7982 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 7989 7988 7990 7989 /* Line 1806 of yacc.c */ 7991 #line 19 50"parser.yy"7990 #line 1947 "parser.yy" 7992 7991 { 7993 7992 typedefTable.addToEnclosingScope2( *(yyvsp[(5) - (5)].tok), TypedefTable::ID ); … … 7999 7998 8000 7999 /* Line 1806 of yacc.c */ 8001 #line 195 8"parser.yy"8000 #line 1955 "parser.yy" 8002 8001 { 8003 8002 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 8009 8008 8010 8009 /* Line 1806 of yacc.c */ 8011 #line 196 3"parser.yy"8010 #line 1960 "parser.yy" 8012 8011 { 8013 8012 typedefTable.addToEnclosingScope2( TypedefTable::ID ); … … 8019 8018 8020 8019 /* Line 1806 of yacc.c */ 8021 #line 197 3"parser.yy"8020 #line 1970 "parser.yy" 8022 8021 {} 8023 8022 break; … … 8026 8025 8027 8026 /* Line 1806 of yacc.c */ 8028 #line 197 5"parser.yy"8027 #line 1972 "parser.yy" 8029 8028 { 8030 8029 if ( theTree ) { … … 8039 8038 8040 8039 /* Line 1806 of yacc.c */ 8041 #line 198 7"parser.yy"8040 #line 1984 "parser.yy" 8042 8041 { (yyval.decl) = ( (yyvsp[(1) - (3)].decl) != NULL ) ? (yyvsp[(1) - (3)].decl)->appendList( (yyvsp[(3) - (3)].decl) ) : (yyvsp[(3) - (3)].decl); } 8043 8042 break; … … 8046 8045 8047 8046 /* Line 1806 of yacc.c */ 8048 #line 19 92"parser.yy"8047 #line 1989 "parser.yy" 8049 8048 { (yyval.decl) = 0; } 8050 8049 break; … … 8053 8052 8054 8053 /* Line 1806 of yacc.c */ 8055 #line 2000"parser.yy"8054 #line 1997 "parser.yy" 8056 8055 {} 8057 8056 break; … … 8060 8059 8061 8060 /* Line 1806 of yacc.c */ 8062 #line 2002"parser.yy"8061 #line 1999 "parser.yy" 8063 8062 { 8064 8063 linkageStack.push( linkage ); … … 8070 8069 8071 8070 /* Line 1806 of yacc.c */ 8072 #line 200 7"parser.yy"8071 #line 2004 "parser.yy" 8073 8072 { 8074 8073 linkage = linkageStack.top(); … … 8081 8080 8082 8081 /* Line 1806 of yacc.c */ 8083 #line 201 3"parser.yy"8082 #line 2010 "parser.yy" 8084 8083 { // mark all fields in list 8085 8084 for ( DeclarationNode *iter = (yyvsp[(2) - (2)].decl); iter != NULL; iter = (DeclarationNode *)iter->get_link() ) … … 8092 8091 8093 8092 /* Line 1806 of yacc.c */ 8094 #line 202 8"parser.yy"8093 #line 2025 "parser.yy" 8095 8094 { 8096 8095 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8103 8102 8104 8103 /* Line 1806 of yacc.c */ 8105 #line 203 4"parser.yy"8104 #line 2031 "parser.yy" 8106 8105 { 8107 8106 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8114 8113 8115 8114 /* Line 1806 of yacc.c */ 8116 #line 204 3"parser.yy"8115 #line 2040 "parser.yy" 8117 8116 { 8118 8117 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8125 8124 8126 8125 /* Line 1806 of yacc.c */ 8127 #line 204 9"parser.yy"8126 #line 2046 "parser.yy" 8128 8127 { 8129 8128 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8136 8135 8137 8136 /* Line 1806 of yacc.c */ 8138 #line 205 5"parser.yy"8137 #line 2052 "parser.yy" 8139 8138 { 8140 8139 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8147 8146 8148 8147 /* Line 1806 of yacc.c */ 8149 #line 20 61"parser.yy"8148 #line 2058 "parser.yy" 8150 8149 { 8151 8150 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8158 8157 8159 8158 /* Line 1806 of yacc.c */ 8160 #line 206 7"parser.yy"8159 #line 2064 "parser.yy" 8161 8160 { 8162 8161 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8169 8168 8170 8169 /* Line 1806 of yacc.c */ 8171 #line 207 5"parser.yy"8170 #line 2072 "parser.yy" 8172 8171 { 8173 8172 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8180 8179 8181 8180 /* Line 1806 of yacc.c */ 8182 #line 20 81"parser.yy"8181 #line 2078 "parser.yy" 8183 8182 { 8184 8183 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8191 8190 8192 8191 /* Line 1806 of yacc.c */ 8193 #line 208 9"parser.yy"8192 #line 2086 "parser.yy" 8194 8193 { 8195 8194 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8202 8201 8203 8202 /* Line 1806 of yacc.c */ 8204 #line 209 5"parser.yy"8203 #line 2092 "parser.yy" 8205 8204 { 8206 8205 typedefTable.addToEnclosingScope( TypedefTable::ID ); … … 8213 8212 8214 8213 /* Line 1806 of yacc.c */ 8215 #line 21 10"parser.yy"8214 #line 2107 "parser.yy" 8216 8215 { (yyval.en) = new CompositeExprNode( new OperatorNode( OperatorNode::Range ), (yyvsp[(1) - (3)].en), (yyvsp[(3) - (3)].en) ); } 8217 8216 break; … … 8220 8219 8221 8220 /* Line 1806 of yacc.c */ 8222 #line 21 20"parser.yy"8221 #line 2117 "parser.yy" 8223 8222 { (yyval.decl) = 0; } 8224 8223 break; … … 8227 8226 8228 8227 /* Line 1806 of yacc.c */ 8229 #line 212 7"parser.yy"8228 #line 2124 "parser.yy" 8230 8229 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 8231 8230 break; … … 8234 8233 8235 8234 /* Line 1806 of yacc.c */ 8236 #line 213 3"parser.yy"8235 #line 2130 "parser.yy" 8237 8236 { (yyval.decl) = 0; } 8238 8237 break; 8239 8238 8240 8239 case 560: 8240 8241 /* Line 1806 of yacc.c */ 8242 #line 2145 "parser.yy" 8243 {} 8244 break; 8245 8246 case 561: 8247 8248 /* Line 1806 of yacc.c */ 8249 #line 2146 "parser.yy" 8250 {} 8251 break; 8252 8253 case 562: 8254 8255 /* Line 1806 of yacc.c */ 8256 #line 2147 "parser.yy" 8257 {} 8258 break; 8259 8260 case 563: 8241 8261 8242 8262 /* Line 1806 of yacc.c */ … … 8245 8265 break; 8246 8266 8247 case 561:8248 8249 /* Line 1806 of yacc.c */8250 #line 2149 "parser.yy"8251 {}8252 break;8253 8254 case 562:8255 8256 /* Line 1806 of yacc.c */8257 #line 2150 "parser.yy"8258 {}8259 break;8260 8261 case 563:8262 8263 /* Line 1806 of yacc.c */8264 #line 2151 "parser.yy"8265 {}8266 break;8267 8268 8267 case 564: 8268 8269 /* Line 1806 of yacc.c */ 8270 #line 2183 "parser.yy" 8271 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8272 break; 8273 8274 case 566: 8269 8275 8270 8276 /* Line 1806 of yacc.c */ … … 8273 8279 break; 8274 8280 8275 case 56 6:8276 8277 /* Line 1806 of yacc.c */ 8278 #line 218 9"parser.yy"8281 case 567: 8282 8283 /* Line 1806 of yacc.c */ 8284 #line 2188 "parser.yy" 8279 8285 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8280 8286 break; 8281 8287 8282 case 567:8283 8284 /* Line 1806 of yacc.c */8285 #line 2191 "parser.yy"8286 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8287 break;8288 8289 8288 case 568: 8290 8289 8291 8290 /* Line 1806 of yacc.c */ 8292 #line 219 6"parser.yy"8291 #line 2193 "parser.yy" 8293 8292 { 8294 8293 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8300 8299 8301 8300 /* Line 1806 of yacc.c */ 8302 #line 2 201"parser.yy"8301 #line 2198 "parser.yy" 8303 8302 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8304 8303 break; … … 8307 8306 8308 8307 /* Line 1806 of yacc.c */ 8309 #line 220 6"parser.yy"8308 #line 2203 "parser.yy" 8310 8309 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8311 8310 break; … … 8314 8313 8315 8314 /* Line 1806 of yacc.c */ 8316 #line 220 8"parser.yy"8315 #line 2205 "parser.yy" 8317 8316 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8318 8317 break; … … 8321 8320 8322 8321 /* Line 1806 of yacc.c */ 8323 #line 22 10"parser.yy"8322 #line 2207 "parser.yy" 8324 8323 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8325 8324 break; … … 8328 8327 8329 8328 /* Line 1806 of yacc.c */ 8330 #line 221 5"parser.yy"8329 #line 2212 "parser.yy" 8331 8330 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8332 8331 break; … … 8335 8334 8336 8335 /* Line 1806 of yacc.c */ 8337 #line 221 7"parser.yy"8336 #line 2214 "parser.yy" 8338 8337 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8339 8338 break; … … 8342 8341 8343 8342 /* Line 1806 of yacc.c */ 8344 #line 221 9"parser.yy"8343 #line 2216 "parser.yy" 8345 8344 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8346 8345 break; … … 8349 8348 8350 8349 /* Line 1806 of yacc.c */ 8351 #line 22 21"parser.yy"8350 #line 2218 "parser.yy" 8352 8351 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8353 8352 break; … … 8356 8355 8357 8356 /* Line 1806 of yacc.c */ 8358 #line 222 6"parser.yy"8357 #line 2223 "parser.yy" 8359 8358 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8360 8359 break; … … 8363 8362 8364 8363 /* Line 1806 of yacc.c */ 8365 #line 222 8"parser.yy"8364 #line 2225 "parser.yy" 8366 8365 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8367 8366 break; 8368 8367 8369 8368 case 579: 8369 8370 /* Line 1806 of yacc.c */ 8371 #line 2234 "parser.yy" 8372 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8373 break; 8374 8375 case 581: 8370 8376 8371 8377 /* Line 1806 of yacc.c */ … … 8374 8380 break; 8375 8381 8376 case 581: 8377 8378 /* Line 1806 of yacc.c */ 8379 #line 2240 "parser.yy" 8382 case 582: 8383 8384 /* Line 1806 of yacc.c */ 8385 #line 2242 "parser.yy" 8386 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8387 break; 8388 8389 case 583: 8390 8391 /* Line 1806 of yacc.c */ 8392 #line 2244 "parser.yy" 8393 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8394 break; 8395 8396 case 584: 8397 8398 /* Line 1806 of yacc.c */ 8399 #line 2246 "parser.yy" 8400 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8401 break; 8402 8403 case 585: 8404 8405 /* Line 1806 of yacc.c */ 8406 #line 2251 "parser.yy" 8407 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8408 break; 8409 8410 case 586: 8411 8412 /* Line 1806 of yacc.c */ 8413 #line 2253 "parser.yy" 8414 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8415 break; 8416 8417 case 587: 8418 8419 /* Line 1806 of yacc.c */ 8420 #line 2255 "parser.yy" 8421 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8422 break; 8423 8424 case 588: 8425 8426 /* Line 1806 of yacc.c */ 8427 #line 2260 "parser.yy" 8428 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8429 break; 8430 8431 case 589: 8432 8433 /* Line 1806 of yacc.c */ 8434 #line 2262 "parser.yy" 8435 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8436 break; 8437 8438 case 590: 8439 8440 /* Line 1806 of yacc.c */ 8441 #line 2264 "parser.yy" 8442 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8443 break; 8444 8445 case 594: 8446 8447 /* Line 1806 of yacc.c */ 8448 #line 2279 "parser.yy" 8449 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8450 break; 8451 8452 case 595: 8453 8454 /* Line 1806 of yacc.c */ 8455 #line 2281 "parser.yy" 8456 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8457 break; 8458 8459 case 596: 8460 8461 /* Line 1806 of yacc.c */ 8462 #line 2283 "parser.yy" 8463 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8464 break; 8465 8466 case 597: 8467 8468 /* Line 1806 of yacc.c */ 8469 #line 2288 "parser.yy" 8470 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8471 break; 8472 8473 case 598: 8474 8475 /* Line 1806 of yacc.c */ 8476 #line 2290 "parser.yy" 8477 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8478 break; 8479 8480 case 599: 8481 8482 /* Line 1806 of yacc.c */ 8483 #line 2292 "parser.yy" 8484 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8485 break; 8486 8487 case 600: 8488 8489 /* Line 1806 of yacc.c */ 8490 #line 2297 "parser.yy" 8491 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8492 break; 8493 8494 case 601: 8495 8496 /* Line 1806 of yacc.c */ 8497 #line 2299 "parser.yy" 8498 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8499 break; 8500 8501 case 602: 8502 8503 /* Line 1806 of yacc.c */ 8504 #line 2301 "parser.yy" 8505 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8506 break; 8507 8508 case 603: 8509 8510 /* Line 1806 of yacc.c */ 8511 #line 2316 "parser.yy" 8380 8512 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8381 8513 break; 8382 8514 8383 case 582: 8384 8385 /* Line 1806 of yacc.c */ 8386 #line 2245 "parser.yy" 8387 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8388 break; 8389 8390 case 583: 8391 8392 /* Line 1806 of yacc.c */ 8393 #line 2247 "parser.yy" 8394 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8395 break; 8396 8397 case 584: 8398 8399 /* Line 1806 of yacc.c */ 8400 #line 2249 "parser.yy" 8401 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8402 break; 8403 8404 case 585: 8405 8406 /* Line 1806 of yacc.c */ 8407 #line 2254 "parser.yy" 8408 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8409 break; 8410 8411 case 586: 8412 8413 /* Line 1806 of yacc.c */ 8414 #line 2256 "parser.yy" 8415 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8416 break; 8417 8418 case 587: 8419 8420 /* Line 1806 of yacc.c */ 8421 #line 2258 "parser.yy" 8422 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8423 break; 8424 8425 case 588: 8426 8427 /* Line 1806 of yacc.c */ 8428 #line 2263 "parser.yy" 8429 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8430 break; 8431 8432 case 589: 8433 8434 /* Line 1806 of yacc.c */ 8435 #line 2265 "parser.yy" 8436 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8437 break; 8438 8439 case 590: 8440 8441 /* Line 1806 of yacc.c */ 8442 #line 2267 "parser.yy" 8443 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8444 break; 8445 8446 case 594: 8447 8448 /* Line 1806 of yacc.c */ 8449 #line 2282 "parser.yy" 8450 { (yyval.decl) = (yyvsp[(1) - (4)].decl)->addIdList( (yyvsp[(3) - (4)].decl) ); } 8451 break; 8452 8453 case 595: 8454 8455 /* Line 1806 of yacc.c */ 8456 #line 2284 "parser.yy" 8457 { (yyval.decl) = (yyvsp[(2) - (6)].decl)->addIdList( (yyvsp[(5) - (6)].decl) ); } 8458 break; 8459 8460 case 596: 8461 8462 /* Line 1806 of yacc.c */ 8463 #line 2286 "parser.yy" 8464 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8465 break; 8466 8467 case 597: 8468 8469 /* Line 1806 of yacc.c */ 8470 #line 2291 "parser.yy" 8471 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8472 break; 8473 8474 case 598: 8475 8476 /* Line 1806 of yacc.c */ 8477 #line 2293 "parser.yy" 8478 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8479 break; 8480 8481 case 599: 8482 8483 /* Line 1806 of yacc.c */ 8484 #line 2295 "parser.yy" 8485 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8486 break; 8487 8488 case 600: 8489 8490 /* Line 1806 of yacc.c */ 8491 #line 2300 "parser.yy" 8492 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8493 break; 8494 8495 case 601: 8496 8497 /* Line 1806 of yacc.c */ 8498 #line 2302 "parser.yy" 8499 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8500 break; 8501 8502 case 602: 8503 8504 /* Line 1806 of yacc.c */ 8505 #line 2304 "parser.yy" 8506 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8507 break; 8508 8509 case 603: 8515 case 605: 8510 8516 8511 8517 /* Line 1806 of yacc.c */ … … 8514 8520 break; 8515 8521 8516 case 60 5:8517 8518 /* Line 1806 of yacc.c */ 8519 #line 232 2"parser.yy"8522 case 606: 8523 8524 /* Line 1806 of yacc.c */ 8525 #line 2321 "parser.yy" 8520 8526 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8521 8527 break; 8522 8528 8523 case 606: 8524 8525 /* Line 1806 of yacc.c */ 8526 #line 2324 "parser.yy" 8529 case 608: 8530 8531 /* Line 1806 of yacc.c */ 8532 #line 2327 "parser.yy" 8533 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8534 break; 8535 8536 case 609: 8537 8538 /* Line 1806 of yacc.c */ 8539 #line 2332 "parser.yy" 8540 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8541 break; 8542 8543 case 610: 8544 8545 /* Line 1806 of yacc.c */ 8546 #line 2334 "parser.yy" 8547 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8548 break; 8549 8550 case 611: 8551 8552 /* Line 1806 of yacc.c */ 8553 #line 2336 "parser.yy" 8554 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8555 break; 8556 8557 case 612: 8558 8559 /* Line 1806 of yacc.c */ 8560 #line 2341 "parser.yy" 8561 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8562 break; 8563 8564 case 613: 8565 8566 /* Line 1806 of yacc.c */ 8567 #line 2343 "parser.yy" 8568 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8569 break; 8570 8571 case 614: 8572 8573 /* Line 1806 of yacc.c */ 8574 #line 2345 "parser.yy" 8575 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8576 break; 8577 8578 case 615: 8579 8580 /* Line 1806 of yacc.c */ 8581 #line 2347 "parser.yy" 8582 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8583 break; 8584 8585 case 616: 8586 8587 /* Line 1806 of yacc.c */ 8588 #line 2352 "parser.yy" 8589 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8590 break; 8591 8592 case 617: 8593 8594 /* Line 1806 of yacc.c */ 8595 #line 2354 "parser.yy" 8596 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8597 break; 8598 8599 case 618: 8600 8601 /* Line 1806 of yacc.c */ 8602 #line 2356 "parser.yy" 8603 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8604 break; 8605 8606 case 619: 8607 8608 /* Line 1806 of yacc.c */ 8609 #line 2366 "parser.yy" 8527 8610 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8528 8611 break; 8529 8612 8530 case 608: 8531 8532 /* Line 1806 of yacc.c */ 8533 #line 2330 "parser.yy" 8534 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8535 break; 8536 8537 case 609: 8538 8539 /* Line 1806 of yacc.c */ 8540 #line 2335 "parser.yy" 8541 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8542 break; 8543 8544 case 610: 8545 8546 /* Line 1806 of yacc.c */ 8547 #line 2337 "parser.yy" 8548 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8549 break; 8550 8551 case 611: 8552 8553 /* Line 1806 of yacc.c */ 8554 #line 2339 "parser.yy" 8555 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8556 break; 8557 8558 case 612: 8559 8560 /* Line 1806 of yacc.c */ 8561 #line 2344 "parser.yy" 8562 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8563 break; 8564 8565 case 613: 8566 8567 /* Line 1806 of yacc.c */ 8568 #line 2346 "parser.yy" 8569 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8570 break; 8571 8572 case 614: 8573 8574 /* Line 1806 of yacc.c */ 8575 #line 2348 "parser.yy" 8576 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8577 break; 8578 8579 case 615: 8580 8581 /* Line 1806 of yacc.c */ 8582 #line 2350 "parser.yy" 8583 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8584 break; 8585 8586 case 616: 8587 8588 /* Line 1806 of yacc.c */ 8589 #line 2355 "parser.yy" 8590 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8591 break; 8592 8593 case 617: 8594 8595 /* Line 1806 of yacc.c */ 8596 #line 2357 "parser.yy" 8597 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8598 break; 8599 8600 case 618: 8601 8602 /* Line 1806 of yacc.c */ 8603 #line 2359 "parser.yy" 8604 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8605 break; 8606 8607 case 619: 8613 case 621: 8608 8614 8609 8615 /* Line 1806 of yacc.c */ … … 8612 8618 break; 8613 8619 8614 case 62 1:8615 8616 /* Line 1806 of yacc.c */ 8617 #line 237 2"parser.yy"8620 case 622: 8621 8622 /* Line 1806 of yacc.c */ 8623 #line 2371 "parser.yy" 8618 8624 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8619 8625 break; 8620 8626 8621 case 622: 8622 8623 /* Line 1806 of yacc.c */ 8624 #line 2374 "parser.yy" 8627 case 623: 8628 8629 /* Line 1806 of yacc.c */ 8630 #line 2376 "parser.yy" 8631 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8632 break; 8633 8634 case 624: 8635 8636 /* Line 1806 of yacc.c */ 8637 #line 2378 "parser.yy" 8638 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8639 break; 8640 8641 case 625: 8642 8643 /* Line 1806 of yacc.c */ 8644 #line 2380 "parser.yy" 8645 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8646 break; 8647 8648 case 626: 8649 8650 /* Line 1806 of yacc.c */ 8651 #line 2385 "parser.yy" 8652 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8653 break; 8654 8655 case 627: 8656 8657 /* Line 1806 of yacc.c */ 8658 #line 2387 "parser.yy" 8659 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8660 break; 8661 8662 case 628: 8663 8664 /* Line 1806 of yacc.c */ 8665 #line 2389 "parser.yy" 8666 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8667 break; 8668 8669 case 629: 8670 8671 /* Line 1806 of yacc.c */ 8672 #line 2391 "parser.yy" 8673 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8674 break; 8675 8676 case 630: 8677 8678 /* Line 1806 of yacc.c */ 8679 #line 2396 "parser.yy" 8680 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8681 break; 8682 8683 case 631: 8684 8685 /* Line 1806 of yacc.c */ 8686 #line 2398 "parser.yy" 8687 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8688 break; 8689 8690 case 632: 8691 8692 /* Line 1806 of yacc.c */ 8693 #line 2400 "parser.yy" 8694 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8695 break; 8696 8697 case 633: 8698 8699 /* Line 1806 of yacc.c */ 8700 #line 2431 "parser.yy" 8625 8701 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8626 8702 break; 8627 8703 8628 case 623: 8629 8630 /* Line 1806 of yacc.c */ 8631 #line 2379 "parser.yy" 8632 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8633 break; 8634 8635 case 624: 8636 8637 /* Line 1806 of yacc.c */ 8638 #line 2381 "parser.yy" 8639 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8640 break; 8641 8642 case 625: 8643 8644 /* Line 1806 of yacc.c */ 8645 #line 2383 "parser.yy" 8646 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8647 break; 8648 8649 case 626: 8650 8651 /* Line 1806 of yacc.c */ 8652 #line 2388 "parser.yy" 8653 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8654 break; 8655 8656 case 627: 8657 8658 /* Line 1806 of yacc.c */ 8659 #line 2390 "parser.yy" 8660 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8661 break; 8662 8663 case 628: 8664 8665 /* Line 1806 of yacc.c */ 8666 #line 2392 "parser.yy" 8667 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8668 break; 8669 8670 case 629: 8671 8672 /* Line 1806 of yacc.c */ 8673 #line 2394 "parser.yy" 8674 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8675 break; 8676 8677 case 630: 8678 8679 /* Line 1806 of yacc.c */ 8680 #line 2399 "parser.yy" 8681 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8682 break; 8683 8684 case 631: 8685 8686 /* Line 1806 of yacc.c */ 8687 #line 2401 "parser.yy" 8688 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8689 break; 8690 8691 case 632: 8692 8693 /* Line 1806 of yacc.c */ 8694 #line 2403 "parser.yy" 8695 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8696 break; 8697 8698 case 633: 8704 case 635: 8699 8705 8700 8706 /* Line 1806 of yacc.c */ … … 8703 8709 break; 8704 8710 8705 case 63 5:8706 8707 /* Line 1806 of yacc.c */ 8708 #line 243 7"parser.yy"8711 case 636: 8712 8713 /* Line 1806 of yacc.c */ 8714 #line 2436 "parser.yy" 8709 8715 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8710 8716 break; 8711 8717 8712 case 636:8713 8714 /* Line 1806 of yacc.c */8715 #line 2439 "parser.yy"8716 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); }8717 break;8718 8719 8718 case 637: 8720 8719 8721 8720 /* Line 1806 of yacc.c */ 8722 #line 244 4"parser.yy"8721 #line 2441 "parser.yy" 8723 8722 { 8724 8723 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8730 8729 8731 8730 /* Line 1806 of yacc.c */ 8732 #line 244 9"parser.yy"8731 #line 2446 "parser.yy" 8733 8732 { 8734 8733 typedefTable.setNextIdentifier( *(yyvsp[(1) - (1)].tok) ); … … 8740 8739 8741 8740 /* Line 1806 of yacc.c */ 8742 #line 245 7"parser.yy"8741 #line 2454 "parser.yy" 8743 8742 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8744 8743 break; … … 8747 8746 8748 8747 /* Line 1806 of yacc.c */ 8749 #line 245 9"parser.yy"8748 #line 2456 "parser.yy" 8750 8749 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8751 8750 break; … … 8754 8753 8755 8754 /* Line 1806 of yacc.c */ 8756 #line 24 61"parser.yy"8755 #line 2458 "parser.yy" 8757 8756 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8758 8757 break; … … 8761 8760 8762 8761 /* Line 1806 of yacc.c */ 8763 #line 246 6"parser.yy"8762 #line 2463 "parser.yy" 8764 8763 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 8765 8764 break; … … 8768 8767 8769 8768 /* Line 1806 of yacc.c */ 8770 #line 246 8"parser.yy"8769 #line 2465 "parser.yy" 8771 8770 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8772 8771 break; … … 8775 8774 8776 8775 /* Line 1806 of yacc.c */ 8777 #line 247 3"parser.yy"8776 #line 2470 "parser.yy" 8778 8777 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addParamList( (yyvsp[(4) - (6)].decl) ); } 8779 8778 break; … … 8782 8781 8783 8782 /* Line 1806 of yacc.c */ 8784 #line 247 5"parser.yy"8783 #line 2472 "parser.yy" 8785 8784 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8786 8785 break; … … 8789 8788 8790 8789 /* Line 1806 of yacc.c */ 8791 #line 24 90"parser.yy"8790 #line 2487 "parser.yy" 8792 8791 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8793 8792 break; … … 8796 8795 8797 8796 /* Line 1806 of yacc.c */ 8798 #line 24 92"parser.yy"8797 #line 2489 "parser.yy" 8799 8798 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8800 8799 break; … … 8803 8802 8804 8803 /* Line 1806 of yacc.c */ 8805 #line 249 7"parser.yy"8804 #line 2494 "parser.yy" 8806 8805 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8807 8806 break; … … 8810 8809 8811 8810 /* Line 1806 of yacc.c */ 8812 #line 249 9"parser.yy"8811 #line 2496 "parser.yy" 8813 8812 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8814 8813 break; … … 8817 8816 8818 8817 /* Line 1806 of yacc.c */ 8819 #line 2 501"parser.yy"8818 #line 2498 "parser.yy" 8820 8819 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8821 8820 break; … … 8824 8823 8825 8824 /* Line 1806 of yacc.c */ 8826 #line 250 3"parser.yy"8825 #line 2500 "parser.yy" 8827 8826 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8828 8827 break; … … 8831 8830 8832 8831 /* Line 1806 of yacc.c */ 8833 #line 250 5"parser.yy"8832 #line 2502 "parser.yy" 8834 8833 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8835 8834 break; … … 8838 8837 8839 8838 /* Line 1806 of yacc.c */ 8840 #line 25 11"parser.yy"8839 #line 2508 "parser.yy" 8841 8840 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8842 8841 break; … … 8845 8844 8846 8845 /* Line 1806 of yacc.c */ 8847 #line 251 3"parser.yy"8846 #line 2510 "parser.yy" 8848 8847 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8849 8848 break; … … 8852 8851 8853 8852 /* Line 1806 of yacc.c */ 8854 #line 251 5"parser.yy"8853 #line 2512 "parser.yy" 8855 8854 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8856 8855 break; … … 8859 8858 8860 8859 /* Line 1806 of yacc.c */ 8861 #line 25 20"parser.yy"8860 #line 2517 "parser.yy" 8862 8861 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8863 8862 break; … … 8866 8865 8867 8866 /* Line 1806 of yacc.c */ 8868 #line 25 22"parser.yy"8867 #line 2519 "parser.yy" 8869 8868 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 8870 8869 break; … … 8873 8872 8874 8873 /* Line 1806 of yacc.c */ 8875 #line 252 4"parser.yy"8874 #line 2521 "parser.yy" 8876 8875 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8877 8876 break; … … 8880 8879 8881 8880 /* Line 1806 of yacc.c */ 8882 #line 25 30"parser.yy"8881 #line 2527 "parser.yy" 8883 8882 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 8884 8883 break; … … 8887 8886 8888 8887 /* Line 1806 of yacc.c */ 8889 #line 25 32"parser.yy"8888 #line 2529 "parser.yy" 8890 8889 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false )->addArray( (yyvsp[(3) - (3)].decl) ); } 8891 8890 break; … … 8894 8893 8895 8894 /* Line 1806 of yacc.c */ 8896 #line 253 8"parser.yy"8895 #line 2535 "parser.yy" 8897 8896 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(3) - (5)].en), 0, false ); } 8898 8897 break; … … 8901 8900 8902 8901 /* Line 1806 of yacc.c */ 8903 #line 25 40"parser.yy"8902 #line 2537 "parser.yy" 8904 8903 { (yyval.decl) = DeclarationNode::newVarArray( 0 ); } 8905 8904 break; … … 8908 8907 8909 8908 /* Line 1806 of yacc.c */ 8910 #line 25 42"parser.yy"8909 #line 2539 "parser.yy" 8911 8910 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newArray( (yyvsp[(4) - (6)].en), 0, false ) ); } 8912 8911 break; … … 8915 8914 8916 8915 /* Line 1806 of yacc.c */ 8917 #line 254 4"parser.yy"8916 #line 2541 "parser.yy" 8918 8917 { (yyval.decl) = (yyvsp[(1) - (6)].decl)->addArray( DeclarationNode::newVarArray( 0 ) ); } 8919 8918 break; … … 8922 8921 8923 8922 /* Line 1806 of yacc.c */ 8924 #line 255 9"parser.yy"8923 #line 2556 "parser.yy" 8925 8924 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8926 8925 break; … … 8929 8928 8930 8929 /* Line 1806 of yacc.c */ 8931 #line 25 61"parser.yy"8930 #line 2558 "parser.yy" 8932 8931 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 8933 8932 break; … … 8936 8935 8937 8936 /* Line 1806 of yacc.c */ 8938 #line 256 6"parser.yy"8937 #line 2563 "parser.yy" 8939 8938 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 8940 8939 break; … … 8943 8942 8944 8943 /* Line 1806 of yacc.c */ 8945 #line 256 8"parser.yy"8944 #line 2565 "parser.yy" 8946 8945 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 8947 8946 break; … … 8950 8949 8951 8950 /* Line 1806 of yacc.c */ 8952 #line 25 70"parser.yy"8951 #line 2567 "parser.yy" 8953 8952 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 8954 8953 break; … … 8957 8956 8958 8957 /* Line 1806 of yacc.c */ 8959 #line 25 72"parser.yy"8958 #line 2569 "parser.yy" 8960 8959 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 8961 8960 break; … … 8964 8963 8965 8964 /* Line 1806 of yacc.c */ 8966 #line 257 4"parser.yy"8965 #line 2571 "parser.yy" 8967 8966 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8968 8967 break; … … 8971 8970 8972 8971 /* Line 1806 of yacc.c */ 8973 #line 25 80"parser.yy"8972 #line 2577 "parser.yy" 8974 8973 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8975 8974 break; … … 8978 8977 8979 8978 /* Line 1806 of yacc.c */ 8980 #line 25 82"parser.yy"8979 #line 2579 "parser.yy" 8981 8980 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 8982 8981 break; … … 8985 8984 8986 8985 /* Line 1806 of yacc.c */ 8987 #line 258 4"parser.yy"8986 #line 2581 "parser.yy" 8988 8987 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 8989 8988 break; … … 8992 8991 8993 8992 /* Line 1806 of yacc.c */ 8994 #line 258 9"parser.yy"8993 #line 2586 "parser.yy" 8995 8994 { (yyval.decl) = DeclarationNode::newFunction( 0, 0, (yyvsp[(3) - (5)].decl), 0 ); } 8996 8995 break; … … 8999 8998 9000 8999 /* Line 1806 of yacc.c */ 9001 #line 25 91"parser.yy"9000 #line 2588 "parser.yy" 9002 9001 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 9003 9002 break; … … 9006 9005 9007 9006 /* Line 1806 of yacc.c */ 9008 #line 259 3"parser.yy"9007 #line 2590 "parser.yy" 9009 9008 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9010 9009 break; … … 9013 9012 9014 9013 /* Line 1806 of yacc.c */ 9015 #line 2 600"parser.yy"9014 #line 2597 "parser.yy" 9016 9015 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addArray( (yyvsp[(2) - (2)].decl) ); } 9017 9016 break; … … 9020 9019 9021 9020 /* Line 1806 of yacc.c */ 9021 #line 2608 "parser.yy" 9022 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); } 9023 break; 9024 9025 case 687: 9026 9027 /* Line 1806 of yacc.c */ 9022 9028 #line 2611 "parser.yy" 9023 { (yyval.decl) = DeclarationNode::newArray( 0, 0, false ); }9024 break;9025 9026 case 687:9027 9028 /* Line 1806 of yacc.c */9029 #line 2614 "parser.yy"9030 9029 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9031 9030 break; … … 9034 9033 9035 9034 /* Line 1806 of yacc.c */ 9035 #line 2613 "parser.yy" 9036 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); } 9037 break; 9038 9039 case 689: 9040 9041 /* Line 1806 of yacc.c */ 9036 9042 #line 2616 "parser.yy" 9037 { (yyval.decl) = DeclarationNode::newArray( 0, (yyvsp[(3) - (5)].decl), false ); }9038 break;9039 9040 case 689:9041 9042 /* Line 1806 of yacc.c */9043 #line 2619 "parser.yy"9044 9043 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9045 9044 break; … … 9048 9047 9049 9048 /* Line 1806 of yacc.c */ 9050 #line 26 21"parser.yy"9049 #line 2618 "parser.yy" 9051 9050 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl), true ); } 9052 9051 break; … … 9055 9054 9056 9055 /* Line 1806 of yacc.c */ 9057 #line 262 3"parser.yy"9056 #line 2620 "parser.yy" 9058 9057 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(3) - (7)].decl), true ); } 9059 9058 break; … … 9062 9061 9063 9062 /* Line 1806 of yacc.c */ 9064 #line 263 7"parser.yy"9063 #line 2634 "parser.yy" 9065 9064 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9066 9065 break; … … 9069 9068 9070 9069 /* Line 1806 of yacc.c */ 9071 #line 263 9"parser.yy"9070 #line 2636 "parser.yy" 9072 9071 { (yyval.decl) = (yyvsp[(1) - (2)].decl)->addQualifiers( (yyvsp[(2) - (2)].decl) ); } 9073 9072 break; … … 9076 9075 9077 9076 /* Line 1806 of yacc.c */ 9078 #line 264 4"parser.yy"9077 #line 2641 "parser.yy" 9079 9078 { (yyval.decl) = DeclarationNode::newPointer( 0 ); } 9080 9079 break; … … 9083 9082 9084 9083 /* Line 1806 of yacc.c */ 9085 #line 264 6"parser.yy"9084 #line 2643 "parser.yy" 9086 9085 { (yyval.decl) = DeclarationNode::newPointer( (yyvsp[(2) - (2)].decl) ); } 9087 9086 break; … … 9090 9089 9091 9090 /* Line 1806 of yacc.c */ 9092 #line 264 8"parser.yy"9091 #line 2645 "parser.yy" 9093 9092 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addPointer( DeclarationNode::newPointer( 0 ) ); } 9094 9093 break; … … 9097 9096 9098 9097 /* Line 1806 of yacc.c */ 9099 #line 26 50"parser.yy"9098 #line 2647 "parser.yy" 9100 9099 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addPointer( DeclarationNode::newPointer( (yyvsp[(2) - (3)].decl) ) ); } 9101 9100 break; … … 9104 9103 9105 9104 /* Line 1806 of yacc.c */ 9106 #line 26 52"parser.yy"9105 #line 2649 "parser.yy" 9107 9106 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9108 9107 break; … … 9111 9110 9112 9111 /* Line 1806 of yacc.c */ 9113 #line 265 8"parser.yy"9112 #line 2655 "parser.yy" 9114 9113 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9115 9114 break; … … 9118 9117 9119 9118 /* Line 1806 of yacc.c */ 9120 #line 26 60"parser.yy"9119 #line 2657 "parser.yy" 9121 9120 { (yyval.decl) = (yyvsp[(2) - (4)].decl)->addArray( (yyvsp[(4) - (4)].decl) ); } 9122 9121 break; … … 9125 9124 9126 9125 /* Line 1806 of yacc.c */ 9127 #line 26 62"parser.yy"9126 #line 2659 "parser.yy" 9128 9127 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9129 9128 break; … … 9132 9131 9133 9132 /* Line 1806 of yacc.c */ 9134 #line 266 7"parser.yy"9133 #line 2664 "parser.yy" 9135 9134 { (yyval.decl) = (yyvsp[(2) - (8)].decl)->addParamList( (yyvsp[(6) - (8)].decl) ); } 9136 9135 break; … … 9139 9138 9140 9139 /* Line 1806 of yacc.c */ 9141 #line 266 9"parser.yy"9140 #line 2666 "parser.yy" 9142 9141 { (yyval.decl) = (yyvsp[(2) - (3)].decl); } 9143 9142 break; … … 9146 9145 9147 9146 /* Line 1806 of yacc.c */ 9148 #line 267 9"parser.yy"9147 #line 2676 "parser.yy" 9149 9148 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9150 9149 break; … … 9153 9152 9154 9153 /* Line 1806 of yacc.c */ 9155 #line 268 9"parser.yy"9154 #line 2686 "parser.yy" 9156 9155 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9157 9156 break; … … 9160 9159 9161 9160 /* Line 1806 of yacc.c */ 9162 #line 26 91"parser.yy"9161 #line 2688 "parser.yy" 9163 9162 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9164 9163 break; … … 9167 9166 9168 9167 /* Line 1806 of yacc.c */ 9169 #line 269 3"parser.yy"9168 #line 2690 "parser.yy" 9170 9169 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9171 9170 break; … … 9174 9173 9175 9174 /* Line 1806 of yacc.c */ 9176 #line 269 5"parser.yy"9175 #line 2692 "parser.yy" 9177 9176 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9178 9177 break; … … 9181 9180 9182 9181 /* Line 1806 of yacc.c */ 9183 #line 269 7"parser.yy"9182 #line 2694 "parser.yy" 9184 9183 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9185 9184 break; … … 9188 9187 9189 9188 /* Line 1806 of yacc.c */ 9190 #line 269 9"parser.yy"9189 #line 2696 "parser.yy" 9191 9190 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9192 9191 break; … … 9195 9194 9196 9195 /* Line 1806 of yacc.c */ 9197 #line 270 6"parser.yy"9196 #line 2703 "parser.yy" 9198 9197 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9199 9198 break; … … 9202 9201 9203 9202 /* Line 1806 of yacc.c */ 9204 #line 270 8"parser.yy"9203 #line 2705 "parser.yy" 9205 9204 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9206 9205 break; … … 9209 9208 9210 9209 /* Line 1806 of yacc.c */ 9211 #line 27 10"parser.yy"9210 #line 2707 "parser.yy" 9212 9211 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9213 9212 break; … … 9216 9215 9217 9216 /* Line 1806 of yacc.c */ 9218 #line 27 12"parser.yy"9217 #line 2709 "parser.yy" 9219 9218 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9220 9219 break; … … 9223 9222 9224 9223 /* Line 1806 of yacc.c */ 9225 #line 271 4"parser.yy"9224 #line 2711 "parser.yy" 9226 9225 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9227 9226 break; … … 9230 9229 9231 9230 /* Line 1806 of yacc.c */ 9232 #line 271 6"parser.yy"9231 #line 2713 "parser.yy" 9233 9232 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9234 9233 break; … … 9237 9236 9238 9237 /* Line 1806 of yacc.c */ 9239 #line 271 8"parser.yy"9238 #line 2715 "parser.yy" 9240 9239 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9241 9240 break; … … 9244 9243 9245 9244 /* Line 1806 of yacc.c */ 9246 #line 27 20"parser.yy"9245 #line 2717 "parser.yy" 9247 9246 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9248 9247 break; … … 9251 9250 9252 9251 /* Line 1806 of yacc.c */ 9253 #line 27 22"parser.yy"9252 #line 2719 "parser.yy" 9254 9253 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( (yyvsp[(2) - (3)].decl) )->addNewArray( (yyvsp[(1) - (3)].decl) ); } 9255 9254 break; … … 9258 9257 9259 9258 /* Line 1806 of yacc.c */ 9260 #line 272 4"parser.yy"9259 #line 2721 "parser.yy" 9261 9260 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9262 9261 break; … … 9265 9264 9266 9265 /* Line 1806 of yacc.c */ 9267 #line 272 9"parser.yy"9266 #line 2726 "parser.yy" 9268 9267 { (yyval.decl) = DeclarationNode::newVarArray( (yyvsp[(3) - (6)].decl) ); } 9269 9268 break; … … 9272 9271 9273 9272 /* Line 1806 of yacc.c */ 9274 #line 27 31"parser.yy"9273 #line 2728 "parser.yy" 9275 9274 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), false ); } 9276 9275 break; … … 9279 9278 9280 9279 /* Line 1806 of yacc.c */ 9281 #line 273 6"parser.yy"9280 #line 2733 "parser.yy" 9282 9281 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(4) - (6)].en), (yyvsp[(3) - (6)].decl), true ); } 9283 9282 break; … … 9286 9285 9287 9286 /* Line 1806 of yacc.c */ 9288 #line 273 8"parser.yy"9287 #line 2735 "parser.yy" 9289 9288 { (yyval.decl) = DeclarationNode::newArray( (yyvsp[(5) - (7)].en), (yyvsp[(4) - (7)].decl)->addQualifiers( (yyvsp[(3) - (7)].decl) ), true ); } 9290 9289 break; … … 9293 9292 9294 9293 /* Line 1806 of yacc.c */ 9295 #line 276 5"parser.yy"9294 #line 2762 "parser.yy" 9296 9295 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addQualifiers( (yyvsp[(1) - (2)].decl) ); } 9297 9296 break; … … 9300 9299 9301 9300 /* Line 1806 of yacc.c */ 9302 #line 277 6"parser.yy"9301 #line 2773 "parser.yy" 9303 9302 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9304 9303 break; … … 9307 9306 9308 9307 /* Line 1806 of yacc.c */ 9309 #line 277 8"parser.yy"9308 #line 2775 "parser.yy" 9310 9309 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9311 9310 break; … … 9314 9313 9315 9314 /* Line 1806 of yacc.c */ 9316 #line 27 80"parser.yy"9315 #line 2777 "parser.yy" 9317 9316 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9318 9317 break; … … 9321 9320 9322 9321 /* Line 1806 of yacc.c */ 9323 #line 27 82"parser.yy"9322 #line 2779 "parser.yy" 9324 9323 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9325 9324 break; … … 9328 9327 9329 9328 /* Line 1806 of yacc.c */ 9330 #line 278 4"parser.yy"9329 #line 2781 "parser.yy" 9331 9330 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewPointer( DeclarationNode::newPointer( 0 ) ); } 9332 9331 break; … … 9335 9334 9336 9335 /* Line 1806 of yacc.c */ 9337 #line 278 6"parser.yy"9336 #line 2783 "parser.yy" 9338 9337 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewPointer( DeclarationNode::newPointer( (yyvsp[(1) - (3)].decl) ) ); } 9339 9338 break; … … 9342 9341 9343 9342 /* Line 1806 of yacc.c */ 9344 #line 279 3"parser.yy"9343 #line 2790 "parser.yy" 9345 9344 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9346 9345 break; … … 9349 9348 9350 9349 /* Line 1806 of yacc.c */ 9351 #line 279 5"parser.yy"9350 #line 2792 "parser.yy" 9352 9351 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9353 9352 break; … … 9356 9355 9357 9356 /* Line 1806 of yacc.c */ 9358 #line 279 7"parser.yy"9357 #line 2794 "parser.yy" 9359 9358 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9360 9359 break; … … 9363 9362 9364 9363 /* Line 1806 of yacc.c */ 9365 #line 279 9"parser.yy"9364 #line 2796 "parser.yy" 9366 9365 { (yyval.decl) = (yyvsp[(3) - (3)].decl)->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9367 9366 break; … … 9370 9369 9371 9370 /* Line 1806 of yacc.c */ 9372 #line 2 801"parser.yy"9371 #line 2798 "parser.yy" 9373 9372 { (yyval.decl) = (yyvsp[(4) - (4)].decl)->addNewArray( (yyvsp[(3) - (4)].decl) )->addNewArray( DeclarationNode::newArray( 0, 0, false ) ); } 9374 9373 break; … … 9377 9376 9378 9377 /* Line 1806 of yacc.c */ 9379 #line 280 3"parser.yy"9378 #line 2800 "parser.yy" 9380 9379 { (yyval.decl) = (yyvsp[(2) - (2)].decl)->addNewArray( (yyvsp[(1) - (2)].decl) ); } 9381 9380 break; … … 9384 9383 9385 9384 /* Line 1806 of yacc.c */ 9386 #line 280 8"parser.yy"9385 #line 2805 "parser.yy" 9387 9386 { (yyval.decl) = DeclarationNode::newTuple( (yyvsp[(3) - (5)].decl) ); } 9388 9387 break; … … 9391 9390 9392 9391 /* Line 1806 of yacc.c */ 9393 #line 281 3"parser.yy"9392 #line 2810 "parser.yy" 9394 9393 { (yyval.decl) = DeclarationNode::newFunction( 0, DeclarationNode::newTuple( 0 ), (yyvsp[(4) - (5)].decl), 0 ); } 9395 9394 break; … … 9398 9397 9399 9398 /* Line 1806 of yacc.c */ 9400 #line 281 5"parser.yy"9399 #line 2812 "parser.yy" 9401 9400 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9402 9401 break; … … 9405 9404 9406 9405 /* Line 1806 of yacc.c */ 9407 #line 281 7"parser.yy"9406 #line 2814 "parser.yy" 9408 9407 { (yyval.decl) = DeclarationNode::newFunction( 0, (yyvsp[(1) - (6)].decl), (yyvsp[(4) - (6)].decl), 0 ); } 9409 9408 break; … … 9412 9411 9413 9412 /* Line 1806 of yacc.c */ 9414 #line 28 41"parser.yy"9413 #line 2838 "parser.yy" 9415 9414 { (yyval.en) = 0; } 9416 9415 break; … … 9419 9418 9420 9419 /* Line 1806 of yacc.c */ 9421 #line 284 3"parser.yy"9420 #line 2840 "parser.yy" 9422 9421 { (yyval.en) = (yyvsp[(2) - (2)].en); } 9423 9422 break; … … 9426 9425 9427 9426 /* Line 1806 of yacc.c */ 9428 #line 942 9"Parser/parser.cc"9427 #line 9428 "Parser/parser.cc" 9429 9428 default: break; 9430 9429 } … … 9657 9656 9658 9657 /* Line 2067 of yacc.c */ 9659 #line 284 6"parser.yy"9658 #line 2843 "parser.yy" 9660 9659 9661 9660 // ----end of grammar----
Note:
See TracChangeset
for help on using the changeset viewer.