compiler/libec/grammar: (#165, #733) Fixed endless loop on somenamespace::
authorJerome St-Louis <jerome@ecere.com>
Sat, 3 May 2014 04:10:02 +0000 (00:10 -0400)
committerJerome St-Louis <jerome@ecere.com>
Sat, 3 May 2014 04:12:03 +0000 (00:12 -0400)
compiler/bootstrap/libec/bootstrap/grammar.c
compiler/libec/precompiled/grammar.c
compiler/libec/src/grammar.ec
compiler/libec/src/grammar.y

index da7621e..8e42253 100644 (file)
@@ -1099,7 +1099,7 @@ static const yytype_int16 yyrhs[] =
 
 static const yytype_uint16 yyrline[] = 
 {
-(unsigned short)0, (unsigned short)279, (unsigned short)279, (unsigned short)308, (unsigned short)367, (unsigned short)368, (unsigned short)468, (unsigned short)472, (unsigned short)475, (unsigned short)476, (unsigned short)477, (unsigned short)526, (unsigned short)528, (unsigned short)533, (unsigned short)538, (unsigned short)543, (unsigned short)545, (unsigned short)550, (unsigned short)552, (unsigned short)557, (unsigned short)559, (unsigned short)564, (unsigned short)566, (unsigned short)568, (unsigned short)570, (unsigned short)572, (unsigned short)576, (unsigned short)580, (unsigned short)593, (unsigned short)595, (unsigned short)597, (unsigned short)599, (unsigned short)601, (unsigned short)607, (unsigned short)609, (unsigned short)614, (unsigned short)619, (unsigned short)624, (unsigned short)626, (unsigned short)628, (unsigned short)633, (unsigned short)634, (unsigned short)638, (unsigned short)639, (unsigned short)650, (unsigned short)654, (unsigned short)655, (unsigned short)657, (unsigned short)662, (unsigned short)663, (unsigned short)665, (unsigned short)668, (unsigned short)680, (unsigned short)691, (unsigned short)710, (unsigned short)712, (unsigned short)717, (unsigned short)718, (unsigned short)719, (unsigned short)720, (unsigned short)721, (unsigned short)722, (unsigned short)723, (unsigned short)724, (unsigned short)737, (unsigned short)741, (unsigned short)742, (unsigned short)743, (unsigned short)744, (unsigned short)748, (unsigned short)749, (unsigned short)750, (unsigned short)751, (unsigned short)752, (unsigned short)753, (unsigned short)754, (unsigned short)758, (unsigned short)760, (unsigned short)765, (unsigned short)767, (unsigned short)769, (unsigned short)771, (unsigned short)773, (unsigned short)803, (unsigned short)805, (unsigned short)810, (unsigned short)812, (unsigned short)814, (unsigned short)816, (unsigned short)818, (unsigned short)847, (unsigned short)849, (unsigned short)851, (unsigned short)856, (unsigned short)858, (unsigned short)863, (unsigned short)865, (unsigned short)869, (unsigned short)871, (unsigned short)873, (unsigned short)875, (unsigned short)880, (unsigned short)883, (unsigned short)886, (unsigned short)889, (unsigned short)954, (unsigned short)956, (unsigned short)961, (unsigned short)963, (unsigned short)965, (unsigned short)967, (unsigned short)969, (unsigned short)1000, (unsigned short)1004, (unsigned short)1005, (unsigned short)1006, (unsigned short)1010, (unsigned short)1011, (unsigned short)1012, (unsigned short)1016, (unsigned short)1017, (unsigned short)1018, (unsigned short)1019, (unsigned short)1023, (unsigned short)1026, (unsigned short)1029, (unsigned short)1032, (unsigned short)1035, (unsigned short)1040, (unsigned short)1041, (unsigned short)1043, (unsigned short)1045, (unsigned short)1047, (unsigned short)1049, (unsigned short)1054, (unsigned short)1058, (unsigned short)1061, (unsigned short)1064, (unsigned short)1067, (unsigned short)1070, (unsigned short)1075, (unsigned short)1076, (unsigned short)1078, (unsigned short)1083, (unsigned short)1087, (unsigned short)1089, (unsigned short)1094, (unsigned short)1096, (unsigned short)1101, (unsigned short)1103, (unsigned short)1108, (unsigned short)1113, (unsigned short)1115, (unsigned short)1120, (unsigned short)1122, (unsigned short)1124, (unsigned short)1126, (unsigned short)1131, (unsigned short)1133, (unsigned short)1135, (unsigned short)1137, (unsigned short)1142, (unsigned short)1143, (unsigned short)1144, (unsigned short)1145, (unsigned short)1146, (unsigned short)1147, (unsigned short)1148, (unsigned short)1149, (unsigned short)1150, (unsigned short)1151, (unsigned short)1152, (unsigned short)1154, (unsigned short)1155, (unsigned short)1157, (unsigned short)1161, (unsigned short)1164, (unsigned short)1165, (unsigned short)1166, (unsigned short)1167, (unsigned short)1168, (unsigned short)1169, (unsigned short)1170, (unsigned short)1171, (unsigned short)1172, (unsigned short)1173, (unsigned short)1174, (unsigned short)1175, (unsigned short)1176, (unsigned short)1177, (unsigned short)1179, (unsigned short)1180, (unsigned short)1184, (unsigned short)1185, (unsigned short)1186, (unsigned short)1190, (unsigned short)1194, (unsigned short)1195, (unsigned short)1196, (unsigned short)1200, (unsigned short)1201, (unsigned short)1202, (unsigned short)1203, (unsigned short)1204, (unsigned short)1208, (unsigned short)1209, (unsigned short)1221, (unsigned short)1222, (unsigned short)1226, (unsigned short)1227, (unsigned short)1228, (unsigned short)1229, (unsigned short)1230, (unsigned short)1231, (unsigned short)1232, (unsigned short)1233, (unsigned short)1237, (unsigned short)1241, (unsigned short)1242, (unsigned short)1246, (unsigned short)1254, (unsigned short)1255, (unsigned short)1259, (unsigned short)1260, (unsigned short)1261, (unsigned short)1265, (unsigned short)1266, (unsigned short)1270, (unsigned short)1271, (unsigned short)1272, (unsigned short)1273, (unsigned short)1274, (unsigned short)1275, (unsigned short)1315, (unsigned short)1316, (unsigned short)1320, (unsigned short)1328, (unsigned short)1329, (unsigned short)1337, (unsigned short)1338, (unsigned short)1340, (unsigned short)1341, (unsigned short)1350, (unsigned short)1351, (unsigned short)1355, (unsigned short)1362, (unsigned short)1369, (unsigned short)1375, (unsigned short)1382, (unsigned short)1388, (unsigned short)1397, (unsigned short)1404, (unsigned short)1410, (unsigned short)1416, (unsigned short)1422, (unsigned short)1428, (unsigned short)1434, (unsigned short)1445, (unsigned short)1450, (unsigned short)1451, (unsigned short)1456, (unsigned short)1457, (unsigned short)1458, (unsigned short)1462, (unsigned short)1466, (unsigned short)1467, (unsigned short)1468, (unsigned short)1469, (unsigned short)1470, (unsigned short)1471, (unsigned short)1472, (unsigned short)1485, (unsigned short)1486, (unsigned short)1487, (unsigned short)1488, (unsigned short)1489, (unsigned short)1490, (unsigned short)1491, (unsigned short)1492, (unsigned short)1493, (unsigned short)1494, (unsigned short)1495, (unsigned short)1496, (unsigned short)1497, (unsigned short)1498, (unsigned short)1499, (unsigned short)1500, (unsigned short)1501, (unsigned short)1502, (unsigned short)1503, (unsigned short)1504, (unsigned short)1505, (unsigned short)1506, (unsigned short)1507, (unsigned short)1509, (unsigned short)1510, (unsigned short)1511, (unsigned short)1512, (unsigned short)1513, (unsigned short)1515, (unsigned short)1516, (unsigned short)1520, (unsigned short)1524, (unsigned short)1528, (unsigned short)1529, (unsigned short)1533, (unsigned short)1535, (unsigned short)1536, (unsigned short)1537, (unsigned short)1538, (unsigned short)1539, (unsigned short)1540, (unsigned short)1541, (unsigned short)1542, (unsigned short)1543, (unsigned short)1545, (unsigned short)1546, (unsigned short)1547, (unsigned short)1548, (unsigned short)1549, (unsigned short)1550, (unsigned short)1551, (unsigned short)1552, (unsigned short)1556, (unsigned short)1558, (unsigned short)1559, (unsigned short)1560, (unsigned short)1561, (unsigned short)1562, (unsigned short)1563, (unsigned short)1564, (unsigned short)1565, (unsigned short)1566, (unsigned short)1568, (unsigned short)1569, (unsigned short)1570, (unsigned short)1571, (unsigned short)1572, (unsigned short)1573, (unsigned short)1574, (unsigned short)1575, (unsigned short)1579, (unsigned short)1580, (unsigned short)1581, (unsigned short)1582, (unsigned short)1586, (unsigned short)1587, (unsigned short)1588, (unsigned short)1589, (unsigned short)1590, (unsigned short)1594, (unsigned short)1595, (unsigned short)1596, (unsigned short)1597, (unsigned short)1598, (unsigned short)1599, (unsigned short)1600, (unsigned short)1601, (unsigned short)1602, (unsigned short)1604, (unsigned short)1605, (unsigned short)1606, (unsigned short)1610, (unsigned short)1611, (unsigned short)1615, (unsigned short)1616, (unsigned short)1620, (unsigned short)1621, (unsigned short)1622, (unsigned short)1623, (unsigned short)1624, (unsigned short)1625, (unsigned short)1626, (unsigned short)1627, (unsigned short)1631, (unsigned short)1632, (unsigned short)1636, (unsigned short)1637, (unsigned short)1638, (unsigned short)1639, (unsigned short)1640, (unsigned short)1641, (unsigned short)1642, (unsigned short)1646, (unsigned short)1647, (unsigned short)1648, (unsigned short)1649, (unsigned short)1650, (unsigned short)1654, (unsigned short)1655, (unsigned short)1656, (unsigned short)1657, (unsigned short)1658, (unsigned short)1662, (unsigned short)1670, (unsigned short)1671, (unsigned short)1672, (unsigned short)1673, (unsigned short)1674, (unsigned short)1675, (unsigned short)1676, (unsigned short)1677, (unsigned short)1678, (unsigned short)1682, (unsigned short)1683, (unsigned short)1684, (unsigned short)1685, (unsigned short)1686, (unsigned short)1688, (unsigned short)1689, (unsigned short)1690, (unsigned short)1691, (unsigned short)1695, (unsigned short)1696, (unsigned short)1697, (unsigned short)1699, (unsigned short)1700, (unsigned short)1704, (unsigned short)1705, (unsigned short)1706, (unsigned short)1708, (unsigned short)1709, (unsigned short)1713, (unsigned short)1714, (unsigned short)1715, (unsigned short)1717, (unsigned short)1718, (unsigned short)1722, (unsigned short)1723, (unsigned short)1724, (unsigned short)1728, (unsigned short)1729, (unsigned short)1730, (unsigned short)1734, (unsigned short)1735, (unsigned short)1736, (unsigned short)1737, (unsigned short)1738, (unsigned short)1740, (unsigned short)1741, (unsigned short)1742, (unsigned short)1743, (unsigned short)1745, (unsigned short)1746, (unsigned short)1747, (unsigned short)1748, (unsigned short)1750, (unsigned short)1751, (unsigned short)1752, (unsigned short)1753, (unsigned short)1757, (unsigned short)1758, (unsigned short)1759, (unsigned short)1760, (unsigned short)1761, (unsigned short)1763, (unsigned short)1764, (unsigned short)1765, (unsigned short)1766, (unsigned short)1770, (unsigned short)1771, (unsigned short)1772, (unsigned short)1773, (unsigned short)1774, (unsigned short)1775, (unsigned short)1776, (unsigned short)1777, (unsigned short)1778, (unsigned short)1779, (unsigned short)1780, (unsigned short)1784, (unsigned short)1785, (unsigned short)1786, (unsigned short)1787, (unsigned short)1791, (unsigned short)1792, (unsigned short)1793, (unsigned short)1797, (unsigned short)1798, (unsigned short)1799, (unsigned short)1800, (unsigned short)1802, (unsigned short)1803, (unsigned short)1805, (unsigned short)1806, (unsigned short)1811, (unsigned short)1813, (unsigned short)1818, (unsigned short)1822, (unsigned short)1823, (unsigned short)1824, (unsigned short)1826, (unsigned short)1827, (unsigned short)1829, (unsigned short)1830, (unsigned short)1835, (unsigned short)1837, (unsigned short)1842, (unsigned short)1846, (unsigned short)1847, (unsigned short)1848, (unsigned short)1849, (unsigned short)1850, (unsigned short)1851, (unsigned short)1852, (unsigned short)1853, (unsigned short)1854, (unsigned short)1855, (unsigned short)1856, (unsigned short)1857, (unsigned short)1861, (unsigned short)1862, (unsigned short)1866, (unsigned short)1867, (unsigned short)1872, (unsigned short)1873, (unsigned short)1877, (unsigned short)1878, (unsigned short)1879, (unsigned short)1880, (unsigned short)1881, (unsigned short)1882, (unsigned short)1883, (unsigned short)1887, (unsigned short)1888, (unsigned short)1892, (unsigned short)1896, (unsigned short)1900, (unsigned short)1907, (unsigned short)1908, (unsigned short)1909, (unsigned short)1910, (unsigned short)1911, (unsigned short)1915, (unsigned short)1916, (unsigned short)1967, (unsigned short)1968, (unsigned short)1969, (unsigned short)1970, (unsigned short)1971, (unsigned short)1972, (unsigned short)1973, (unsigned short)1977, (unsigned short)1978, (unsigned short)1979, (unsigned short)1980, (unsigned short)1981, (unsigned short)1988, (unsigned short)1989, (unsigned short)1990, (unsigned short)1991, (unsigned short)1995, (unsigned short)1996, (unsigned short)1997, (unsigned short)1999, (unsigned short)2000, (unsigned short)2004, (unsigned short)2005, (unsigned short)2006, (unsigned short)2008, (unsigned short)2009, (unsigned short)2013, (unsigned short)2014, (unsigned short)2015, (unsigned short)2017, (unsigned short)2018, (unsigned short)2022, (unsigned short)2023, (unsigned short)2024, (unsigned short)2028, (unsigned short)2029, (unsigned short)2030, (unsigned short)2034, (unsigned short)2035, (unsigned short)2036, (unsigned short)2037, (unsigned short)2038, (unsigned short)2039, (unsigned short)2040, (unsigned short)2041, (unsigned short)2042, (unsigned short)2044, (unsigned short)2045, (unsigned short)2046, (unsigned short)2047, (unsigned short)2048, (unsigned short)2049, (unsigned short)2050, (unsigned short)2051, (unsigned short)2053, (unsigned short)2054, (unsigned short)2055, (unsigned short)2056, (unsigned short)2058, (unsigned short)2059, (unsigned short)2060, (unsigned short)2061, (unsigned short)2063, (unsigned short)2070, (unsigned short)2074, (unsigned short)2078, (unsigned short)2085, (unsigned short)2086, (unsigned short)2090, (unsigned short)2095, (unsigned short)2096, (unsigned short)2100, (unsigned short)2101, (unsigned short)2102, (unsigned short)2103, (unsigned short)2109, (unsigned short)2110, (unsigned short)2111, (unsigned short)2115, (unsigned short)2116, (unsigned short)2117, (unsigned short)2118, (unsigned short)2122, (unsigned short)2124, (unsigned short)2128, (unsigned short)2129, (unsigned short)2130, (unsigned short)2131, (unsigned short)2132, (unsigned short)2133, (unsigned short)2134, (unsigned short)2138, (unsigned short)2139, (unsigned short)2140, (unsigned short)2141, (unsigned short)2142, (unsigned short)2143, (unsigned short)2144, (unsigned short)2148, (unsigned short)2149, (unsigned short)2150, (unsigned short)2154, (unsigned short)2155, (unsigned short)2156, (unsigned short)2160, (unsigned short)2164, (unsigned short)2165, (unsigned short)2169, (unsigned short)2170, (unsigned short)2171, (unsigned short)2175, (unsigned short)2176, (unsigned short)2178, (unsigned short)2179, (unsigned short)2180, (unsigned short)2181, (unsigned short)2182, (unsigned short)2184, (unsigned short)2185, (unsigned short)2186, (unsigned short)2187, (unsigned short)2188, (unsigned short)2192, (unsigned short)2193, (unsigned short)2197, (unsigned short)2198, (unsigned short)2199, (unsigned short)2203, (unsigned short)2204, (unsigned short)2205, (unsigned short)2206, (unsigned short)2207, (unsigned short)2208, (unsigned short)2209, (unsigned short)2210, (unsigned short)2211, (unsigned short)2213, (unsigned short)2214, (unsigned short)2216, (unsigned short)2217, (unsigned short)2218, (unsigned short)2219, (unsigned short)2220, (unsigned short)2224, (unsigned short)2225, (unsigned short)2229, (unsigned short)2230, (unsigned short)2234, (unsigned short)2238, (unsigned short)2239, (unsigned short)2240, (unsigned short)2245, (unsigned short)2246, (unsigned short)2250, (unsigned short)2251, (unsigned short)2252, (unsigned short)2253, (unsigned short)2254, (unsigned short)2255, (unsigned short)2256, (unsigned short)2257, (unsigned short)2258, (unsigned short)2259, (unsigned short)2260, (unsigned short)2261, (unsigned short)2262, (unsigned short)2263, (unsigned short)2264, (unsigned short)2265, (unsigned short)2266, (unsigned short)2267, (unsigned short)2268, (unsigned short)2269, (unsigned short)2270, (unsigned short)2271, (unsigned short)2272, (unsigned short)2273, (unsigned short)2274, (unsigned short)2275, (unsigned short)2279, (unsigned short)2280, (unsigned short)2281, (unsigned short)2282, (unsigned short)2283, (unsigned short)2284, (unsigned short)2285, (unsigned short)2286, (unsigned short)2287, (unsigned short)2288, (unsigned short)2289, (unsigned short)2290, (unsigned short)2291, (unsigned short)2292, (unsigned short)2293, (unsigned short)2294, (unsigned short)2295, (unsigned short)2296, (unsigned short)2297, (unsigned short)2298, (unsigned short)2299, (unsigned short)2300, (unsigned short)2301, (unsigned short)2302, (unsigned short)2308, (unsigned short)2310, (unsigned short)2312, (unsigned short)2314, (unsigned short)2316, (unsigned short)2318, (unsigned short)2320, (unsigned short)2322, (unsigned short)2324, (unsigned short)2326, (unsigned short)2331, (unsigned short)2332, (unsigned short)2336, (unsigned short)2342, (unsigned short)2348, (unsigned short)2355, (unsigned short)2365, (unsigned short)2366, (unsigned short)2367, (unsigned short)2368, (unsigned short)2372, (unsigned short)2373, (unsigned short)2374, (unsigned short)2376, (unsigned short)2377, (unsigned short)2378, (unsigned short)2380, (unsigned short)2381, (unsigned short)2382, (unsigned short)2386, (unsigned short)2390, (unsigned short)2398, (unsigned short)2407, (unsigned short)2416, (unsigned short)2417, (unsigned short)2419, (unsigned short)2420, (unsigned short)2424, (unsigned short)2431, (unsigned short)2438, (unsigned short)2441, (unsigned short)2454, (unsigned short)2468, (unsigned short)2471, (unsigned short)2473, (unsigned short)2475, (unsigned short)2480, (unsigned short)2481, (unsigned short)2485, (unsigned short)2486, (unsigned short)2487, (unsigned short)2488, (unsigned short)2489, (unsigned short)2490, (unsigned short)2491, (unsigned short)2492, (unsigned short)2496, (unsigned short)2497, (unsigned short)2498, (unsigned short)2499, (unsigned short)2500, (unsigned short)2501, (unsigned short)2502, (unsigned short)2503, (unsigned short)2504, (unsigned short)2505, (unsigned short)2509, (unsigned short)2510, (unsigned short)2511, (unsigned short)2512, (unsigned short)2513, (unsigned short)2514, (unsigned short)2515, (unsigned short)2516, (unsigned short)2517, (unsigned short)2518, (unsigned short)2522, (unsigned short)2523, (unsigned short)2524, (unsigned short)2525, (unsigned short)2526, (unsigned short)2527, (unsigned short)2528, (unsigned short)2529, (unsigned short)2530, (unsigned short)2531, (unsigned short)2532, (unsigned short)2533, (unsigned short)2537, (unsigned short)2538, (unsigned short)2539, (unsigned short)2540, (unsigned short)2541, (unsigned short)2542, (unsigned short)2543, (unsigned short)2544, (unsigned short)2545, (unsigned short)2546, (unsigned short)2550, (unsigned short)2551, (unsigned short)2555, (unsigned short)2556, (unsigned short)2557, (unsigned short)2558, (unsigned short)2559, (unsigned short)2560, (unsigned short)2561, (unsigned short)2562, (unsigned short)2563, (unsigned short)2565, (unsigned short)2567, (unsigned short)2585, (unsigned short)2603, (unsigned short)2604, (unsigned short)2608, (unsigned short)2609, (unsigned short)2610, (unsigned short)2611, (unsigned short)2612, (unsigned short)2613, (unsigned short)2614, (unsigned short)2615, (unsigned short)2616, (unsigned short)2634, (unsigned short)2651, (unsigned short)2652, (unsigned short)2653, (unsigned short)2654, (unsigned short)2655, (unsigned short)2656, (unsigned short)2657, (unsigned short)2658, (unsigned short)2659, (unsigned short)2660, (unsigned short)2661, (unsigned short)2662, (unsigned short)2663, (unsigned short)2681, (unsigned short)2698, (unsigned short)2699, (unsigned short)2700, (unsigned short)2701, (unsigned short)2702, (unsigned short)2703, (unsigned short)2704, (unsigned short)2705, (unsigned short)2706, (unsigned short)2707, (unsigned short)2708, (unsigned short)2709, (unsigned short)2710, (unsigned short)2728, (unsigned short)2745, (unsigned short)2746, (unsigned short)2750, (unsigned short)2751, (unsigned short)2752, (unsigned short)2753, (unsigned short)2754, (unsigned short)2758, (unsigned short)2759, (unsigned short)2766, (unsigned short)2768, (unsigned short)2777, (unsigned short)2786, (unsigned short)2795, (unsigned short)2804, (unsigned short)2805, (unsigned short)2806, (unsigned short)2807, (unsigned short)2811, (unsigned short)2812, (unsigned short)2813, (unsigned short)2814, (unsigned short)2815, (unsigned short)2816, (unsigned short)2817, (unsigned short)2818, (unsigned short)2819, (unsigned short)2823, (unsigned short)2827, (unsigned short)2828, (unsigned short)2829, (unsigned short)2830, (unsigned short)2831, (unsigned short)2836, (unsigned short)2845, (unsigned short)2854, (unsigned short)2863, (unsigned short)2877, (unsigned short)2878, (unsigned short)2883, (unsigned short)2887, (unsigned short)2888, (unsigned short)2889, (unsigned short)2890, (unsigned short)2891, (unsigned short)2896, (unsigned short)2905, (unsigned short)2914, (unsigned short)2923, (unsigned short)2937, (unsigned short)2938, (unsigned short)2987, (unsigned short)2988, (unsigned short)2989, (unsigned short)2990, (unsigned short)3002, (unsigned short)3003, (unsigned short)3004, (unsigned short)3009, (unsigned short)3010, (unsigned short)3011, (unsigned short)3012, (unsigned short)3013, (unsigned short)3017, (unsigned short)3018, (unsigned short)3022, (unsigned short)3023, (unsigned short)3024, (unsigned short)3028, (unsigned short)3029, (unsigned short)3033, (unsigned short)3034, (unsigned short)3035, (unsigned short)3036, (unsigned short)3037, (unsigned short)3038, (unsigned short)3039, (unsigned short)3040, (unsigned short)3041, (unsigned short)3042, (unsigned short)3043, (unsigned short)3044, (unsigned short)3045, (unsigned short)3046, (unsigned short)3047, (unsigned short)3048, (unsigned short)3052, (unsigned short)3053, (unsigned short)3054, (unsigned short)3055, (unsigned short)3056, (unsigned short)3057, (unsigned short)3058, (unsigned short)3059, (unsigned short)3063, (unsigned short)3064, (unsigned short)3065, (unsigned short)3066, (unsigned short)3070, (unsigned short)3071, (unsigned short)3072, (unsigned short)3073, (unsigned short)3074, (unsigned short)3078, (unsigned short)3079, (unsigned short)3080, (unsigned short)3081, (unsigned short)3082, (unsigned short)3086, (unsigned short)3087, (unsigned short)3089, (unsigned short)3091, (unsigned short)3093, (unsigned short)3098, (unsigned short)3099, (unsigned short)3101, (unsigned short)3103, (unsigned short)3108, (unsigned short)3109, (unsigned short)3110, (unsigned short)3111, (unsigned short)3115, (unsigned short)3116, (unsigned short)3117, (unsigned short)3118, (unsigned short)3122, (unsigned short)3123, (unsigned short)3124, (unsigned short)3125, (unsigned short)3129, (unsigned short)3130, (unsigned short)3131, (unsigned short)3132, (unsigned short)3136, (unsigned short)3137, (unsigned short)3138, (unsigned short)3139, (unsigned short)3143, (unsigned short)3144, (unsigned short)3145, (unsigned short)3161, (unsigned short)3162, (unsigned short)3163, (unsigned short)3164, (unsigned short)3177, (unsigned short)3193, (unsigned short)3194, (unsigned short)3199, (unsigned short)3200, (unsigned short)3204, (unsigned short)3205, (unsigned short)3206, (unsigned short)3207, (unsigned short)3210, (unsigned short)3211, (unsigned short)3215, (unsigned short)3216, (unsigned short)3217, (unsigned short)3221, (unsigned short)3225, (unsigned short)3229, (unsigned short)3230, (unsigned short)3231, (unsigned short)3232, (unsigned short)3233, (unsigned short)3242, (unsigned short)3251, (unsigned short)3252, (unsigned short)3253, (unsigned short)3254, (unsigned short)3258, (unsigned short)3259, (unsigned short)3263, (unsigned short)3264, (unsigned short)3269, (unsigned short)3270, (unsigned short)3271, (unsigned short)3272, (unsigned short)3273, (unsigned short)3274, (unsigned short)3293, (unsigned short)3294, (unsigned short)3298, (unsigned short)3299, (unsigned short)3300, (unsigned short)3301, (unsigned short)3302, (unsigned short)3303, (unsigned short)3305, (unsigned short)3306, (unsigned short)3307, (unsigned short)3308, (unsigned short)3312, (unsigned short)3313, (unsigned short)3314, (unsigned short)3315, (unsigned short)3316, (unsigned short)3318, (unsigned short)3319, (unsigned short)3320, (unsigned short)3324, (unsigned short)3325, (unsigned short)3326, (unsigned short)3327, (unsigned short)3328, (unsigned short)3329, (unsigned short)3333, (unsigned short)3334, (unsigned short)3335, (unsigned short)3340, (unsigned short)3341, (unsigned short)3342, (unsigned short)3343, (unsigned short)3344, (unsigned short)3345, (unsigned short)3346, (unsigned short)3347, (unsigned short)3348, (unsigned short)3349, (unsigned short)3350, (unsigned short)3351, (unsigned short)3352, (unsigned short)3356, (unsigned short)3357, (unsigned short)3358, (unsigned short)3359, (unsigned short)3360, (unsigned short)3361, (unsigned short)3362, (unsigned short)3366, (unsigned short)3367, (unsigned short)3368, (unsigned short)3372, (unsigned short)3373, (unsigned short)3374, (unsigned short)3378, (unsigned short)3379, (unsigned short)3380, (unsigned short)3381, (unsigned short)3383, (unsigned short)3384, (unsigned short)3385, (unsigned short)3387, (unsigned short)3388, (unsigned short)3389, (unsigned short)3390, (unsigned short)3392, (unsigned short)3393, (unsigned short)3394, (unsigned short)3398, (unsigned short)3399, (unsigned short)3400, (unsigned short)3401, (unsigned short)3402, (unsigned short)3404, (unsigned short)3405, (unsigned short)3406, (unsigned short)3407, (unsigned short)3408, (unsigned short)3412, (unsigned short)3413, (unsigned short)3414, (unsigned short)3415, (unsigned short)3416, (unsigned short)3417, (unsigned short)3418, (unsigned short)3420, (unsigned short)3421, (unsigned short)3422, (unsigned short)3423, (unsigned short)3424, (unsigned short)3428, (unsigned short)3429, (unsigned short)3430, (unsigned short)3434, (unsigned short)3435, (unsigned short)3439, (unsigned short)3440, (unsigned short)3441, (unsigned short)3442, (unsigned short)3446, (unsigned short)3447, (unsigned short)3448, (unsigned short)3450, (unsigned short)3451, (unsigned short)3452, (unsigned short)3456, (unsigned short)3460, (unsigned short)3461, (unsigned short)3463, (unsigned short)3464, (unsigned short)3465, (unsigned short)3469, (unsigned short)3470, (unsigned short)3471, (unsigned short)3472, (unsigned short)3476, (unsigned short)3477, (unsigned short)3481, (unsigned short)3482, (unsigned short)3483, (unsigned short)3487, (unsigned short)3488, (unsigned short)3489, (unsigned short)3490, (unsigned short)3491, (unsigned short)3492, (unsigned short)3493, (unsigned short)3497, (unsigned short)3498, (unsigned short)3499, (unsigned short)3500, (unsigned short)3504, (unsigned short)3505, (unsigned short)3506, (unsigned short)3507, (unsigned short)3511, (unsigned short)3515, (unsigned short)3519, (unsigned short)3521, (unsigned short)3524, (unsigned short)3530, (unsigned short)3531, (unsigned short)3532, (unsigned short)3536, (unsigned short)3537, (unsigned short)3538, (unsigned short)3539, (unsigned short)3540, (unsigned short)3541, (unsigned short)3545, (unsigned short)3546, (unsigned short)3550, (unsigned short)3551, (unsigned short)3552, (unsigned short)3554, (unsigned short)3555, (unsigned short)3557, (unsigned short)3558, (unsigned short)3559, (unsigned short)3560, (unsigned short)3561, (unsigned short)3563, (unsigned short)3564, (unsigned short)3568, (unsigned short)3569, (unsigned short)3570, (unsigned short)3571, (unsigned short)3575, (unsigned short)3576, (unsigned short)3577, (unsigned short)3578, (unsigned short)3580, (unsigned short)3581, (unsigned short)3582, (unsigned short)3583, (unsigned short)3584, (unsigned short)3585, (unsigned short)3586, (unsigned short)3589, (unsigned short)3593, (unsigned short)3594, (unsigned short)3598, (unsigned short)3599, (unsigned short)3603, (unsigned short)3604, (unsigned short)3605, (unsigned short)3606, (unsigned short)3607, (unsigned short)3608, (unsigned short)3609, (unsigned short)3610, (unsigned short)3614, (unsigned short)3615, (unsigned short)3616, (unsigned short)3617, (unsigned short)3623, (unsigned short)3624, (unsigned short)3626, (unsigned short)3627, (unsigned short)3630, (unsigned short)3631, (unsigned short)3634, (unsigned short)3635, (unsigned short)3636, (unsigned short)3637, (unsigned short)3638, (unsigned short)3639, (unsigned short)3643, (unsigned short)3644, (unsigned short)3656, (unsigned short)3657, (unsigned short)3660, (unsigned short)3663, (unsigned short)3665, (unsigned short)3666, (unsigned short)3667, (unsigned short)3677, (unsigned short)3679, (unsigned short)3680, (unsigned short)3682, (unsigned short)3683, (unsigned short)3684, (unsigned short)3685, (unsigned short)3695, (unsigned short)3696, (unsigned short)3697, (unsigned short)3698, (unsigned short)3699, (unsigned short)3700, (unsigned short)3704, (unsigned short)3705, (unsigned short)3713, (unsigned short)3715, (unsigned short)3716, (unsigned short)3718, (unsigned short)3720, (unsigned short)3724, (unsigned short)3725, (unsigned short)3726, (unsigned short)3727, (unsigned short)3728, (unsigned short)3732, (unsigned short)3733, (unsigned short)3734, (unsigned short)3736, (unsigned short)3741, (unsigned short)3742, (unsigned short)3743, (unsigned short)3747, (unsigned short)3748, (unsigned short)3749, (unsigned short)3753, (unsigned short)3757, (unsigned short)3758, (unsigned short)3759, (unsigned short)3763, (unsigned short)3764, (unsigned short)3768, (unsigned short)3769, (unsigned short)3773, (unsigned short)3774, (unsigned short)3775, (unsigned short)3776, (unsigned short)3780, (unsigned short)3784, (unsigned short)3788, (unsigned short)3792
+(unsigned short)0, (unsigned short)279, (unsigned short)279, (unsigned short)308, (unsigned short)367, (unsigned short)368, (unsigned short)477, (unsigned short)481, (unsigned short)484, (unsigned short)485, (unsigned short)486, (unsigned short)535, (unsigned short)537, (unsigned short)542, (unsigned short)547, (unsigned short)552, (unsigned short)554, (unsigned short)559, (unsigned short)561, (unsigned short)566, (unsigned short)568, (unsigned short)573, (unsigned short)575, (unsigned short)577, (unsigned short)579, (unsigned short)581, (unsigned short)585, (unsigned short)589, (unsigned short)602, (unsigned short)604, (unsigned short)606, (unsigned short)608, (unsigned short)610, (unsigned short)616, (unsigned short)618, (unsigned short)623, (unsigned short)628, (unsigned short)633, (unsigned short)635, (unsigned short)637, (unsigned short)642, (unsigned short)643, (unsigned short)647, (unsigned short)648, (unsigned short)659, (unsigned short)663, (unsigned short)664, (unsigned short)666, (unsigned short)671, (unsigned short)672, (unsigned short)674, (unsigned short)677, (unsigned short)689, (unsigned short)700, (unsigned short)719, (unsigned short)721, (unsigned short)726, (unsigned short)727, (unsigned short)728, (unsigned short)729, (unsigned short)730, (unsigned short)731, (unsigned short)732, (unsigned short)733, (unsigned short)746, (unsigned short)750, (unsigned short)751, (unsigned short)752, (unsigned short)753, (unsigned short)757, (unsigned short)758, (unsigned short)759, (unsigned short)760, (unsigned short)761, (unsigned short)762, (unsigned short)763, (unsigned short)767, (unsigned short)769, (unsigned short)774, (unsigned short)776, (unsigned short)778, (unsigned short)780, (unsigned short)782, (unsigned short)812, (unsigned short)814, (unsigned short)819, (unsigned short)821, (unsigned short)823, (unsigned short)825, (unsigned short)827, (unsigned short)856, (unsigned short)858, (unsigned short)860, (unsigned short)865, (unsigned short)867, (unsigned short)872, (unsigned short)874, (unsigned short)878, (unsigned short)880, (unsigned short)882, (unsigned short)884, (unsigned short)889, (unsigned short)892, (unsigned short)895, (unsigned short)898, (unsigned short)963, (unsigned short)965, (unsigned short)970, (unsigned short)972, (unsigned short)974, (unsigned short)976, (unsigned short)978, (unsigned short)1009, (unsigned short)1013, (unsigned short)1014, (unsigned short)1015, (unsigned short)1019, (unsigned short)1020, (unsigned short)1021, (unsigned short)1025, (unsigned short)1026, (unsigned short)1027, (unsigned short)1028, (unsigned short)1032, (unsigned short)1035, (unsigned short)1038, (unsigned short)1041, (unsigned short)1044, (unsigned short)1049, (unsigned short)1050, (unsigned short)1052, (unsigned short)1054, (unsigned short)1056, (unsigned short)1058, (unsigned short)1063, (unsigned short)1067, (unsigned short)1070, (unsigned short)1073, (unsigned short)1076, (unsigned short)1079, (unsigned short)1084, (unsigned short)1085, (unsigned short)1087, (unsigned short)1092, (unsigned short)1096, (unsigned short)1098, (unsigned short)1103, (unsigned short)1105, (unsigned short)1110, (unsigned short)1112, (unsigned short)1117, (unsigned short)1122, (unsigned short)1124, (unsigned short)1129, (unsigned short)1131, (unsigned short)1133, (unsigned short)1135, (unsigned short)1140, (unsigned short)1142, (unsigned short)1144, (unsigned short)1146, (unsigned short)1151, (unsigned short)1152, (unsigned short)1153, (unsigned short)1154, (unsigned short)1155, (unsigned short)1156, (unsigned short)1157, (unsigned short)1158, (unsigned short)1159, (unsigned short)1160, (unsigned short)1161, (unsigned short)1163, (unsigned short)1164, (unsigned short)1166, (unsigned short)1170, (unsigned short)1173, (unsigned short)1174, (unsigned short)1175, (unsigned short)1176, (unsigned short)1177, (unsigned short)1178, (unsigned short)1179, (unsigned short)1180, (unsigned short)1181, (unsigned short)1182, (unsigned short)1183, (unsigned short)1184, (unsigned short)1185, (unsigned short)1186, (unsigned short)1188, (unsigned short)1189, (unsigned short)1193, (unsigned short)1194, (unsigned short)1195, (unsigned short)1199, (unsigned short)1203, (unsigned short)1204, (unsigned short)1205, (unsigned short)1209, (unsigned short)1210, (unsigned short)1211, (unsigned short)1212, (unsigned short)1213, (unsigned short)1217, (unsigned short)1218, (unsigned short)1230, (unsigned short)1231, (unsigned short)1235, (unsigned short)1236, (unsigned short)1237, (unsigned short)1238, (unsigned short)1239, (unsigned short)1240, (unsigned short)1241, (unsigned short)1242, (unsigned short)1246, (unsigned short)1250, (unsigned short)1251, (unsigned short)1255, (unsigned short)1263, (unsigned short)1264, (unsigned short)1268, (unsigned short)1269, (unsigned short)1270, (unsigned short)1274, (unsigned short)1275, (unsigned short)1279, (unsigned short)1280, (unsigned short)1281, (unsigned short)1282, (unsigned short)1283, (unsigned short)1284, (unsigned short)1324, (unsigned short)1325, (unsigned short)1329, (unsigned short)1337, (unsigned short)1338, (unsigned short)1346, (unsigned short)1347, (unsigned short)1349, (unsigned short)1350, (unsigned short)1359, (unsigned short)1360, (unsigned short)1364, (unsigned short)1371, (unsigned short)1378, (unsigned short)1384, (unsigned short)1391, (unsigned short)1397, (unsigned short)1406, (unsigned short)1413, (unsigned short)1419, (unsigned short)1425, (unsigned short)1431, (unsigned short)1437, (unsigned short)1443, (unsigned short)1454, (unsigned short)1459, (unsigned short)1460, (unsigned short)1465, (unsigned short)1466, (unsigned short)1467, (unsigned short)1471, (unsigned short)1475, (unsigned short)1476, (unsigned short)1477, (unsigned short)1478, (unsigned short)1479, (unsigned short)1480, (unsigned short)1481, (unsigned short)1494, (unsigned short)1495, (unsigned short)1496, (unsigned short)1497, (unsigned short)1498, (unsigned short)1499, (unsigned short)1500, (unsigned short)1501, (unsigned short)1502, (unsigned short)1503, (unsigned short)1504, (unsigned short)1505, (unsigned short)1506, (unsigned short)1507, (unsigned short)1508, (unsigned short)1509, (unsigned short)1510, (unsigned short)1511, (unsigned short)1512, (unsigned short)1513, (unsigned short)1514, (unsigned short)1515, (unsigned short)1516, (unsigned short)1518, (unsigned short)1519, (unsigned short)1520, (unsigned short)1521, (unsigned short)1522, (unsigned short)1524, (unsigned short)1525, (unsigned short)1529, (unsigned short)1533, (unsigned short)1537, (unsigned short)1538, (unsigned short)1542, (unsigned short)1544, (unsigned short)1545, (unsigned short)1546, (unsigned short)1547, (unsigned short)1548, (unsigned short)1549, (unsigned short)1550, (unsigned short)1551, (unsigned short)1552, (unsigned short)1554, (unsigned short)1555, (unsigned short)1556, (unsigned short)1557, (unsigned short)1558, (unsigned short)1559, (unsigned short)1560, (unsigned short)1561, (unsigned short)1565, (unsigned short)1567, (unsigned short)1568, (unsigned short)1569, (unsigned short)1570, (unsigned short)1571, (unsigned short)1572, (unsigned short)1573, (unsigned short)1574, (unsigned short)1575, (unsigned short)1577, (unsigned short)1578, (unsigned short)1579, (unsigned short)1580, (unsigned short)1581, (unsigned short)1582, (unsigned short)1583, (unsigned short)1584, (unsigned short)1588, (unsigned short)1589, (unsigned short)1590, (unsigned short)1591, (unsigned short)1595, (unsigned short)1596, (unsigned short)1597, (unsigned short)1598, (unsigned short)1599, (unsigned short)1603, (unsigned short)1604, (unsigned short)1605, (unsigned short)1606, (unsigned short)1607, (unsigned short)1608, (unsigned short)1609, (unsigned short)1610, (unsigned short)1611, (unsigned short)1613, (unsigned short)1614, (unsigned short)1615, (unsigned short)1619, (unsigned short)1620, (unsigned short)1624, (unsigned short)1625, (unsigned short)1629, (unsigned short)1630, (unsigned short)1631, (unsigned short)1632, (unsigned short)1633, (unsigned short)1634, (unsigned short)1635, (unsigned short)1636, (unsigned short)1640, (unsigned short)1641, (unsigned short)1645, (unsigned short)1646, (unsigned short)1647, (unsigned short)1648, (unsigned short)1649, (unsigned short)1650, (unsigned short)1651, (unsigned short)1655, (unsigned short)1656, (unsigned short)1657, (unsigned short)1658, (unsigned short)1659, (unsigned short)1663, (unsigned short)1664, (unsigned short)1665, (unsigned short)1666, (unsigned short)1667, (unsigned short)1671, (unsigned short)1679, (unsigned short)1680, (unsigned short)1681, (unsigned short)1682, (unsigned short)1683, (unsigned short)1684, (unsigned short)1685, (unsigned short)1686, (unsigned short)1687, (unsigned short)1691, (unsigned short)1692, (unsigned short)1693, (unsigned short)1694, (unsigned short)1695, (unsigned short)1697, (unsigned short)1698, (unsigned short)1699, (unsigned short)1700, (unsigned short)1704, (unsigned short)1705, (unsigned short)1706, (unsigned short)1708, (unsigned short)1709, (unsigned short)1713, (unsigned short)1714, (unsigned short)1715, (unsigned short)1717, (unsigned short)1718, (unsigned short)1722, (unsigned short)1723, (unsigned short)1724, (unsigned short)1726, (unsigned short)1727, (unsigned short)1731, (unsigned short)1732, (unsigned short)1733, (unsigned short)1737, (unsigned short)1738, (unsigned short)1739, (unsigned short)1743, (unsigned short)1744, (unsigned short)1745, (unsigned short)1746, (unsigned short)1747, (unsigned short)1749, (unsigned short)1750, (unsigned short)1751, (unsigned short)1752, (unsigned short)1754, (unsigned short)1755, (unsigned short)1756, (unsigned short)1757, (unsigned short)1759, (unsigned short)1760, (unsigned short)1761, (unsigned short)1762, (unsigned short)1766, (unsigned short)1767, (unsigned short)1768, (unsigned short)1769, (unsigned short)1770, (unsigned short)1772, (unsigned short)1773, (unsigned short)1774, (unsigned short)1775, (unsigned short)1779, (unsigned short)1780, (unsigned short)1781, (unsigned short)1782, (unsigned short)1783, (unsigned short)1784, (unsigned short)1785, (unsigned short)1786, (unsigned short)1787, (unsigned short)1788, (unsigned short)1789, (unsigned short)1793, (unsigned short)1794, (unsigned short)1795, (unsigned short)1796, (unsigned short)1800, (unsigned short)1801, (unsigned short)1802, (unsigned short)1806, (unsigned short)1807, (unsigned short)1808, (unsigned short)1809, (unsigned short)1811, (unsigned short)1812, (unsigned short)1814, (unsigned short)1815, (unsigned short)1820, (unsigned short)1822, (unsigned short)1827, (unsigned short)1831, (unsigned short)1832, (unsigned short)1833, (unsigned short)1835, (unsigned short)1836, (unsigned short)1838, (unsigned short)1839, (unsigned short)1844, (unsigned short)1846, (unsigned short)1851, (unsigned short)1855, (unsigned short)1856, (unsigned short)1857, (unsigned short)1858, (unsigned short)1859, (unsigned short)1860, (unsigned short)1861, (unsigned short)1862, (unsigned short)1863, (unsigned short)1864, (unsigned short)1865, (unsigned short)1866, (unsigned short)1870, (unsigned short)1871, (unsigned short)1875, (unsigned short)1876, (unsigned short)1881, (unsigned short)1882, (unsigned short)1886, (unsigned short)1887, (unsigned short)1888, (unsigned short)1889, (unsigned short)1890, (unsigned short)1891, (unsigned short)1892, (unsigned short)1896, (unsigned short)1897, (unsigned short)1901, (unsigned short)1905, (unsigned short)1909, (unsigned short)1916, (unsigned short)1917, (unsigned short)1918, (unsigned short)1919, (unsigned short)1920, (unsigned short)1924, (unsigned short)1925, (unsigned short)1976, (unsigned short)1977, (unsigned short)1978, (unsigned short)1979, (unsigned short)1980, (unsigned short)1981, (unsigned short)1982, (unsigned short)1986, (unsigned short)1987, (unsigned short)1988, (unsigned short)1989, (unsigned short)1990, (unsigned short)1997, (unsigned short)1998, (unsigned short)1999, (unsigned short)2000, (unsigned short)2004, (unsigned short)2005, (unsigned short)2006, (unsigned short)2008, (unsigned short)2009, (unsigned short)2013, (unsigned short)2014, (unsigned short)2015, (unsigned short)2017, (unsigned short)2018, (unsigned short)2022, (unsigned short)2023, (unsigned short)2024, (unsigned short)2026, (unsigned short)2027, (unsigned short)2031, (unsigned short)2032, (unsigned short)2033, (unsigned short)2037, (unsigned short)2038, (unsigned short)2039, (unsigned short)2043, (unsigned short)2044, (unsigned short)2045, (unsigned short)2046, (unsigned short)2047, (unsigned short)2048, (unsigned short)2049, (unsigned short)2050, (unsigned short)2051, (unsigned short)2053, (unsigned short)2054, (unsigned short)2055, (unsigned short)2056, (unsigned short)2057, (unsigned short)2058, (unsigned short)2059, (unsigned short)2060, (unsigned short)2062, (unsigned short)2063, (unsigned short)2064, (unsigned short)2065, (unsigned short)2067, (unsigned short)2068, (unsigned short)2069, (unsigned short)2070, (unsigned short)2072, (unsigned short)2079, (unsigned short)2083, (unsigned short)2087, (unsigned short)2094, (unsigned short)2095, (unsigned short)2099, (unsigned short)2104, (unsigned short)2105, (unsigned short)2109, (unsigned short)2110, (unsigned short)2111, (unsigned short)2112, (unsigned short)2118, (unsigned short)2119, (unsigned short)2120, (unsigned short)2124, (unsigned short)2125, (unsigned short)2126, (unsigned short)2127, (unsigned short)2131, (unsigned short)2133, (unsigned short)2137, (unsigned short)2138, (unsigned short)2139, (unsigned short)2140, (unsigned short)2141, (unsigned short)2142, (unsigned short)2143, (unsigned short)2147, (unsigned short)2148, (unsigned short)2149, (unsigned short)2150, (unsigned short)2151, (unsigned short)2152, (unsigned short)2153, (unsigned short)2157, (unsigned short)2158, (unsigned short)2159, (unsigned short)2163, (unsigned short)2164, (unsigned short)2165, (unsigned short)2169, (unsigned short)2173, (unsigned short)2174, (unsigned short)2178, (unsigned short)2179, (unsigned short)2180, (unsigned short)2184, (unsigned short)2185, (unsigned short)2187, (unsigned short)2188, (unsigned short)2189, (unsigned short)2190, (unsigned short)2191, (unsigned short)2193, (unsigned short)2194, (unsigned short)2195, (unsigned short)2196, (unsigned short)2197, (unsigned short)2201, (unsigned short)2202, (unsigned short)2206, (unsigned short)2207, (unsigned short)2208, (unsigned short)2212, (unsigned short)2213, (unsigned short)2214, (unsigned short)2215, (unsigned short)2216, (unsigned short)2217, (unsigned short)2218, (unsigned short)2219, (unsigned short)2220, (unsigned short)2222, (unsigned short)2223, (unsigned short)2225, (unsigned short)2226, (unsigned short)2227, (unsigned short)2228, (unsigned short)2229, (unsigned short)2233, (unsigned short)2234, (unsigned short)2238, (unsigned short)2239, (unsigned short)2243, (unsigned short)2247, (unsigned short)2248, (unsigned short)2249, (unsigned short)2254, (unsigned short)2255, (unsigned short)2259, (unsigned short)2260, (unsigned short)2261, (unsigned short)2262, (unsigned short)2263, (unsigned short)2264, (unsigned short)2265, (unsigned short)2266, (unsigned short)2267, (unsigned short)2268, (unsigned short)2269, (unsigned short)2270, (unsigned short)2271, (unsigned short)2272, (unsigned short)2273, (unsigned short)2274, (unsigned short)2275, (unsigned short)2276, (unsigned short)2277, (unsigned short)2278, (unsigned short)2279, (unsigned short)2280, (unsigned short)2281, (unsigned short)2282, (unsigned short)2283, (unsigned short)2284, (unsigned short)2288, (unsigned short)2289, (unsigned short)2290, (unsigned short)2291, (unsigned short)2292, (unsigned short)2293, (unsigned short)2294, (unsigned short)2295, (unsigned short)2296, (unsigned short)2297, (unsigned short)2298, (unsigned short)2299, (unsigned short)2300, (unsigned short)2301, (unsigned short)2302, (unsigned short)2303, (unsigned short)2304, (unsigned short)2305, (unsigned short)2306, (unsigned short)2307, (unsigned short)2308, (unsigned short)2309, (unsigned short)2310, (unsigned short)2311, (unsigned short)2317, (unsigned short)2319, (unsigned short)2321, (unsigned short)2323, (unsigned short)2325, (unsigned short)2327, (unsigned short)2329, (unsigned short)2331, (unsigned short)2333, (unsigned short)2335, (unsigned short)2340, (unsigned short)2341, (unsigned short)2345, (unsigned short)2351, (unsigned short)2357, (unsigned short)2364, (unsigned short)2374, (unsigned short)2375, (unsigned short)2376, (unsigned short)2377, (unsigned short)2381, (unsigned short)2382, (unsigned short)2383, (unsigned short)2385, (unsigned short)2386, (unsigned short)2387, (unsigned short)2389, (unsigned short)2390, (unsigned short)2391, (unsigned short)2395, (unsigned short)2399, (unsigned short)2407, (unsigned short)2416, (unsigned short)2425, (unsigned short)2426, (unsigned short)2428, (unsigned short)2429, (unsigned short)2433, (unsigned short)2440, (unsigned short)2447, (unsigned short)2450, (unsigned short)2463, (unsigned short)2477, (unsigned short)2480, (unsigned short)2482, (unsigned short)2484, (unsigned short)2489, (unsigned short)2490, (unsigned short)2494, (unsigned short)2495, (unsigned short)2496, (unsigned short)2497, (unsigned short)2498, (unsigned short)2499, (unsigned short)2500, (unsigned short)2501, (unsigned short)2505, (unsigned short)2506, (unsigned short)2507, (unsigned short)2508, (unsigned short)2509, (unsigned short)2510, (unsigned short)2511, (unsigned short)2512, (unsigned short)2513, (unsigned short)2514, (unsigned short)2518, (unsigned short)2519, (unsigned short)2520, (unsigned short)2521, (unsigned short)2522, (unsigned short)2523, (unsigned short)2524, (unsigned short)2525, (unsigned short)2526, (unsigned short)2527, (unsigned short)2531, (unsigned short)2532, (unsigned short)2533, (unsigned short)2534, (unsigned short)2535, (unsigned short)2536, (unsigned short)2537, (unsigned short)2538, (unsigned short)2539, (unsigned short)2540, (unsigned short)2541, (unsigned short)2542, (unsigned short)2546, (unsigned short)2547, (unsigned short)2548, (unsigned short)2549, (unsigned short)2550, (unsigned short)2551, (unsigned short)2552, (unsigned short)2553, (unsigned short)2554, (unsigned short)2555, (unsigned short)2559, (unsigned short)2560, (unsigned short)2564, (unsigned short)2565, (unsigned short)2566, (unsigned short)2567, (unsigned short)2568, (unsigned short)2569, (unsigned short)2570, (unsigned short)2571, (unsigned short)2572, (unsigned short)2574, (unsigned short)2576, (unsigned short)2594, (unsigned short)2612, (unsigned short)2613, (unsigned short)2617, (unsigned short)2618, (unsigned short)2619, (unsigned short)2620, (unsigned short)2621, (unsigned short)2622, (unsigned short)2623, (unsigned short)2624, (unsigned short)2625, (unsigned short)2643, (unsigned short)2660, (unsigned short)2661, (unsigned short)2662, (unsigned short)2663, (unsigned short)2664, (unsigned short)2665, (unsigned short)2666, (unsigned short)2667, (unsigned short)2668, (unsigned short)2669, (unsigned short)2670, (unsigned short)2671, (unsigned short)2672, (unsigned short)2690, (unsigned short)2707, (unsigned short)2708, (unsigned short)2709, (unsigned short)2710, (unsigned short)2711, (unsigned short)2712, (unsigned short)2713, (unsigned short)2714, (unsigned short)2715, (unsigned short)2716, (unsigned short)2717, (unsigned short)2718, (unsigned short)2719, (unsigned short)2737, (unsigned short)2754, (unsigned short)2755, (unsigned short)2759, (unsigned short)2760, (unsigned short)2761, (unsigned short)2762, (unsigned short)2763, (unsigned short)2767, (unsigned short)2768, (unsigned short)2775, (unsigned short)2777, (unsigned short)2786, (unsigned short)2795, (unsigned short)2804, (unsigned short)2813, (unsigned short)2814, (unsigned short)2815, (unsigned short)2816, (unsigned short)2820, (unsigned short)2821, (unsigned short)2822, (unsigned short)2823, (unsigned short)2824, (unsigned short)2825, (unsigned short)2826, (unsigned short)2827, (unsigned short)2828, (unsigned short)2832, (unsigned short)2836, (unsigned short)2837, (unsigned short)2838, (unsigned short)2839, (unsigned short)2840, (unsigned short)2845, (unsigned short)2854, (unsigned short)2863, (unsigned short)2872, (unsigned short)2886, (unsigned short)2887, (unsigned short)2892, (unsigned short)2896, (unsigned short)2897, (unsigned short)2898, (unsigned short)2899, (unsigned short)2900, (unsigned short)2905, (unsigned short)2914, (unsigned short)2923, (unsigned short)2932, (unsigned short)2946, (unsigned short)2947, (unsigned short)2996, (unsigned short)2997, (unsigned short)2998, (unsigned short)2999, (unsigned short)3011, (unsigned short)3012, (unsigned short)3013, (unsigned short)3018, (unsigned short)3019, (unsigned short)3020, (unsigned short)3021, (unsigned short)3022, (unsigned short)3026, (unsigned short)3027, (unsigned short)3031, (unsigned short)3032, (unsigned short)3033, (unsigned short)3037, (unsigned short)3038, (unsigned short)3042, (unsigned short)3043, (unsigned short)3044, (unsigned short)3045, (unsigned short)3046, (unsigned short)3047, (unsigned short)3048, (unsigned short)3049, (unsigned short)3050, (unsigned short)3051, (unsigned short)3052, (unsigned short)3053, (unsigned short)3054, (unsigned short)3055, (unsigned short)3056, (unsigned short)3057, (unsigned short)3061, (unsigned short)3062, (unsigned short)3063, (unsigned short)3064, (unsigned short)3065, (unsigned short)3066, (unsigned short)3067, (unsigned short)3068, (unsigned short)3072, (unsigned short)3073, (unsigned short)3074, (unsigned short)3075, (unsigned short)3079, (unsigned short)3080, (unsigned short)3081, (unsigned short)3082, (unsigned short)3083, (unsigned short)3087, (unsigned short)3088, (unsigned short)3089, (unsigned short)3090, (unsigned short)3091, (unsigned short)3095, (unsigned short)3096, (unsigned short)3098, (unsigned short)3100, (unsigned short)3102, (unsigned short)3107, (unsigned short)3108, (unsigned short)3110, (unsigned short)3112, (unsigned short)3117, (unsigned short)3118, (unsigned short)3119, (unsigned short)3120, (unsigned short)3124, (unsigned short)3125, (unsigned short)3126, (unsigned short)3127, (unsigned short)3131, (unsigned short)3132, (unsigned short)3133, (unsigned short)3134, (unsigned short)3138, (unsigned short)3139, (unsigned short)3140, (unsigned short)3141, (unsigned short)3145, (unsigned short)3146, (unsigned short)3147, (unsigned short)3148, (unsigned short)3152, (unsigned short)3153, (unsigned short)3154, (unsigned short)3170, (unsigned short)3171, (unsigned short)3172, (unsigned short)3173, (unsigned short)3186, (unsigned short)3202, (unsigned short)3203, (unsigned short)3208, (unsigned short)3209, (unsigned short)3213, (unsigned short)3214, (unsigned short)3215, (unsigned short)3216, (unsigned short)3219, (unsigned short)3220, (unsigned short)3224, (unsigned short)3225, (unsigned short)3226, (unsigned short)3230, (unsigned short)3234, (unsigned short)3238, (unsigned short)3239, (unsigned short)3240, (unsigned short)3241, (unsigned short)3242, (unsigned short)3251, (unsigned short)3260, (unsigned short)3261, (unsigned short)3262, (unsigned short)3263, (unsigned short)3267, (unsigned short)3268, (unsigned short)3272, (unsigned short)3273, (unsigned short)3278, (unsigned short)3279, (unsigned short)3280, (unsigned short)3281, (unsigned short)3282, (unsigned short)3283, (unsigned short)3302, (unsigned short)3303, (unsigned short)3307, (unsigned short)3308, (unsigned short)3309, (unsigned short)3310, (unsigned short)3311, (unsigned short)3312, (unsigned short)3314, (unsigned short)3315, (unsigned short)3316, (unsigned short)3317, (unsigned short)3321, (unsigned short)3322, (unsigned short)3323, (unsigned short)3324, (unsigned short)3325, (unsigned short)3327, (unsigned short)3328, (unsigned short)3329, (unsigned short)3333, (unsigned short)3334, (unsigned short)3335, (unsigned short)3336, (unsigned short)3337, (unsigned short)3338, (unsigned short)3342, (unsigned short)3343, (unsigned short)3344, (unsigned short)3349, (unsigned short)3350, (unsigned short)3351, (unsigned short)3352, (unsigned short)3353, (unsigned short)3354, (unsigned short)3355, (unsigned short)3356, (unsigned short)3357, (unsigned short)3358, (unsigned short)3359, (unsigned short)3360, (unsigned short)3361, (unsigned short)3365, (unsigned short)3366, (unsigned short)3367, (unsigned short)3368, (unsigned short)3369, (unsigned short)3370, (unsigned short)3371, (unsigned short)3375, (unsigned short)3376, (unsigned short)3377, (unsigned short)3381, (unsigned short)3382, (unsigned short)3383, (unsigned short)3387, (unsigned short)3388, (unsigned short)3389, (unsigned short)3390, (unsigned short)3392, (unsigned short)3393, (unsigned short)3394, (unsigned short)3396, (unsigned short)3397, (unsigned short)3398, (unsigned short)3399, (unsigned short)3401, (unsigned short)3402, (unsigned short)3403, (unsigned short)3407, (unsigned short)3408, (unsigned short)3409, (unsigned short)3410, (unsigned short)3411, (unsigned short)3413, (unsigned short)3414, (unsigned short)3415, (unsigned short)3416, (unsigned short)3417, (unsigned short)3421, (unsigned short)3422, (unsigned short)3423, (unsigned short)3424, (unsigned short)3425, (unsigned short)3426, (unsigned short)3427, (unsigned short)3429, (unsigned short)3430, (unsigned short)3431, (unsigned short)3432, (unsigned short)3433, (unsigned short)3437, (unsigned short)3438, (unsigned short)3439, (unsigned short)3443, (unsigned short)3444, (unsigned short)3448, (unsigned short)3449, (unsigned short)3450, (unsigned short)3451, (unsigned short)3455, (unsigned short)3456, (unsigned short)3457, (unsigned short)3459, (unsigned short)3460, (unsigned short)3461, (unsigned short)3465, (unsigned short)3469, (unsigned short)3470, (unsigned short)3472, (unsigned short)3473, (unsigned short)3474, (unsigned short)3478, (unsigned short)3479, (unsigned short)3480, (unsigned short)3481, (unsigned short)3485, (unsigned short)3486, (unsigned short)3490, (unsigned short)3491, (unsigned short)3492, (unsigned short)3496, (unsigned short)3497, (unsigned short)3498, (unsigned short)3499, (unsigned short)3500, (unsigned short)3501, (unsigned short)3502, (unsigned short)3506, (unsigned short)3507, (unsigned short)3508, (unsigned short)3509, (unsigned short)3513, (unsigned short)3514, (unsigned short)3515, (unsigned short)3516, (unsigned short)3520, (unsigned short)3524, (unsigned short)3528, (unsigned short)3530, (unsigned short)3533, (unsigned short)3539, (unsigned short)3540, (unsigned short)3541, (unsigned short)3545, (unsigned short)3546, (unsigned short)3547, (unsigned short)3548, (unsigned short)3549, (unsigned short)3550, (unsigned short)3554, (unsigned short)3555, (unsigned short)3559, (unsigned short)3560, (unsigned short)3561, (unsigned short)3563, (unsigned short)3564, (unsigned short)3566, (unsigned short)3567, (unsigned short)3568, (unsigned short)3569, (unsigned short)3570, (unsigned short)3572, (unsigned short)3573, (unsigned short)3577, (unsigned short)3578, (unsigned short)3579, (unsigned short)3580, (unsigned short)3584, (unsigned short)3585, (unsigned short)3586, (unsigned short)3587, (unsigned short)3589, (unsigned short)3590, (unsigned short)3591, (unsigned short)3592, (unsigned short)3593, (unsigned short)3594, (unsigned short)3595, (unsigned short)3598, (unsigned short)3602, (unsigned short)3603, (unsigned short)3607, (unsigned short)3608, (unsigned short)3612, (unsigned short)3613, (unsigned short)3614, (unsigned short)3615, (unsigned short)3616, (unsigned short)3617, (unsigned short)3618, (unsigned short)3619, (unsigned short)3623, (unsigned short)3624, (unsigned short)3625, (unsigned short)3626, (unsigned short)3632, (unsigned short)3633, (unsigned short)3635, (unsigned short)3636, (unsigned short)3639, (unsigned short)3640, (unsigned short)3643, (unsigned short)3644, (unsigned short)3645, (unsigned short)3646, (unsigned short)3647, (unsigned short)3648, (unsigned short)3652, (unsigned short)3653, (unsigned short)3665, (unsigned short)3666, (unsigned short)3669, (unsigned short)3672, (unsigned short)3674, (unsigned short)3675, (unsigned short)3676, (unsigned short)3686, (unsigned short)3688, (unsigned short)3689, (unsigned short)3691, (unsigned short)3692, (unsigned short)3693, (unsigned short)3694, (unsigned short)3704, (unsigned short)3705, (unsigned short)3706, (unsigned short)3707, (unsigned short)3708, (unsigned short)3709, (unsigned short)3713, (unsigned short)3714, (unsigned short)3722, (unsigned short)3724, (unsigned short)3725, (unsigned short)3727, (unsigned short)3729, (unsigned short)3733, (unsigned short)3734, (unsigned short)3735, (unsigned short)3736, (unsigned short)3737, (unsigned short)3741, (unsigned short)3742, (unsigned short)3743, (unsigned short)3745, (unsigned short)3750, (unsigned short)3751, (unsigned short)3752, (unsigned short)3756, (unsigned short)3757, (unsigned short)3758, (unsigned short)3762, (unsigned short)3766, (unsigned short)3767, (unsigned short)3768, (unsigned short)3772, (unsigned short)3773, (unsigned short)3777, (unsigned short)3778, (unsigned short)3782, (unsigned short)3783, (unsigned short)3784, (unsigned short)3785, (unsigned short)3789, (unsigned short)3793, (unsigned short)3797, (unsigned short)3801
 };
 
 static const char * const yytname[] = 
@@ -3177,6 +3177,13 @@ yyval.specifier = yyvsp[(1) - (1)].specifier;
 break;
 case 5:
 {
+if(!yyvsp[(1) - (2)].id->string[0])
+{
+yyval.specifier = MkSpecifierName(yyvsp[(1) - (2)].id->string);
+FreeIdentifier(yyvsp[(1) - (2)].id);
+FreeIdentifier(yyvsp[(2) - (2)].id);
+return ;
+}
 if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
index 54f80f6..3c4fb4c 100644 (file)
@@ -1097,7 +1097,7 @@ static const yytype_int16 yyrhs[] =
 
 static const yytype_uint16 yyrline[] = 
 {
-(unsigned short)0, (unsigned short)279, (unsigned short)279, (unsigned short)308, (unsigned short)367, (unsigned short)368, (unsigned short)468, (unsigned short)472, (unsigned short)475, (unsigned short)476, (unsigned short)477, (unsigned short)526, (unsigned short)528, (unsigned short)533, (unsigned short)538, (unsigned short)543, (unsigned short)545, (unsigned short)550, (unsigned short)552, (unsigned short)557, (unsigned short)559, (unsigned short)564, (unsigned short)566, (unsigned short)568, (unsigned short)570, (unsigned short)572, (unsigned short)576, (unsigned short)580, (unsigned short)593, (unsigned short)595, (unsigned short)597, (unsigned short)599, (unsigned short)601, (unsigned short)607, (unsigned short)609, (unsigned short)614, (unsigned short)619, (unsigned short)624, (unsigned short)626, (unsigned short)628, (unsigned short)633, (unsigned short)634, (unsigned short)638, (unsigned short)639, (unsigned short)650, (unsigned short)654, (unsigned short)655, (unsigned short)657, (unsigned short)662, (unsigned short)663, (unsigned short)665, (unsigned short)668, (unsigned short)680, (unsigned short)691, (unsigned short)710, (unsigned short)712, (unsigned short)717, (unsigned short)718, (unsigned short)719, (unsigned short)720, (unsigned short)721, (unsigned short)722, (unsigned short)723, (unsigned short)724, (unsigned short)737, (unsigned short)741, (unsigned short)742, (unsigned short)743, (unsigned short)744, (unsigned short)748, (unsigned short)749, (unsigned short)750, (unsigned short)751, (unsigned short)752, (unsigned short)753, (unsigned short)754, (unsigned short)758, (unsigned short)760, (unsigned short)765, (unsigned short)767, (unsigned short)769, (unsigned short)771, (unsigned short)773, (unsigned short)803, (unsigned short)805, (unsigned short)810, (unsigned short)812, (unsigned short)814, (unsigned short)816, (unsigned short)818, (unsigned short)847, (unsigned short)849, (unsigned short)851, (unsigned short)856, (unsigned short)858, (unsigned short)863, (unsigned short)865, (unsigned short)869, (unsigned short)871, (unsigned short)873, (unsigned short)875, (unsigned short)880, (unsigned short)883, (unsigned short)886, (unsigned short)889, (unsigned short)954, (unsigned short)956, (unsigned short)961, (unsigned short)963, (unsigned short)965, (unsigned short)967, (unsigned short)969, (unsigned short)1000, (unsigned short)1004, (unsigned short)1005, (unsigned short)1006, (unsigned short)1010, (unsigned short)1011, (unsigned short)1012, (unsigned short)1016, (unsigned short)1017, (unsigned short)1018, (unsigned short)1019, (unsigned short)1023, (unsigned short)1026, (unsigned short)1029, (unsigned short)1032, (unsigned short)1035, (unsigned short)1040, (unsigned short)1041, (unsigned short)1043, (unsigned short)1045, (unsigned short)1047, (unsigned short)1049, (unsigned short)1054, (unsigned short)1058, (unsigned short)1061, (unsigned short)1064, (unsigned short)1067, (unsigned short)1070, (unsigned short)1075, (unsigned short)1076, (unsigned short)1078, (unsigned short)1083, (unsigned short)1087, (unsigned short)1089, (unsigned short)1094, (unsigned short)1096, (unsigned short)1101, (unsigned short)1103, (unsigned short)1108, (unsigned short)1113, (unsigned short)1115, (unsigned short)1120, (unsigned short)1122, (unsigned short)1124, (unsigned short)1126, (unsigned short)1131, (unsigned short)1133, (unsigned short)1135, (unsigned short)1137, (unsigned short)1142, (unsigned short)1143, (unsigned short)1144, (unsigned short)1145, (unsigned short)1146, (unsigned short)1147, (unsigned short)1148, (unsigned short)1149, (unsigned short)1150, (unsigned short)1151, (unsigned short)1152, (unsigned short)1154, (unsigned short)1155, (unsigned short)1157, (unsigned short)1161, (unsigned short)1164, (unsigned short)1165, (unsigned short)1166, (unsigned short)1167, (unsigned short)1168, (unsigned short)1169, (unsigned short)1170, (unsigned short)1171, (unsigned short)1172, (unsigned short)1173, (unsigned short)1174, (unsigned short)1175, (unsigned short)1176, (unsigned short)1177, (unsigned short)1179, (unsigned short)1180, (unsigned short)1184, (unsigned short)1185, (unsigned short)1186, (unsigned short)1190, (unsigned short)1194, (unsigned short)1195, (unsigned short)1196, (unsigned short)1200, (unsigned short)1201, (unsigned short)1202, (unsigned short)1203, (unsigned short)1204, (unsigned short)1208, (unsigned short)1209, (unsigned short)1221, (unsigned short)1222, (unsigned short)1226, (unsigned short)1227, (unsigned short)1228, (unsigned short)1229, (unsigned short)1230, (unsigned short)1231, (unsigned short)1232, (unsigned short)1233, (unsigned short)1237, (unsigned short)1241, (unsigned short)1242, (unsigned short)1246, (unsigned short)1254, (unsigned short)1255, (unsigned short)1259, (unsigned short)1260, (unsigned short)1261, (unsigned short)1265, (unsigned short)1266, (unsigned short)1270, (unsigned short)1271, (unsigned short)1272, (unsigned short)1273, (unsigned short)1274, (unsigned short)1275, (unsigned short)1315, (unsigned short)1316, (unsigned short)1320, (unsigned short)1328, (unsigned short)1329, (unsigned short)1337, (unsigned short)1338, (unsigned short)1340, (unsigned short)1341, (unsigned short)1350, (unsigned short)1351, (unsigned short)1355, (unsigned short)1362, (unsigned short)1369, (unsigned short)1375, (unsigned short)1382, (unsigned short)1388, (unsigned short)1397, (unsigned short)1404, (unsigned short)1410, (unsigned short)1416, (unsigned short)1422, (unsigned short)1428, (unsigned short)1434, (unsigned short)1445, (unsigned short)1450, (unsigned short)1451, (unsigned short)1456, (unsigned short)1457, (unsigned short)1458, (unsigned short)1462, (unsigned short)1466, (unsigned short)1467, (unsigned short)1468, (unsigned short)1469, (unsigned short)1470, (unsigned short)1471, (unsigned short)1472, (unsigned short)1485, (unsigned short)1486, (unsigned short)1487, (unsigned short)1488, (unsigned short)1489, (unsigned short)1490, (unsigned short)1491, (unsigned short)1492, (unsigned short)1493, (unsigned short)1494, (unsigned short)1495, (unsigned short)1496, (unsigned short)1497, (unsigned short)1498, (unsigned short)1499, (unsigned short)1500, (unsigned short)1501, (unsigned short)1502, (unsigned short)1503, (unsigned short)1504, (unsigned short)1505, (unsigned short)1506, (unsigned short)1507, (unsigned short)1509, (unsigned short)1510, (unsigned short)1511, (unsigned short)1512, (unsigned short)1513, (unsigned short)1515, (unsigned short)1516, (unsigned short)1520, (unsigned short)1524, (unsigned short)1528, (unsigned short)1529, (unsigned short)1533, (unsigned short)1535, (unsigned short)1536, (unsigned short)1537, (unsigned short)1538, (unsigned short)1539, (unsigned short)1540, (unsigned short)1541, (unsigned short)1542, (unsigned short)1543, (unsigned short)1545, (unsigned short)1546, (unsigned short)1547, (unsigned short)1548, (unsigned short)1549, (unsigned short)1550, (unsigned short)1551, (unsigned short)1552, (unsigned short)1556, (unsigned short)1558, (unsigned short)1559, (unsigned short)1560, (unsigned short)1561, (unsigned short)1562, (unsigned short)1563, (unsigned short)1564, (unsigned short)1565, (unsigned short)1566, (unsigned short)1568, (unsigned short)1569, (unsigned short)1570, (unsigned short)1571, (unsigned short)1572, (unsigned short)1573, (unsigned short)1574, (unsigned short)1575, (unsigned short)1579, (unsigned short)1580, (unsigned short)1581, (unsigned short)1582, (unsigned short)1586, (unsigned short)1587, (unsigned short)1588, (unsigned short)1589, (unsigned short)1590, (unsigned short)1594, (unsigned short)1595, (unsigned short)1596, (unsigned short)1597, (unsigned short)1598, (unsigned short)1599, (unsigned short)1600, (unsigned short)1601, (unsigned short)1602, (unsigned short)1604, (unsigned short)1605, (unsigned short)1606, (unsigned short)1610, (unsigned short)1611, (unsigned short)1615, (unsigned short)1616, (unsigned short)1620, (unsigned short)1621, (unsigned short)1622, (unsigned short)1623, (unsigned short)1624, (unsigned short)1625, (unsigned short)1626, (unsigned short)1627, (unsigned short)1631, (unsigned short)1632, (unsigned short)1636, (unsigned short)1637, (unsigned short)1638, (unsigned short)1639, (unsigned short)1640, (unsigned short)1641, (unsigned short)1642, (unsigned short)1646, (unsigned short)1647, (unsigned short)1648, (unsigned short)1649, (unsigned short)1650, (unsigned short)1654, (unsigned short)1655, (unsigned short)1656, (unsigned short)1657, (unsigned short)1658, (unsigned short)1662, (unsigned short)1670, (unsigned short)1671, (unsigned short)1672, (unsigned short)1673, (unsigned short)1674, (unsigned short)1675, (unsigned short)1676, (unsigned short)1677, (unsigned short)1678, (unsigned short)1682, (unsigned short)1683, (unsigned short)1684, (unsigned short)1685, (unsigned short)1686, (unsigned short)1688, (unsigned short)1689, (unsigned short)1690, (unsigned short)1691, (unsigned short)1695, (unsigned short)1696, (unsigned short)1697, (unsigned short)1699, (unsigned short)1700, (unsigned short)1704, (unsigned short)1705, (unsigned short)1706, (unsigned short)1708, (unsigned short)1709, (unsigned short)1713, (unsigned short)1714, (unsigned short)1715, (unsigned short)1717, (unsigned short)1718, (unsigned short)1722, (unsigned short)1723, (unsigned short)1724, (unsigned short)1728, (unsigned short)1729, (unsigned short)1730, (unsigned short)1734, (unsigned short)1735, (unsigned short)1736, (unsigned short)1737, (unsigned short)1738, (unsigned short)1740, (unsigned short)1741, (unsigned short)1742, (unsigned short)1743, (unsigned short)1745, (unsigned short)1746, (unsigned short)1747, (unsigned short)1748, (unsigned short)1750, (unsigned short)1751, (unsigned short)1752, (unsigned short)1753, (unsigned short)1757, (unsigned short)1758, (unsigned short)1759, (unsigned short)1760, (unsigned short)1761, (unsigned short)1763, (unsigned short)1764, (unsigned short)1765, (unsigned short)1766, (unsigned short)1770, (unsigned short)1771, (unsigned short)1772, (unsigned short)1773, (unsigned short)1774, (unsigned short)1775, (unsigned short)1776, (unsigned short)1777, (unsigned short)1778, (unsigned short)1779, (unsigned short)1780, (unsigned short)1784, (unsigned short)1785, (unsigned short)1786, (unsigned short)1787, (unsigned short)1791, (unsigned short)1792, (unsigned short)1793, (unsigned short)1797, (unsigned short)1798, (unsigned short)1799, (unsigned short)1800, (unsigned short)1802, (unsigned short)1803, (unsigned short)1805, (unsigned short)1806, (unsigned short)1811, (unsigned short)1813, (unsigned short)1818, (unsigned short)1822, (unsigned short)1823, (unsigned short)1824, (unsigned short)1826, (unsigned short)1827, (unsigned short)1829, (unsigned short)1830, (unsigned short)1835, (unsigned short)1837, (unsigned short)1842, (unsigned short)1846, (unsigned short)1847, (unsigned short)1848, (unsigned short)1849, (unsigned short)1850, (unsigned short)1851, (unsigned short)1852, (unsigned short)1853, (unsigned short)1854, (unsigned short)1855, (unsigned short)1856, (unsigned short)1857, (unsigned short)1861, (unsigned short)1862, (unsigned short)1866, (unsigned short)1867, (unsigned short)1872, (unsigned short)1873, (unsigned short)1877, (unsigned short)1878, (unsigned short)1879, (unsigned short)1880, (unsigned short)1881, (unsigned short)1882, (unsigned short)1883, (unsigned short)1887, (unsigned short)1888, (unsigned short)1892, (unsigned short)1896, (unsigned short)1900, (unsigned short)1907, (unsigned short)1908, (unsigned short)1909, (unsigned short)1910, (unsigned short)1911, (unsigned short)1915, (unsigned short)1916, (unsigned short)1967, (unsigned short)1968, (unsigned short)1969, (unsigned short)1970, (unsigned short)1971, (unsigned short)1972, (unsigned short)1973, (unsigned short)1977, (unsigned short)1978, (unsigned short)1979, (unsigned short)1980, (unsigned short)1981, (unsigned short)1988, (unsigned short)1989, (unsigned short)1990, (unsigned short)1991, (unsigned short)1995, (unsigned short)1996, (unsigned short)1997, (unsigned short)1999, (unsigned short)2000, (unsigned short)2004, (unsigned short)2005, (unsigned short)2006, (unsigned short)2008, (unsigned short)2009, (unsigned short)2013, (unsigned short)2014, (unsigned short)2015, (unsigned short)2017, (unsigned short)2018, (unsigned short)2022, (unsigned short)2023, (unsigned short)2024, (unsigned short)2028, (unsigned short)2029, (unsigned short)2030, (unsigned short)2034, (unsigned short)2035, (unsigned short)2036, (unsigned short)2037, (unsigned short)2038, (unsigned short)2039, (unsigned short)2040, (unsigned short)2041, (unsigned short)2042, (unsigned short)2044, (unsigned short)2045, (unsigned short)2046, (unsigned short)2047, (unsigned short)2048, (unsigned short)2049, (unsigned short)2050, (unsigned short)2051, (unsigned short)2053, (unsigned short)2054, (unsigned short)2055, (unsigned short)2056, (unsigned short)2058, (unsigned short)2059, (unsigned short)2060, (unsigned short)2061, (unsigned short)2063, (unsigned short)2070, (unsigned short)2074, (unsigned short)2078, (unsigned short)2085, (unsigned short)2086, (unsigned short)2090, (unsigned short)2095, (unsigned short)2096, (unsigned short)2100, (unsigned short)2101, (unsigned short)2102, (unsigned short)2103, (unsigned short)2109, (unsigned short)2110, (unsigned short)2111, (unsigned short)2115, (unsigned short)2116, (unsigned short)2117, (unsigned short)2118, (unsigned short)2122, (unsigned short)2124, (unsigned short)2128, (unsigned short)2129, (unsigned short)2130, (unsigned short)2131, (unsigned short)2132, (unsigned short)2133, (unsigned short)2134, (unsigned short)2138, (unsigned short)2139, (unsigned short)2140, (unsigned short)2141, (unsigned short)2142, (unsigned short)2143, (unsigned short)2144, (unsigned short)2148, (unsigned short)2149, (unsigned short)2150, (unsigned short)2154, (unsigned short)2155, (unsigned short)2156, (unsigned short)2160, (unsigned short)2164, (unsigned short)2165, (unsigned short)2169, (unsigned short)2170, (unsigned short)2171, (unsigned short)2175, (unsigned short)2176, (unsigned short)2178, (unsigned short)2179, (unsigned short)2180, (unsigned short)2181, (unsigned short)2182, (unsigned short)2184, (unsigned short)2185, (unsigned short)2186, (unsigned short)2187, (unsigned short)2188, (unsigned short)2192, (unsigned short)2193, (unsigned short)2197, (unsigned short)2198, (unsigned short)2199, (unsigned short)2203, (unsigned short)2204, (unsigned short)2205, (unsigned short)2206, (unsigned short)2207, (unsigned short)2208, (unsigned short)2209, (unsigned short)2210, (unsigned short)2211, (unsigned short)2213, (unsigned short)2214, (unsigned short)2216, (unsigned short)2217, (unsigned short)2218, (unsigned short)2219, (unsigned short)2220, (unsigned short)2224, (unsigned short)2225, (unsigned short)2229, (unsigned short)2230, (unsigned short)2234, (unsigned short)2238, (unsigned short)2239, (unsigned short)2240, (unsigned short)2245, (unsigned short)2246, (unsigned short)2250, (unsigned short)2251, (unsigned short)2252, (unsigned short)2253, (unsigned short)2254, (unsigned short)2255, (unsigned short)2256, (unsigned short)2257, (unsigned short)2258, (unsigned short)2259, (unsigned short)2260, (unsigned short)2261, (unsigned short)2262, (unsigned short)2263, (unsigned short)2264, (unsigned short)2265, (unsigned short)2266, (unsigned short)2267, (unsigned short)2268, (unsigned short)2269, (unsigned short)2270, (unsigned short)2271, (unsigned short)2272, (unsigned short)2273, (unsigned short)2274, (unsigned short)2275, (unsigned short)2279, (unsigned short)2280, (unsigned short)2281, (unsigned short)2282, (unsigned short)2283, (unsigned short)2284, (unsigned short)2285, (unsigned short)2286, (unsigned short)2287, (unsigned short)2288, (unsigned short)2289, (unsigned short)2290, (unsigned short)2291, (unsigned short)2292, (unsigned short)2293, (unsigned short)2294, (unsigned short)2295, (unsigned short)2296, (unsigned short)2297, (unsigned short)2298, (unsigned short)2299, (unsigned short)2300, (unsigned short)2301, (unsigned short)2302, (unsigned short)2308, (unsigned short)2310, (unsigned short)2312, (unsigned short)2314, (unsigned short)2316, (unsigned short)2318, (unsigned short)2320, (unsigned short)2322, (unsigned short)2324, (unsigned short)2326, (unsigned short)2331, (unsigned short)2332, (unsigned short)2336, (unsigned short)2342, (unsigned short)2348, (unsigned short)2355, (unsigned short)2365, (unsigned short)2366, (unsigned short)2367, (unsigned short)2368, (unsigned short)2372, (unsigned short)2373, (unsigned short)2374, (unsigned short)2376, (unsigned short)2377, (unsigned short)2378, (unsigned short)2380, (unsigned short)2381, (unsigned short)2382, (unsigned short)2386, (unsigned short)2390, (unsigned short)2398, (unsigned short)2407, (unsigned short)2416, (unsigned short)2417, (unsigned short)2419, (unsigned short)2420, (unsigned short)2424, (unsigned short)2431, (unsigned short)2438, (unsigned short)2441, (unsigned short)2454, (unsigned short)2468, (unsigned short)2471, (unsigned short)2473, (unsigned short)2475, (unsigned short)2480, (unsigned short)2481, (unsigned short)2485, (unsigned short)2486, (unsigned short)2487, (unsigned short)2488, (unsigned short)2489, (unsigned short)2490, (unsigned short)2491, (unsigned short)2492, (unsigned short)2496, (unsigned short)2497, (unsigned short)2498, (unsigned short)2499, (unsigned short)2500, (unsigned short)2501, (unsigned short)2502, (unsigned short)2503, (unsigned short)2504, (unsigned short)2505, (unsigned short)2509, (unsigned short)2510, (unsigned short)2511, (unsigned short)2512, (unsigned short)2513, (unsigned short)2514, (unsigned short)2515, (unsigned short)2516, (unsigned short)2517, (unsigned short)2518, (unsigned short)2522, (unsigned short)2523, (unsigned short)2524, (unsigned short)2525, (unsigned short)2526, (unsigned short)2527, (unsigned short)2528, (unsigned short)2529, (unsigned short)2530, (unsigned short)2531, (unsigned short)2532, (unsigned short)2533, (unsigned short)2537, (unsigned short)2538, (unsigned short)2539, (unsigned short)2540, (unsigned short)2541, (unsigned short)2542, (unsigned short)2543, (unsigned short)2544, (unsigned short)2545, (unsigned short)2546, (unsigned short)2550, (unsigned short)2551, (unsigned short)2555, (unsigned short)2556, (unsigned short)2557, (unsigned short)2558, (unsigned short)2559, (unsigned short)2560, (unsigned short)2561, (unsigned short)2562, (unsigned short)2563, (unsigned short)2565, (unsigned short)2567, (unsigned short)2585, (unsigned short)2603, (unsigned short)2604, (unsigned short)2608, (unsigned short)2609, (unsigned short)2610, (unsigned short)2611, (unsigned short)2612, (unsigned short)2613, (unsigned short)2614, (unsigned short)2615, (unsigned short)2616, (unsigned short)2634, (unsigned short)2651, (unsigned short)2652, (unsigned short)2653, (unsigned short)2654, (unsigned short)2655, (unsigned short)2656, (unsigned short)2657, (unsigned short)2658, (unsigned short)2659, (unsigned short)2660, (unsigned short)2661, (unsigned short)2662, (unsigned short)2663, (unsigned short)2681, (unsigned short)2698, (unsigned short)2699, (unsigned short)2700, (unsigned short)2701, (unsigned short)2702, (unsigned short)2703, (unsigned short)2704, (unsigned short)2705, (unsigned short)2706, (unsigned short)2707, (unsigned short)2708, (unsigned short)2709, (unsigned short)2710, (unsigned short)2728, (unsigned short)2745, (unsigned short)2746, (unsigned short)2750, (unsigned short)2751, (unsigned short)2752, (unsigned short)2753, (unsigned short)2754, (unsigned short)2758, (unsigned short)2759, (unsigned short)2766, (unsigned short)2768, (unsigned short)2777, (unsigned short)2786, (unsigned short)2795, (unsigned short)2804, (unsigned short)2805, (unsigned short)2806, (unsigned short)2807, (unsigned short)2811, (unsigned short)2812, (unsigned short)2813, (unsigned short)2814, (unsigned short)2815, (unsigned short)2816, (unsigned short)2817, (unsigned short)2818, (unsigned short)2819, (unsigned short)2823, (unsigned short)2827, (unsigned short)2828, (unsigned short)2829, (unsigned short)2830, (unsigned short)2831, (unsigned short)2836, (unsigned short)2845, (unsigned short)2854, (unsigned short)2863, (unsigned short)2877, (unsigned short)2878, (unsigned short)2883, (unsigned short)2887, (unsigned short)2888, (unsigned short)2889, (unsigned short)2890, (unsigned short)2891, (unsigned short)2896, (unsigned short)2905, (unsigned short)2914, (unsigned short)2923, (unsigned short)2937, (unsigned short)2938, (unsigned short)2987, (unsigned short)2988, (unsigned short)2989, (unsigned short)2990, (unsigned short)3002, (unsigned short)3003, (unsigned short)3004, (unsigned short)3009, (unsigned short)3010, (unsigned short)3011, (unsigned short)3012, (unsigned short)3013, (unsigned short)3017, (unsigned short)3018, (unsigned short)3022, (unsigned short)3023, (unsigned short)3024, (unsigned short)3028, (unsigned short)3029, (unsigned short)3033, (unsigned short)3034, (unsigned short)3035, (unsigned short)3036, (unsigned short)3037, (unsigned short)3038, (unsigned short)3039, (unsigned short)3040, (unsigned short)3041, (unsigned short)3042, (unsigned short)3043, (unsigned short)3044, (unsigned short)3045, (unsigned short)3046, (unsigned short)3047, (unsigned short)3048, (unsigned short)3052, (unsigned short)3053, (unsigned short)3054, (unsigned short)3055, (unsigned short)3056, (unsigned short)3057, (unsigned short)3058, (unsigned short)3059, (unsigned short)3063, (unsigned short)3064, (unsigned short)3065, (unsigned short)3066, (unsigned short)3070, (unsigned short)3071, (unsigned short)3072, (unsigned short)3073, (unsigned short)3074, (unsigned short)3078, (unsigned short)3079, (unsigned short)3080, (unsigned short)3081, (unsigned short)3082, (unsigned short)3086, (unsigned short)3087, (unsigned short)3089, (unsigned short)3091, (unsigned short)3093, (unsigned short)3098, (unsigned short)3099, (unsigned short)3101, (unsigned short)3103, (unsigned short)3108, (unsigned short)3109, (unsigned short)3110, (unsigned short)3111, (unsigned short)3115, (unsigned short)3116, (unsigned short)3117, (unsigned short)3118, (unsigned short)3122, (unsigned short)3123, (unsigned short)3124, (unsigned short)3125, (unsigned short)3129, (unsigned short)3130, (unsigned short)3131, (unsigned short)3132, (unsigned short)3136, (unsigned short)3137, (unsigned short)3138, (unsigned short)3139, (unsigned short)3143, (unsigned short)3144, (unsigned short)3145, (unsigned short)3161, (unsigned short)3162, (unsigned short)3163, (unsigned short)3164, (unsigned short)3177, (unsigned short)3193, (unsigned short)3194, (unsigned short)3199, (unsigned short)3200, (unsigned short)3204, (unsigned short)3205, (unsigned short)3206, (unsigned short)3207, (unsigned short)3210, (unsigned short)3211, (unsigned short)3215, (unsigned short)3216, (unsigned short)3217, (unsigned short)3221, (unsigned short)3225, (unsigned short)3229, (unsigned short)3230, (unsigned short)3231, (unsigned short)3232, (unsigned short)3233, (unsigned short)3242, (unsigned short)3251, (unsigned short)3252, (unsigned short)3253, (unsigned short)3254, (unsigned short)3258, (unsigned short)3259, (unsigned short)3263, (unsigned short)3264, (unsigned short)3269, (unsigned short)3270, (unsigned short)3271, (unsigned short)3272, (unsigned short)3273, (unsigned short)3274, (unsigned short)3293, (unsigned short)3294, (unsigned short)3298, (unsigned short)3299, (unsigned short)3300, (unsigned short)3301, (unsigned short)3302, (unsigned short)3303, (unsigned short)3305, (unsigned short)3306, (unsigned short)3307, (unsigned short)3308, (unsigned short)3312, (unsigned short)3313, (unsigned short)3314, (unsigned short)3315, (unsigned short)3316, (unsigned short)3318, (unsigned short)3319, (unsigned short)3320, (unsigned short)3324, (unsigned short)3325, (unsigned short)3326, (unsigned short)3327, (unsigned short)3328, (unsigned short)3329, (unsigned short)3333, (unsigned short)3334, (unsigned short)3335, (unsigned short)3340, (unsigned short)3341, (unsigned short)3342, (unsigned short)3343, (unsigned short)3344, (unsigned short)3345, (unsigned short)3346, (unsigned short)3347, (unsigned short)3348, (unsigned short)3349, (unsigned short)3350, (unsigned short)3351, (unsigned short)3352, (unsigned short)3356, (unsigned short)3357, (unsigned short)3358, (unsigned short)3359, (unsigned short)3360, (unsigned short)3361, (unsigned short)3362, (unsigned short)3366, (unsigned short)3367, (unsigned short)3368, (unsigned short)3372, (unsigned short)3373, (unsigned short)3374, (unsigned short)3378, (unsigned short)3379, (unsigned short)3380, (unsigned short)3381, (unsigned short)3383, (unsigned short)3384, (unsigned short)3385, (unsigned short)3387, (unsigned short)3388, (unsigned short)3389, (unsigned short)3390, (unsigned short)3392, (unsigned short)3393, (unsigned short)3394, (unsigned short)3398, (unsigned short)3399, (unsigned short)3400, (unsigned short)3401, (unsigned short)3402, (unsigned short)3404, (unsigned short)3405, (unsigned short)3406, (unsigned short)3407, (unsigned short)3408, (unsigned short)3412, (unsigned short)3413, (unsigned short)3414, (unsigned short)3415, (unsigned short)3416, (unsigned short)3417, (unsigned short)3418, (unsigned short)3420, (unsigned short)3421, (unsigned short)3422, (unsigned short)3423, (unsigned short)3424, (unsigned short)3428, (unsigned short)3429, (unsigned short)3430, (unsigned short)3434, (unsigned short)3435, (unsigned short)3439, (unsigned short)3440, (unsigned short)3441, (unsigned short)3442, (unsigned short)3446, (unsigned short)3447, (unsigned short)3448, (unsigned short)3450, (unsigned short)3451, (unsigned short)3452, (unsigned short)3456, (unsigned short)3460, (unsigned short)3461, (unsigned short)3463, (unsigned short)3464, (unsigned short)3465, (unsigned short)3469, (unsigned short)3470, (unsigned short)3471, (unsigned short)3472, (unsigned short)3476, (unsigned short)3477, (unsigned short)3481, (unsigned short)3482, (unsigned short)3483, (unsigned short)3487, (unsigned short)3488, (unsigned short)3489, (unsigned short)3490, (unsigned short)3491, (unsigned short)3492, (unsigned short)3493, (unsigned short)3497, (unsigned short)3498, (unsigned short)3499, (unsigned short)3500, (unsigned short)3504, (unsigned short)3505, (unsigned short)3506, (unsigned short)3507, (unsigned short)3511, (unsigned short)3515, (unsigned short)3519, (unsigned short)3521, (unsigned short)3524, (unsigned short)3530, (unsigned short)3531, (unsigned short)3532, (unsigned short)3536, (unsigned short)3537, (unsigned short)3538, (unsigned short)3539, (unsigned short)3540, (unsigned short)3541, (unsigned short)3545, (unsigned short)3546, (unsigned short)3550, (unsigned short)3551, (unsigned short)3552, (unsigned short)3554, (unsigned short)3555, (unsigned short)3557, (unsigned short)3558, (unsigned short)3559, (unsigned short)3560, (unsigned short)3561, (unsigned short)3563, (unsigned short)3564, (unsigned short)3568, (unsigned short)3569, (unsigned short)3570, (unsigned short)3571, (unsigned short)3575, (unsigned short)3576, (unsigned short)3577, (unsigned short)3578, (unsigned short)3580, (unsigned short)3581, (unsigned short)3582, (unsigned short)3583, (unsigned short)3584, (unsigned short)3585, (unsigned short)3586, (unsigned short)3589, (unsigned short)3593, (unsigned short)3594, (unsigned short)3598, (unsigned short)3599, (unsigned short)3603, (unsigned short)3604, (unsigned short)3605, (unsigned short)3606, (unsigned short)3607, (unsigned short)3608, (unsigned short)3609, (unsigned short)3610, (unsigned short)3614, (unsigned short)3615, (unsigned short)3616, (unsigned short)3617, (unsigned short)3623, (unsigned short)3624, (unsigned short)3626, (unsigned short)3627, (unsigned short)3630, (unsigned short)3631, (unsigned short)3634, (unsigned short)3635, (unsigned short)3636, (unsigned short)3637, (unsigned short)3638, (unsigned short)3639, (unsigned short)3643, (unsigned short)3644, (unsigned short)3656, (unsigned short)3657, (unsigned short)3660, (unsigned short)3663, (unsigned short)3665, (unsigned short)3666, (unsigned short)3667, (unsigned short)3677, (unsigned short)3679, (unsigned short)3680, (unsigned short)3682, (unsigned short)3683, (unsigned short)3684, (unsigned short)3685, (unsigned short)3695, (unsigned short)3696, (unsigned short)3697, (unsigned short)3698, (unsigned short)3699, (unsigned short)3700, (unsigned short)3704, (unsigned short)3705, (unsigned short)3713, (unsigned short)3715, (unsigned short)3716, (unsigned short)3718, (unsigned short)3720, (unsigned short)3724, (unsigned short)3725, (unsigned short)3726, (unsigned short)3727, (unsigned short)3728, (unsigned short)3732, (unsigned short)3733, (unsigned short)3734, (unsigned short)3736, (unsigned short)3741, (unsigned short)3742, (unsigned short)3743, (unsigned short)3747, (unsigned short)3748, (unsigned short)3749, (unsigned short)3753, (unsigned short)3757, (unsigned short)3758, (unsigned short)3759, (unsigned short)3763, (unsigned short)3764, (unsigned short)3768, (unsigned short)3769, (unsigned short)3773, (unsigned short)3774, (unsigned short)3775, (unsigned short)3776, (unsigned short)3780, (unsigned short)3784, (unsigned short)3788, (unsigned short)3792
+(unsigned short)0, (unsigned short)279, (unsigned short)279, (unsigned short)308, (unsigned short)367, (unsigned short)368, (unsigned short)477, (unsigned short)481, (unsigned short)484, (unsigned short)485, (unsigned short)486, (unsigned short)535, (unsigned short)537, (unsigned short)542, (unsigned short)547, (unsigned short)552, (unsigned short)554, (unsigned short)559, (unsigned short)561, (unsigned short)566, (unsigned short)568, (unsigned short)573, (unsigned short)575, (unsigned short)577, (unsigned short)579, (unsigned short)581, (unsigned short)585, (unsigned short)589, (unsigned short)602, (unsigned short)604, (unsigned short)606, (unsigned short)608, (unsigned short)610, (unsigned short)616, (unsigned short)618, (unsigned short)623, (unsigned short)628, (unsigned short)633, (unsigned short)635, (unsigned short)637, (unsigned short)642, (unsigned short)643, (unsigned short)647, (unsigned short)648, (unsigned short)659, (unsigned short)663, (unsigned short)664, (unsigned short)666, (unsigned short)671, (unsigned short)672, (unsigned short)674, (unsigned short)677, (unsigned short)689, (unsigned short)700, (unsigned short)719, (unsigned short)721, (unsigned short)726, (unsigned short)727, (unsigned short)728, (unsigned short)729, (unsigned short)730, (unsigned short)731, (unsigned short)732, (unsigned short)733, (unsigned short)746, (unsigned short)750, (unsigned short)751, (unsigned short)752, (unsigned short)753, (unsigned short)757, (unsigned short)758, (unsigned short)759, (unsigned short)760, (unsigned short)761, (unsigned short)762, (unsigned short)763, (unsigned short)767, (unsigned short)769, (unsigned short)774, (unsigned short)776, (unsigned short)778, (unsigned short)780, (unsigned short)782, (unsigned short)812, (unsigned short)814, (unsigned short)819, (unsigned short)821, (unsigned short)823, (unsigned short)825, (unsigned short)827, (unsigned short)856, (unsigned short)858, (unsigned short)860, (unsigned short)865, (unsigned short)867, (unsigned short)872, (unsigned short)874, (unsigned short)878, (unsigned short)880, (unsigned short)882, (unsigned short)884, (unsigned short)889, (unsigned short)892, (unsigned short)895, (unsigned short)898, (unsigned short)963, (unsigned short)965, (unsigned short)970, (unsigned short)972, (unsigned short)974, (unsigned short)976, (unsigned short)978, (unsigned short)1009, (unsigned short)1013, (unsigned short)1014, (unsigned short)1015, (unsigned short)1019, (unsigned short)1020, (unsigned short)1021, (unsigned short)1025, (unsigned short)1026, (unsigned short)1027, (unsigned short)1028, (unsigned short)1032, (unsigned short)1035, (unsigned short)1038, (unsigned short)1041, (unsigned short)1044, (unsigned short)1049, (unsigned short)1050, (unsigned short)1052, (unsigned short)1054, (unsigned short)1056, (unsigned short)1058, (unsigned short)1063, (unsigned short)1067, (unsigned short)1070, (unsigned short)1073, (unsigned short)1076, (unsigned short)1079, (unsigned short)1084, (unsigned short)1085, (unsigned short)1087, (unsigned short)1092, (unsigned short)1096, (unsigned short)1098, (unsigned short)1103, (unsigned short)1105, (unsigned short)1110, (unsigned short)1112, (unsigned short)1117, (unsigned short)1122, (unsigned short)1124, (unsigned short)1129, (unsigned short)1131, (unsigned short)1133, (unsigned short)1135, (unsigned short)1140, (unsigned short)1142, (unsigned short)1144, (unsigned short)1146, (unsigned short)1151, (unsigned short)1152, (unsigned short)1153, (unsigned short)1154, (unsigned short)1155, (unsigned short)1156, (unsigned short)1157, (unsigned short)1158, (unsigned short)1159, (unsigned short)1160, (unsigned short)1161, (unsigned short)1163, (unsigned short)1164, (unsigned short)1166, (unsigned short)1170, (unsigned short)1173, (unsigned short)1174, (unsigned short)1175, (unsigned short)1176, (unsigned short)1177, (unsigned short)1178, (unsigned short)1179, (unsigned short)1180, (unsigned short)1181, (unsigned short)1182, (unsigned short)1183, (unsigned short)1184, (unsigned short)1185, (unsigned short)1186, (unsigned short)1188, (unsigned short)1189, (unsigned short)1193, (unsigned short)1194, (unsigned short)1195, (unsigned short)1199, (unsigned short)1203, (unsigned short)1204, (unsigned short)1205, (unsigned short)1209, (unsigned short)1210, (unsigned short)1211, (unsigned short)1212, (unsigned short)1213, (unsigned short)1217, (unsigned short)1218, (unsigned short)1230, (unsigned short)1231, (unsigned short)1235, (unsigned short)1236, (unsigned short)1237, (unsigned short)1238, (unsigned short)1239, (unsigned short)1240, (unsigned short)1241, (unsigned short)1242, (unsigned short)1246, (unsigned short)1250, (unsigned short)1251, (unsigned short)1255, (unsigned short)1263, (unsigned short)1264, (unsigned short)1268, (unsigned short)1269, (unsigned short)1270, (unsigned short)1274, (unsigned short)1275, (unsigned short)1279, (unsigned short)1280, (unsigned short)1281, (unsigned short)1282, (unsigned short)1283, (unsigned short)1284, (unsigned short)1324, (unsigned short)1325, (unsigned short)1329, (unsigned short)1337, (unsigned short)1338, (unsigned short)1346, (unsigned short)1347, (unsigned short)1349, (unsigned short)1350, (unsigned short)1359, (unsigned short)1360, (unsigned short)1364, (unsigned short)1371, (unsigned short)1378, (unsigned short)1384, (unsigned short)1391, (unsigned short)1397, (unsigned short)1406, (unsigned short)1413, (unsigned short)1419, (unsigned short)1425, (unsigned short)1431, (unsigned short)1437, (unsigned short)1443, (unsigned short)1454, (unsigned short)1459, (unsigned short)1460, (unsigned short)1465, (unsigned short)1466, (unsigned short)1467, (unsigned short)1471, (unsigned short)1475, (unsigned short)1476, (unsigned short)1477, (unsigned short)1478, (unsigned short)1479, (unsigned short)1480, (unsigned short)1481, (unsigned short)1494, (unsigned short)1495, (unsigned short)1496, (unsigned short)1497, (unsigned short)1498, (unsigned short)1499, (unsigned short)1500, (unsigned short)1501, (unsigned short)1502, (unsigned short)1503, (unsigned short)1504, (unsigned short)1505, (unsigned short)1506, (unsigned short)1507, (unsigned short)1508, (unsigned short)1509, (unsigned short)1510, (unsigned short)1511, (unsigned short)1512, (unsigned short)1513, (unsigned short)1514, (unsigned short)1515, (unsigned short)1516, (unsigned short)1518, (unsigned short)1519, (unsigned short)1520, (unsigned short)1521, (unsigned short)1522, (unsigned short)1524, (unsigned short)1525, (unsigned short)1529, (unsigned short)1533, (unsigned short)1537, (unsigned short)1538, (unsigned short)1542, (unsigned short)1544, (unsigned short)1545, (unsigned short)1546, (unsigned short)1547, (unsigned short)1548, (unsigned short)1549, (unsigned short)1550, (unsigned short)1551, (unsigned short)1552, (unsigned short)1554, (unsigned short)1555, (unsigned short)1556, (unsigned short)1557, (unsigned short)1558, (unsigned short)1559, (unsigned short)1560, (unsigned short)1561, (unsigned short)1565, (unsigned short)1567, (unsigned short)1568, (unsigned short)1569, (unsigned short)1570, (unsigned short)1571, (unsigned short)1572, (unsigned short)1573, (unsigned short)1574, (unsigned short)1575, (unsigned short)1577, (unsigned short)1578, (unsigned short)1579, (unsigned short)1580, (unsigned short)1581, (unsigned short)1582, (unsigned short)1583, (unsigned short)1584, (unsigned short)1588, (unsigned short)1589, (unsigned short)1590, (unsigned short)1591, (unsigned short)1595, (unsigned short)1596, (unsigned short)1597, (unsigned short)1598, (unsigned short)1599, (unsigned short)1603, (unsigned short)1604, (unsigned short)1605, (unsigned short)1606, (unsigned short)1607, (unsigned short)1608, (unsigned short)1609, (unsigned short)1610, (unsigned short)1611, (unsigned short)1613, (unsigned short)1614, (unsigned short)1615, (unsigned short)1619, (unsigned short)1620, (unsigned short)1624, (unsigned short)1625, (unsigned short)1629, (unsigned short)1630, (unsigned short)1631, (unsigned short)1632, (unsigned short)1633, (unsigned short)1634, (unsigned short)1635, (unsigned short)1636, (unsigned short)1640, (unsigned short)1641, (unsigned short)1645, (unsigned short)1646, (unsigned short)1647, (unsigned short)1648, (unsigned short)1649, (unsigned short)1650, (unsigned short)1651, (unsigned short)1655, (unsigned short)1656, (unsigned short)1657, (unsigned short)1658, (unsigned short)1659, (unsigned short)1663, (unsigned short)1664, (unsigned short)1665, (unsigned short)1666, (unsigned short)1667, (unsigned short)1671, (unsigned short)1679, (unsigned short)1680, (unsigned short)1681, (unsigned short)1682, (unsigned short)1683, (unsigned short)1684, (unsigned short)1685, (unsigned short)1686, (unsigned short)1687, (unsigned short)1691, (unsigned short)1692, (unsigned short)1693, (unsigned short)1694, (unsigned short)1695, (unsigned short)1697, (unsigned short)1698, (unsigned short)1699, (unsigned short)1700, (unsigned short)1704, (unsigned short)1705, (unsigned short)1706, (unsigned short)1708, (unsigned short)1709, (unsigned short)1713, (unsigned short)1714, (unsigned short)1715, (unsigned short)1717, (unsigned short)1718, (unsigned short)1722, (unsigned short)1723, (unsigned short)1724, (unsigned short)1726, (unsigned short)1727, (unsigned short)1731, (unsigned short)1732, (unsigned short)1733, (unsigned short)1737, (unsigned short)1738, (unsigned short)1739, (unsigned short)1743, (unsigned short)1744, (unsigned short)1745, (unsigned short)1746, (unsigned short)1747, (unsigned short)1749, (unsigned short)1750, (unsigned short)1751, (unsigned short)1752, (unsigned short)1754, (unsigned short)1755, (unsigned short)1756, (unsigned short)1757, (unsigned short)1759, (unsigned short)1760, (unsigned short)1761, (unsigned short)1762, (unsigned short)1766, (unsigned short)1767, (unsigned short)1768, (unsigned short)1769, (unsigned short)1770, (unsigned short)1772, (unsigned short)1773, (unsigned short)1774, (unsigned short)1775, (unsigned short)1779, (unsigned short)1780, (unsigned short)1781, (unsigned short)1782, (unsigned short)1783, (unsigned short)1784, (unsigned short)1785, (unsigned short)1786, (unsigned short)1787, (unsigned short)1788, (unsigned short)1789, (unsigned short)1793, (unsigned short)1794, (unsigned short)1795, (unsigned short)1796, (unsigned short)1800, (unsigned short)1801, (unsigned short)1802, (unsigned short)1806, (unsigned short)1807, (unsigned short)1808, (unsigned short)1809, (unsigned short)1811, (unsigned short)1812, (unsigned short)1814, (unsigned short)1815, (unsigned short)1820, (unsigned short)1822, (unsigned short)1827, (unsigned short)1831, (unsigned short)1832, (unsigned short)1833, (unsigned short)1835, (unsigned short)1836, (unsigned short)1838, (unsigned short)1839, (unsigned short)1844, (unsigned short)1846, (unsigned short)1851, (unsigned short)1855, (unsigned short)1856, (unsigned short)1857, (unsigned short)1858, (unsigned short)1859, (unsigned short)1860, (unsigned short)1861, (unsigned short)1862, (unsigned short)1863, (unsigned short)1864, (unsigned short)1865, (unsigned short)1866, (unsigned short)1870, (unsigned short)1871, (unsigned short)1875, (unsigned short)1876, (unsigned short)1881, (unsigned short)1882, (unsigned short)1886, (unsigned short)1887, (unsigned short)1888, (unsigned short)1889, (unsigned short)1890, (unsigned short)1891, (unsigned short)1892, (unsigned short)1896, (unsigned short)1897, (unsigned short)1901, (unsigned short)1905, (unsigned short)1909, (unsigned short)1916, (unsigned short)1917, (unsigned short)1918, (unsigned short)1919, (unsigned short)1920, (unsigned short)1924, (unsigned short)1925, (unsigned short)1976, (unsigned short)1977, (unsigned short)1978, (unsigned short)1979, (unsigned short)1980, (unsigned short)1981, (unsigned short)1982, (unsigned short)1986, (unsigned short)1987, (unsigned short)1988, (unsigned short)1989, (unsigned short)1990, (unsigned short)1997, (unsigned short)1998, (unsigned short)1999, (unsigned short)2000, (unsigned short)2004, (unsigned short)2005, (unsigned short)2006, (unsigned short)2008, (unsigned short)2009, (unsigned short)2013, (unsigned short)2014, (unsigned short)2015, (unsigned short)2017, (unsigned short)2018, (unsigned short)2022, (unsigned short)2023, (unsigned short)2024, (unsigned short)2026, (unsigned short)2027, (unsigned short)2031, (unsigned short)2032, (unsigned short)2033, (unsigned short)2037, (unsigned short)2038, (unsigned short)2039, (unsigned short)2043, (unsigned short)2044, (unsigned short)2045, (unsigned short)2046, (unsigned short)2047, (unsigned short)2048, (unsigned short)2049, (unsigned short)2050, (unsigned short)2051, (unsigned short)2053, (unsigned short)2054, (unsigned short)2055, (unsigned short)2056, (unsigned short)2057, (unsigned short)2058, (unsigned short)2059, (unsigned short)2060, (unsigned short)2062, (unsigned short)2063, (unsigned short)2064, (unsigned short)2065, (unsigned short)2067, (unsigned short)2068, (unsigned short)2069, (unsigned short)2070, (unsigned short)2072, (unsigned short)2079, (unsigned short)2083, (unsigned short)2087, (unsigned short)2094, (unsigned short)2095, (unsigned short)2099, (unsigned short)2104, (unsigned short)2105, (unsigned short)2109, (unsigned short)2110, (unsigned short)2111, (unsigned short)2112, (unsigned short)2118, (unsigned short)2119, (unsigned short)2120, (unsigned short)2124, (unsigned short)2125, (unsigned short)2126, (unsigned short)2127, (unsigned short)2131, (unsigned short)2133, (unsigned short)2137, (unsigned short)2138, (unsigned short)2139, (unsigned short)2140, (unsigned short)2141, (unsigned short)2142, (unsigned short)2143, (unsigned short)2147, (unsigned short)2148, (unsigned short)2149, (unsigned short)2150, (unsigned short)2151, (unsigned short)2152, (unsigned short)2153, (unsigned short)2157, (unsigned short)2158, (unsigned short)2159, (unsigned short)2163, (unsigned short)2164, (unsigned short)2165, (unsigned short)2169, (unsigned short)2173, (unsigned short)2174, (unsigned short)2178, (unsigned short)2179, (unsigned short)2180, (unsigned short)2184, (unsigned short)2185, (unsigned short)2187, (unsigned short)2188, (unsigned short)2189, (unsigned short)2190, (unsigned short)2191, (unsigned short)2193, (unsigned short)2194, (unsigned short)2195, (unsigned short)2196, (unsigned short)2197, (unsigned short)2201, (unsigned short)2202, (unsigned short)2206, (unsigned short)2207, (unsigned short)2208, (unsigned short)2212, (unsigned short)2213, (unsigned short)2214, (unsigned short)2215, (unsigned short)2216, (unsigned short)2217, (unsigned short)2218, (unsigned short)2219, (unsigned short)2220, (unsigned short)2222, (unsigned short)2223, (unsigned short)2225, (unsigned short)2226, (unsigned short)2227, (unsigned short)2228, (unsigned short)2229, (unsigned short)2233, (unsigned short)2234, (unsigned short)2238, (unsigned short)2239, (unsigned short)2243, (unsigned short)2247, (unsigned short)2248, (unsigned short)2249, (unsigned short)2254, (unsigned short)2255, (unsigned short)2259, (unsigned short)2260, (unsigned short)2261, (unsigned short)2262, (unsigned short)2263, (unsigned short)2264, (unsigned short)2265, (unsigned short)2266, (unsigned short)2267, (unsigned short)2268, (unsigned short)2269, (unsigned short)2270, (unsigned short)2271, (unsigned short)2272, (unsigned short)2273, (unsigned short)2274, (unsigned short)2275, (unsigned short)2276, (unsigned short)2277, (unsigned short)2278, (unsigned short)2279, (unsigned short)2280, (unsigned short)2281, (unsigned short)2282, (unsigned short)2283, (unsigned short)2284, (unsigned short)2288, (unsigned short)2289, (unsigned short)2290, (unsigned short)2291, (unsigned short)2292, (unsigned short)2293, (unsigned short)2294, (unsigned short)2295, (unsigned short)2296, (unsigned short)2297, (unsigned short)2298, (unsigned short)2299, (unsigned short)2300, (unsigned short)2301, (unsigned short)2302, (unsigned short)2303, (unsigned short)2304, (unsigned short)2305, (unsigned short)2306, (unsigned short)2307, (unsigned short)2308, (unsigned short)2309, (unsigned short)2310, (unsigned short)2311, (unsigned short)2317, (unsigned short)2319, (unsigned short)2321, (unsigned short)2323, (unsigned short)2325, (unsigned short)2327, (unsigned short)2329, (unsigned short)2331, (unsigned short)2333, (unsigned short)2335, (unsigned short)2340, (unsigned short)2341, (unsigned short)2345, (unsigned short)2351, (unsigned short)2357, (unsigned short)2364, (unsigned short)2374, (unsigned short)2375, (unsigned short)2376, (unsigned short)2377, (unsigned short)2381, (unsigned short)2382, (unsigned short)2383, (unsigned short)2385, (unsigned short)2386, (unsigned short)2387, (unsigned short)2389, (unsigned short)2390, (unsigned short)2391, (unsigned short)2395, (unsigned short)2399, (unsigned short)2407, (unsigned short)2416, (unsigned short)2425, (unsigned short)2426, (unsigned short)2428, (unsigned short)2429, (unsigned short)2433, (unsigned short)2440, (unsigned short)2447, (unsigned short)2450, (unsigned short)2463, (unsigned short)2477, (unsigned short)2480, (unsigned short)2482, (unsigned short)2484, (unsigned short)2489, (unsigned short)2490, (unsigned short)2494, (unsigned short)2495, (unsigned short)2496, (unsigned short)2497, (unsigned short)2498, (unsigned short)2499, (unsigned short)2500, (unsigned short)2501, (unsigned short)2505, (unsigned short)2506, (unsigned short)2507, (unsigned short)2508, (unsigned short)2509, (unsigned short)2510, (unsigned short)2511, (unsigned short)2512, (unsigned short)2513, (unsigned short)2514, (unsigned short)2518, (unsigned short)2519, (unsigned short)2520, (unsigned short)2521, (unsigned short)2522, (unsigned short)2523, (unsigned short)2524, (unsigned short)2525, (unsigned short)2526, (unsigned short)2527, (unsigned short)2531, (unsigned short)2532, (unsigned short)2533, (unsigned short)2534, (unsigned short)2535, (unsigned short)2536, (unsigned short)2537, (unsigned short)2538, (unsigned short)2539, (unsigned short)2540, (unsigned short)2541, (unsigned short)2542, (unsigned short)2546, (unsigned short)2547, (unsigned short)2548, (unsigned short)2549, (unsigned short)2550, (unsigned short)2551, (unsigned short)2552, (unsigned short)2553, (unsigned short)2554, (unsigned short)2555, (unsigned short)2559, (unsigned short)2560, (unsigned short)2564, (unsigned short)2565, (unsigned short)2566, (unsigned short)2567, (unsigned short)2568, (unsigned short)2569, (unsigned short)2570, (unsigned short)2571, (unsigned short)2572, (unsigned short)2574, (unsigned short)2576, (unsigned short)2594, (unsigned short)2612, (unsigned short)2613, (unsigned short)2617, (unsigned short)2618, (unsigned short)2619, (unsigned short)2620, (unsigned short)2621, (unsigned short)2622, (unsigned short)2623, (unsigned short)2624, (unsigned short)2625, (unsigned short)2643, (unsigned short)2660, (unsigned short)2661, (unsigned short)2662, (unsigned short)2663, (unsigned short)2664, (unsigned short)2665, (unsigned short)2666, (unsigned short)2667, (unsigned short)2668, (unsigned short)2669, (unsigned short)2670, (unsigned short)2671, (unsigned short)2672, (unsigned short)2690, (unsigned short)2707, (unsigned short)2708, (unsigned short)2709, (unsigned short)2710, (unsigned short)2711, (unsigned short)2712, (unsigned short)2713, (unsigned short)2714, (unsigned short)2715, (unsigned short)2716, (unsigned short)2717, (unsigned short)2718, (unsigned short)2719, (unsigned short)2737, (unsigned short)2754, (unsigned short)2755, (unsigned short)2759, (unsigned short)2760, (unsigned short)2761, (unsigned short)2762, (unsigned short)2763, (unsigned short)2767, (unsigned short)2768, (unsigned short)2775, (unsigned short)2777, (unsigned short)2786, (unsigned short)2795, (unsigned short)2804, (unsigned short)2813, (unsigned short)2814, (unsigned short)2815, (unsigned short)2816, (unsigned short)2820, (unsigned short)2821, (unsigned short)2822, (unsigned short)2823, (unsigned short)2824, (unsigned short)2825, (unsigned short)2826, (unsigned short)2827, (unsigned short)2828, (unsigned short)2832, (unsigned short)2836, (unsigned short)2837, (unsigned short)2838, (unsigned short)2839, (unsigned short)2840, (unsigned short)2845, (unsigned short)2854, (unsigned short)2863, (unsigned short)2872, (unsigned short)2886, (unsigned short)2887, (unsigned short)2892, (unsigned short)2896, (unsigned short)2897, (unsigned short)2898, (unsigned short)2899, (unsigned short)2900, (unsigned short)2905, (unsigned short)2914, (unsigned short)2923, (unsigned short)2932, (unsigned short)2946, (unsigned short)2947, (unsigned short)2996, (unsigned short)2997, (unsigned short)2998, (unsigned short)2999, (unsigned short)3011, (unsigned short)3012, (unsigned short)3013, (unsigned short)3018, (unsigned short)3019, (unsigned short)3020, (unsigned short)3021, (unsigned short)3022, (unsigned short)3026, (unsigned short)3027, (unsigned short)3031, (unsigned short)3032, (unsigned short)3033, (unsigned short)3037, (unsigned short)3038, (unsigned short)3042, (unsigned short)3043, (unsigned short)3044, (unsigned short)3045, (unsigned short)3046, (unsigned short)3047, (unsigned short)3048, (unsigned short)3049, (unsigned short)3050, (unsigned short)3051, (unsigned short)3052, (unsigned short)3053, (unsigned short)3054, (unsigned short)3055, (unsigned short)3056, (unsigned short)3057, (unsigned short)3061, (unsigned short)3062, (unsigned short)3063, (unsigned short)3064, (unsigned short)3065, (unsigned short)3066, (unsigned short)3067, (unsigned short)3068, (unsigned short)3072, (unsigned short)3073, (unsigned short)3074, (unsigned short)3075, (unsigned short)3079, (unsigned short)3080, (unsigned short)3081, (unsigned short)3082, (unsigned short)3083, (unsigned short)3087, (unsigned short)3088, (unsigned short)3089, (unsigned short)3090, (unsigned short)3091, (unsigned short)3095, (unsigned short)3096, (unsigned short)3098, (unsigned short)3100, (unsigned short)3102, (unsigned short)3107, (unsigned short)3108, (unsigned short)3110, (unsigned short)3112, (unsigned short)3117, (unsigned short)3118, (unsigned short)3119, (unsigned short)3120, (unsigned short)3124, (unsigned short)3125, (unsigned short)3126, (unsigned short)3127, (unsigned short)3131, (unsigned short)3132, (unsigned short)3133, (unsigned short)3134, (unsigned short)3138, (unsigned short)3139, (unsigned short)3140, (unsigned short)3141, (unsigned short)3145, (unsigned short)3146, (unsigned short)3147, (unsigned short)3148, (unsigned short)3152, (unsigned short)3153, (unsigned short)3154, (unsigned short)3170, (unsigned short)3171, (unsigned short)3172, (unsigned short)3173, (unsigned short)3186, (unsigned short)3202, (unsigned short)3203, (unsigned short)3208, (unsigned short)3209, (unsigned short)3213, (unsigned short)3214, (unsigned short)3215, (unsigned short)3216, (unsigned short)3219, (unsigned short)3220, (unsigned short)3224, (unsigned short)3225, (unsigned short)3226, (unsigned short)3230, (unsigned short)3234, (unsigned short)3238, (unsigned short)3239, (unsigned short)3240, (unsigned short)3241, (unsigned short)3242, (unsigned short)3251, (unsigned short)3260, (unsigned short)3261, (unsigned short)3262, (unsigned short)3263, (unsigned short)3267, (unsigned short)3268, (unsigned short)3272, (unsigned short)3273, (unsigned short)3278, (unsigned short)3279, (unsigned short)3280, (unsigned short)3281, (unsigned short)3282, (unsigned short)3283, (unsigned short)3302, (unsigned short)3303, (unsigned short)3307, (unsigned short)3308, (unsigned short)3309, (unsigned short)3310, (unsigned short)3311, (unsigned short)3312, (unsigned short)3314, (unsigned short)3315, (unsigned short)3316, (unsigned short)3317, (unsigned short)3321, (unsigned short)3322, (unsigned short)3323, (unsigned short)3324, (unsigned short)3325, (unsigned short)3327, (unsigned short)3328, (unsigned short)3329, (unsigned short)3333, (unsigned short)3334, (unsigned short)3335, (unsigned short)3336, (unsigned short)3337, (unsigned short)3338, (unsigned short)3342, (unsigned short)3343, (unsigned short)3344, (unsigned short)3349, (unsigned short)3350, (unsigned short)3351, (unsigned short)3352, (unsigned short)3353, (unsigned short)3354, (unsigned short)3355, (unsigned short)3356, (unsigned short)3357, (unsigned short)3358, (unsigned short)3359, (unsigned short)3360, (unsigned short)3361, (unsigned short)3365, (unsigned short)3366, (unsigned short)3367, (unsigned short)3368, (unsigned short)3369, (unsigned short)3370, (unsigned short)3371, (unsigned short)3375, (unsigned short)3376, (unsigned short)3377, (unsigned short)3381, (unsigned short)3382, (unsigned short)3383, (unsigned short)3387, (unsigned short)3388, (unsigned short)3389, (unsigned short)3390, (unsigned short)3392, (unsigned short)3393, (unsigned short)3394, (unsigned short)3396, (unsigned short)3397, (unsigned short)3398, (unsigned short)3399, (unsigned short)3401, (unsigned short)3402, (unsigned short)3403, (unsigned short)3407, (unsigned short)3408, (unsigned short)3409, (unsigned short)3410, (unsigned short)3411, (unsigned short)3413, (unsigned short)3414, (unsigned short)3415, (unsigned short)3416, (unsigned short)3417, (unsigned short)3421, (unsigned short)3422, (unsigned short)3423, (unsigned short)3424, (unsigned short)3425, (unsigned short)3426, (unsigned short)3427, (unsigned short)3429, (unsigned short)3430, (unsigned short)3431, (unsigned short)3432, (unsigned short)3433, (unsigned short)3437, (unsigned short)3438, (unsigned short)3439, (unsigned short)3443, (unsigned short)3444, (unsigned short)3448, (unsigned short)3449, (unsigned short)3450, (unsigned short)3451, (unsigned short)3455, (unsigned short)3456, (unsigned short)3457, (unsigned short)3459, (unsigned short)3460, (unsigned short)3461, (unsigned short)3465, (unsigned short)3469, (unsigned short)3470, (unsigned short)3472, (unsigned short)3473, (unsigned short)3474, (unsigned short)3478, (unsigned short)3479, (unsigned short)3480, (unsigned short)3481, (unsigned short)3485, (unsigned short)3486, (unsigned short)3490, (unsigned short)3491, (unsigned short)3492, (unsigned short)3496, (unsigned short)3497, (unsigned short)3498, (unsigned short)3499, (unsigned short)3500, (unsigned short)3501, (unsigned short)3502, (unsigned short)3506, (unsigned short)3507, (unsigned short)3508, (unsigned short)3509, (unsigned short)3513, (unsigned short)3514, (unsigned short)3515, (unsigned short)3516, (unsigned short)3520, (unsigned short)3524, (unsigned short)3528, (unsigned short)3530, (unsigned short)3533, (unsigned short)3539, (unsigned short)3540, (unsigned short)3541, (unsigned short)3545, (unsigned short)3546, (unsigned short)3547, (unsigned short)3548, (unsigned short)3549, (unsigned short)3550, (unsigned short)3554, (unsigned short)3555, (unsigned short)3559, (unsigned short)3560, (unsigned short)3561, (unsigned short)3563, (unsigned short)3564, (unsigned short)3566, (unsigned short)3567, (unsigned short)3568, (unsigned short)3569, (unsigned short)3570, (unsigned short)3572, (unsigned short)3573, (unsigned short)3577, (unsigned short)3578, (unsigned short)3579, (unsigned short)3580, (unsigned short)3584, (unsigned short)3585, (unsigned short)3586, (unsigned short)3587, (unsigned short)3589, (unsigned short)3590, (unsigned short)3591, (unsigned short)3592, (unsigned short)3593, (unsigned short)3594, (unsigned short)3595, (unsigned short)3598, (unsigned short)3602, (unsigned short)3603, (unsigned short)3607, (unsigned short)3608, (unsigned short)3612, (unsigned short)3613, (unsigned short)3614, (unsigned short)3615, (unsigned short)3616, (unsigned short)3617, (unsigned short)3618, (unsigned short)3619, (unsigned short)3623, (unsigned short)3624, (unsigned short)3625, (unsigned short)3626, (unsigned short)3632, (unsigned short)3633, (unsigned short)3635, (unsigned short)3636, (unsigned short)3639, (unsigned short)3640, (unsigned short)3643, (unsigned short)3644, (unsigned short)3645, (unsigned short)3646, (unsigned short)3647, (unsigned short)3648, (unsigned short)3652, (unsigned short)3653, (unsigned short)3665, (unsigned short)3666, (unsigned short)3669, (unsigned short)3672, (unsigned short)3674, (unsigned short)3675, (unsigned short)3676, (unsigned short)3686, (unsigned short)3688, (unsigned short)3689, (unsigned short)3691, (unsigned short)3692, (unsigned short)3693, (unsigned short)3694, (unsigned short)3704, (unsigned short)3705, (unsigned short)3706, (unsigned short)3707, (unsigned short)3708, (unsigned short)3709, (unsigned short)3713, (unsigned short)3714, (unsigned short)3722, (unsigned short)3724, (unsigned short)3725, (unsigned short)3727, (unsigned short)3729, (unsigned short)3733, (unsigned short)3734, (unsigned short)3735, (unsigned short)3736, (unsigned short)3737, (unsigned short)3741, (unsigned short)3742, (unsigned short)3743, (unsigned short)3745, (unsigned short)3750, (unsigned short)3751, (unsigned short)3752, (unsigned short)3756, (unsigned short)3757, (unsigned short)3758, (unsigned short)3762, (unsigned short)3766, (unsigned short)3767, (unsigned short)3768, (unsigned short)3772, (unsigned short)3773, (unsigned short)3777, (unsigned short)3778, (unsigned short)3782, (unsigned short)3783, (unsigned short)3784, (unsigned short)3785, (unsigned short)3789, (unsigned short)3793, (unsigned short)3797, (unsigned short)3801
 };
 
 static const char * const yytname[] = 
@@ -3177,6 +3177,13 @@ yyval.specifier = yyvsp[(1) - (1)].specifier;
 break;
 case 5:
 {
+if(!yyvsp[(1) - (2)].id->string[0])
+{
+yyval.specifier = MkSpecifierName(yyvsp[(1) - (2)].id->string);
+FreeIdentifier(yyvsp[(1) - (2)].id);
+FreeIdentifier(yyvsp[(2) - (2)].id);
+return ;
+}
 if(yyvsp[(1) - (2)].id->_class)
 {
 char name[1024];
index 651b036..4ea8fad 100644 (file)
@@ -1241,140 +1241,140 @@ static const yytype_int16 yyrhs[] =
 /* YYRLINE[YYN] -- source line where rule number YYN was defined.  */
 static const yytype_uint16 yyrline[] =
 {
-       0,   279,   279,   308,   367,   368,   468,   472,   475,   476,
-     477,   526,   528,   533,   538,   543,   545,   550,   552,   557,
-     559,   564,   566,   568,   570,   572,   576,   580,   593,   595,
-     597,   599,   601,   607,   609,   614,   619,   624,   626,   628,
-     633,   634,   638,   639,   650,   654,   655,   657,   662,   663,
-     665,   668,   680,   691,   710,   712,   717,   718,   719,   720,
-     721,   722,   723,   724,   737,   741,   742,   743,   744,   748,
-     749,   750,   751,   752,   753,   754,   758,   760,   765,   767,
-     769,   771,   773,   803,   805,   810,   812,   814,   816,   818,
-     847,   849,   851,   856,   858,   863,   865,   869,   871,   873,
-     875,   880,   883,   886,   889,   954,   956,   961,   963,   965,
-     967,   969,  1000,  1004,  1005,  1006,  1010,  1011,  1012,  1016,
-    1017,  1018,  1019,  1023,  1026,  1029,  1032,  1035,  1040,  1041,
-    1043,  1045,  1047,  1049,  1054,  1058,  1061,  1064,  1067,  1070,
-    1075,  1076,  1078,  1083,  1087,  1089,  1094,  1096,  1101,  1103,
-    1108,  1113,  1115,  1120,  1122,  1124,  1126,  1131,  1133,  1135,
-    1137,  1142,  1143,  1144,  1145,  1146,  1147,  1148,  1149,  1150,
-    1151,  1152,  1154,  1155,  1157,  1161,  1164,  1165,  1166,  1167,
-    1168,  1169,  1170,  1171,  1172,  1173,  1174,  1175,  1176,  1177,
-    1179,  1180,  1184,  1185,  1186,  1190,  1194,  1195,  1196,  1200,
-    1201,  1202,  1203,  1204,  1208,  1209,  1221,  1222,  1226,  1227,
-    1228,  1229,  1230,  1231,  1232,  1233,  1237,  1241,  1242,  1246,
-    1254,  1255,  1259,  1260,  1261,  1265,  1266,  1270,  1271,  1272,
-    1273,  1274,  1275,  1315,  1316,  1320,  1328,  1329,  1337,  1338,
-    1340,  1341,  1350,  1351,  1355,  1362,  1369,  1375,  1382,  1388,
-    1397,  1404,  1410,  1416,  1422,  1428,  1434,  1445,  1450,  1451,
-    1456,  1457,  1458,  1462,  1466,  1467,  1468,  1469,  1470,  1471,
-    1472,  1485,  1486,  1487,  1488,  1489,  1490,  1491,  1492,  1493,
-    1494,  1495,  1496,  1497,  1498,  1499,  1500,  1501,  1502,  1503,
-    1504,  1505,  1506,  1507,  1509,  1510,  1511,  1512,  1513,  1515,
-    1516,  1520,  1524,  1528,  1529,  1533,  1535,  1536,  1537,  1538,
-    1539,  1540,  1541,  1542,  1543,  1545,  1546,  1547,  1548,  1549,
-    1550,  1551,  1552,  1556,  1558,  1559,  1560,  1561,  1562,  1563,
-    1564,  1565,  1566,  1568,  1569,  1570,  1571,  1572,  1573,  1574,
-    1575,  1579,  1580,  1581,  1582,  1586,  1587,  1588,  1589,  1590,
-    1594,  1595,  1596,  1597,  1598,  1599,  1600,  1601,  1602,  1604,
-    1605,  1606,  1610,  1611,  1615,  1616,  1620,  1621,  1622,  1623,
-    1624,  1625,  1626,  1627,  1631,  1632,  1636,  1637,  1638,  1639,
-    1640,  1641,  1642,  1646,  1647,  1648,  1649,  1650,  1654,  1655,
-    1656,  1657,  1658,  1662,  1670,  1671,  1672,  1673,  1674,  1675,
-    1676,  1677,  1678,  1682,  1683,  1684,  1685,  1686,  1688,  1689,
-    1690,  1691,  1695,  1696,  1697,  1699,  1700,  1704,  1705,  1706,
-    1708,  1709,  1713,  1714,  1715,  1717,  1718,  1722,  1723,  1724,
-    1728,  1729,  1730,  1734,  1735,  1736,  1737,  1738,  1740,  1741,
-    1742,  1743,  1745,  1746,  1747,  1748,  1750,  1751,  1752,  1753,
-    1757,  1758,  1759,  1760,  1761,  1763,  1764,  1765,  1766,  1770,
-    1771,  1772,  1773,  1774,  1775,  1776,  1777,  1778,  1779,  1780,
-    1784,  1785,  1786,  1787,  1791,  1792,  1793,  1797,  1798,  1799,
-    1800,  1802,  1803,  1805,  1806,  1811,  1813,  1818,  1822,  1823,
-    1824,  1826,  1827,  1829,  1830,  1835,  1837,  1842,  1846,  1847,
-    1848,  1849,  1850,  1851,  1852,  1853,  1854,  1855,  1856,  1857,
-    1861,  1862,  1866,  1867,  1872,  1873,  1877,  1878,  1879,  1880,
-    1881,  1882,  1883,  1887,  1888,  1892,  1896,  1900,  1907,  1908,
-    1909,  1910,  1911,  1915,  1916,  1967,  1968,  1969,  1970,  1971,
-    1972,  1973,  1977,  1978,  1979,  1980,  1981,  1988,  1989,  1990,
-    1991,  1995,  1996,  1997,  1999,  2000,  2004,  2005,  2006,  2008,
-    2009,  2013,  2014,  2015,  2017,  2018,  2022,  2023,  2024,  2028,
-    2029,  2030,  2034,  2035,  2036,  2037,  2038,  2039,  2040,  2041,
-    2042,  2044,  2045,  2046,  2047,  2048,  2049,  2050,  2051,  2053,
-    2054,  2055,  2056,  2058,  2059,  2060,  2061,  2063,  2070,  2074,
-    2078,  2085,  2086,  2090,  2095,  2096,  2100,  2101,  2102,  2103,
-    2109,  2110,  2111,  2115,  2116,  2117,  2118,  2122,  2124,  2128,
-    2129,  2130,  2131,  2132,  2133,  2134,  2138,  2139,  2140,  2141,
-    2142,  2143,  2144,  2148,  2149,  2150,  2154,  2155,  2156,  2160,
-    2164,  2165,  2169,  2170,  2171,  2175,  2176,  2178,  2179,  2180,
-    2181,  2182,  2184,  2185,  2186,  2187,  2188,  2192,  2193,  2197,
-    2198,  2199,  2203,  2204,  2205,  2206,  2207,  2208,  2209,  2210,
-    2211,  2213,  2214,  2216,  2217,  2218,  2219,  2220,  2224,  2225,
-    2229,  2230,  2234,  2238,  2239,  2240,  2245,  2246,  2250,  2251,
-    2252,  2253,  2254,  2255,  2256,  2257,  2258,  2259,  2260,  2261,
-    2262,  2263,  2264,  2265,  2266,  2267,  2268,  2269,  2270,  2271,
-    2272,  2273,  2274,  2275,  2279,  2280,  2281,  2282,  2283,  2284,
-    2285,  2286,  2287,  2288,  2289,  2290,  2291,  2292,  2293,  2294,
-    2295,  2296,  2297,  2298,  2299,  2300,  2301,  2302,  2308,  2310,
-    2312,  2314,  2316,  2318,  2320,  2322,  2324,  2326,  2331,  2332,
-    2336,  2342,  2348,  2355,  2365,  2366,  2367,  2368,  2372,  2373,
-    2374,  2376,  2377,  2378,  2380,  2381,  2382,  2386,  2390,  2398,
-    2407,  2416,  2417,  2419,  2420,  2424,  2431,  2438,  2441,  2454,
-    2468,  2471,  2473,  2475,  2480,  2481,  2485,  2486,  2487,  2488,
-    2489,  2490,  2491,  2492,  2496,  2497,  2498,  2499,  2500,  2501,
-    2502,  2503,  2504,  2505,  2509,  2510,  2511,  2512,  2513,  2514,
-    2515,  2516,  2517,  2518,  2522,  2523,  2524,  2525,  2526,  2527,
-    2528,  2529,  2530,  2531,  2532,  2533,  2537,  2538,  2539,  2540,
-    2541,  2542,  2543,  2544,  2545,  2546,  2550,  2551,  2555,  2556,
-    2557,  2558,  2559,  2560,  2561,  2562,  2563,  2565,  2567,  2585,
-    2603,  2604,  2608,  2609,  2610,  2611,  2612,  2613,  2614,  2615,
-    2616,  2634,  2651,  2652,  2653,  2654,  2655,  2656,  2657,  2658,
-    2659,  2660,  2661,  2662,  2663,  2681,  2698,  2699,  2700,  2701,
-    2702,  2703,  2704,  2705,  2706,  2707,  2708,  2709,  2710,  2728,
-    2745,  2746,  2750,  2751,  2752,  2753,  2754,  2758,  2759,  2766,
-    2768,  2777,  2786,  2795,  2804,  2805,  2806,  2807,  2811,  2812,
-    2813,  2814,  2815,  2816,  2817,  2818,  2819,  2823,  2827,  2828,
-    2829,  2830,  2831,  2836,  2845,  2854,  2863,  2877,  2878,  2883,
-    2887,  2888,  2889,  2890,  2891,  2896,  2905,  2914,  2923,  2937,
-    2938,  2987,  2988,  2989,  2990,  3002,  3003,  3004,  3009,  3010,
-    3011,  3012,  3013,  3017,  3018,  3022,  3023,  3024,  3028,  3029,
-    3033,  3034,  3035,  3036,  3037,  3038,  3039,  3040,  3041,  3042,
-    3043,  3044,  3045,  3046,  3047,  3048,  3052,  3053,  3054,  3055,
-    3056,  3057,  3058,  3059,  3063,  3064,  3065,  3066,  3070,  3071,
-    3072,  3073,  3074,  3078,  3079,  3080,  3081,  3082,  3086,  3087,
-    3089,  3091,  3093,  3098,  3099,  3101,  3103,  3108,  3109,  3110,
-    3111,  3115,  3116,  3117,  3118,  3122,  3123,  3124,  3125,  3129,
-    3130,  3131,  3132,  3136,  3137,  3138,  3139,  3143,  3144,  3145,
-    3161,  3162,  3163,  3164,  3177,  3193,  3194,  3199,  3200,  3204,
-    3205,  3206,  3207,  3210,  3211,  3215,  3216,  3217,  3221,  3225,
-    3229,  3230,  3231,  3232,  3233,  3242,  3251,  3252,  3253,  3254,
-    3258,  3259,  3263,  3264,  3269,  3270,  3271,  3272,  3273,  3274,
-    3293,  3294,  3298,  3299,  3300,  3301,  3302,  3303,  3305,  3306,
-    3307,  3308,  3312,  3313,  3314,  3315,  3316,  3318,  3319,  3320,
-    3324,  3325,  3326,  3327,  3328,  3329,  3333,  3334,  3335,  3340,
-    3341,  3342,  3343,  3344,  3345,  3346,  3347,  3348,  3349,  3350,
-    3351,  3352,  3356,  3357,  3358,  3359,  3360,  3361,  3362,  3366,
-    3367,  3368,  3372,  3373,  3374,  3378,  3379,  3380,  3381,  3383,
-    3384,  3385,  3387,  3388,  3389,  3390,  3392,  3393,  3394,  3398,
-    3399,  3400,  3401,  3402,  3404,  3405,  3406,  3407,  3408,  3412,
-    3413,  3414,  3415,  3416,  3417,  3418,  3420,  3421,  3422,  3423,
-    3424,  3428,  3429,  3430,  3434,  3435,  3439,  3440,  3441,  3442,
-    3446,  3447,  3448,  3450,  3451,  3452,  3456,  3460,  3461,  3463,
-    3464,  3465,  3469,  3470,  3471,  3472,  3476,  3477,  3481,  3482,
-    3483,  3487,  3488,  3489,  3490,  3491,  3492,  3493,  3497,  3498,
-    3499,  3500,  3504,  3505,  3506,  3507,  3511,  3515,  3519,  3521,
-    3524,  3530,  3531,  3532,  3536,  3537,  3538,  3539,  3540,  3541,
-    3545,  3546,  3550,  3551,  3552,  3554,  3555,  3557,  3558,  3559,
-    3560,  3561,  3563,  3564,  3568,  3569,  3570,  3571,  3575,  3576,
-    3577,  3578,  3580,  3581,  3582,  3583,  3584,  3585,  3586,  3589,
-    3593,  3594,  3598,  3599,  3603,  3604,  3605,  3606,  3607,  3608,
-    3609,  3610,  3614,  3615,  3616,  3617,  3623,  3624,  3626,  3627,
-    3630,  3631,  3634,  3635,  3636,  3637,  3638,  3639,  3643,  3644,
-    3656,  3657,  3660,  3663,  3665,  3666,  3667,  3677,  3679,  3680,
-    3682,  3683,  3684,  3685,  3695,  3696,  3697,  3698,  3699,  3700,
-    3704,  3705,  3713,  3715,  3716,  3718,  3720,  3724,  3725,  3726,
-    3727,  3728,  3732,  3733,  3734,  3736,  3741,  3742,  3743,  3747,
-    3748,  3749,  3753,  3757,  3758,  3759,  3763,  3764,  3768,  3769,
-    3773,  3774,  3775,  3776,  3780,  3784,  3788,  3792
+       0,   279,   279,   308,   367,   368,   477,   481,   484,   485,
+     486,   535,   537,   542,   547,   552,   554,   559,   561,   566,
+     568,   573,   575,   577,   579,   581,   585,   589,   602,   604,
+     606,   608,   610,   616,   618,   623,   628,   633,   635,   637,
+     642,   643,   647,   648,   659,   663,   664,   666,   671,   672,
+     674,   677,   689,   700,   719,   721,   726,   727,   728,   729,
+     730,   731,   732,   733,   746,   750,   751,   752,   753,   757,
+     758,   759,   760,   761,   762,   763,   767,   769,   774,   776,
+     778,   780,   782,   812,   814,   819,   821,   823,   825,   827,
+     856,   858,   860,   865,   867,   872,   874,   878,   880,   882,
+     884,   889,   892,   895,   898,   963,   965,   970,   972,   974,
+     976,   978,  1009,  1013,  1014,  1015,  1019,  1020,  1021,  1025,
+    1026,  1027,  1028,  1032,  1035,  1038,  1041,  1044,  1049,  1050,
+    1052,  1054,  1056,  1058,  1063,  1067,  1070,  1073,  1076,  1079,
+    1084,  1085,  1087,  1092,  1096,  1098,  1103,  1105,  1110,  1112,
+    1117,  1122,  1124,  1129,  1131,  1133,  1135,  1140,  1142,  1144,
+    1146,  1151,  1152,  1153,  1154,  1155,  1156,  1157,  1158,  1159,
+    1160,  1161,  1163,  1164,  1166,  1170,  1173,  1174,  1175,  1176,
+    1177,  1178,  1179,  1180,  1181,  1182,  1183,  1184,  1185,  1186,
+    1188,  1189,  1193,  1194,  1195,  1199,  1203,  1204,  1205,  1209,
+    1210,  1211,  1212,  1213,  1217,  1218,  1230,  1231,  1235,  1236,
+    1237,  1238,  1239,  1240,  1241,  1242,  1246,  1250,  1251,  1255,
+    1263,  1264,  1268,  1269,  1270,  1274,  1275,  1279,  1280,  1281,
+    1282,  1283,  1284,  1324,  1325,  1329,  1337,  1338,  1346,  1347,
+    1349,  1350,  1359,  1360,  1364,  1371,  1378,  1384,  1391,  1397,
+    1406,  1413,  1419,  1425,  1431,  1437,  1443,  1454,  1459,  1460,
+    1465,  1466,  1467,  1471,  1475,  1476,  1477,  1478,  1479,  1480,
+    1481,  1494,  1495,  1496,  1497,  1498,  1499,  1500,  1501,  1502,
+    1503,  1504,  1505,  1506,  1507,  1508,  1509,  1510,  1511,  1512,
+    1513,  1514,  1515,  1516,  1518,  1519,  1520,  1521,  1522,  1524,
+    1525,  1529,  1533,  1537,  1538,  1542,  1544,  1545,  1546,  1547,
+    1548,  1549,  1550,  1551,  1552,  1554,  1555,  1556,  1557,  1558,
+    1559,  1560,  1561,  1565,  1567,  1568,  1569,  1570,  1571,  1572,
+    1573,  1574,  1575,  1577,  1578,  1579,  1580,  1581,  1582,  1583,
+    1584,  1588,  1589,  1590,  1591,  1595,  1596,  1597,  1598,  1599,
+    1603,  1604,  1605,  1606,  1607,  1608,  1609,  1610,  1611,  1613,
+    1614,  1615,  1619,  1620,  1624,  1625,  1629,  1630,  1631,  1632,
+    1633,  1634,  1635,  1636,  1640,  1641,  1645,  1646,  1647,  1648,
+    1649,  1650,  1651,  1655,  1656,  1657,  1658,  1659,  1663,  1664,
+    1665,  1666,  1667,  1671,  1679,  1680,  1681,  1682,  1683,  1684,
+    1685,  1686,  1687,  1691,  1692,  1693,  1694,  1695,  1697,  1698,
+    1699,  1700,  1704,  1705,  1706,  1708,  1709,  1713,  1714,  1715,
+    1717,  1718,  1722,  1723,  1724,  1726,  1727,  1731,  1732,  1733,
+    1737,  1738,  1739,  1743,  1744,  1745,  1746,  1747,  1749,  1750,
+    1751,  1752,  1754,  1755,  1756,  1757,  1759,  1760,  1761,  1762,
+    1766,  1767,  1768,  1769,  1770,  1772,  1773,  1774,  1775,  1779,
+    1780,  1781,  1782,  1783,  1784,  1785,  1786,  1787,  1788,  1789,
+    1793,  1794,  1795,  1796,  1800,  1801,  1802,  1806,  1807,  1808,
+    1809,  1811,  1812,  1814,  1815,  1820,  1822,  1827,  1831,  1832,
+    1833,  1835,  1836,  1838,  1839,  1844,  1846,  1851,  1855,  1856,
+    1857,  1858,  1859,  1860,  1861,  1862,  1863,  1864,  1865,  1866,
+    1870,  1871,  1875,  1876,  1881,  1882,  1886,  1887,  1888,  1889,
+    1890,  1891,  1892,  1896,  1897,  1901,  1905,  1909,  1916,  1917,
+    1918,  1919,  1920,  1924,  1925,  1976,  1977,  1978,  1979,  1980,
+    1981,  1982,  1986,  1987,  1988,  1989,  1990,  1997,  1998,  1999,
+    2000,  2004,  2005,  2006,  2008,  2009,  2013,  2014,  2015,  2017,
+    2018,  2022,  2023,  2024,  2026,  2027,  2031,  2032,  2033,  2037,
+    2038,  2039,  2043,  2044,  2045,  2046,  2047,  2048,  2049,  2050,
+    2051,  2053,  2054,  2055,  2056,  2057,  2058,  2059,  2060,  2062,
+    2063,  2064,  2065,  2067,  2068,  2069,  2070,  2072,  2079,  2083,
+    2087,  2094,  2095,  2099,  2104,  2105,  2109,  2110,  2111,  2112,
+    2118,  2119,  2120,  2124,  2125,  2126,  2127,  2131,  2133,  2137,
+    2138,  2139,  2140,  2141,  2142,  2143,  2147,  2148,  2149,  2150,
+    2151,  2152,  2153,  2157,  2158,  2159,  2163,  2164,  2165,  2169,
+    2173,  2174,  2178,  2179,  2180,  2184,  2185,  2187,  2188,  2189,
+    2190,  2191,  2193,  2194,  2195,  2196,  2197,  2201,  2202,  2206,
+    2207,  2208,  2212,  2213,  2214,  2215,  2216,  2217,  2218,  2219,
+    2220,  2222,  2223,  2225,  2226,  2227,  2228,  2229,  2233,  2234,
+    2238,  2239,  2243,  2247,  2248,  2249,  2254,  2255,  2259,  2260,
+    2261,  2262,  2263,  2264,  2265,  2266,  2267,  2268,  2269,  2270,
+    2271,  2272,  2273,  2274,  2275,  2276,  2277,  2278,  2279,  2280,
+    2281,  2282,  2283,  2284,  2288,  2289,  2290,  2291,  2292,  2293,
+    2294,  2295,  2296,  2297,  2298,  2299,  2300,  2301,  2302,  2303,
+    2304,  2305,  2306,  2307,  2308,  2309,  2310,  2311,  2317,  2319,
+    2321,  2323,  2325,  2327,  2329,  2331,  2333,  2335,  2340,  2341,
+    2345,  2351,  2357,  2364,  2374,  2375,  2376,  2377,  2381,  2382,
+    2383,  2385,  2386,  2387,  2389,  2390,  2391,  2395,  2399,  2407,
+    2416,  2425,  2426,  2428,  2429,  2433,  2440,  2447,  2450,  2463,
+    2477,  2480,  2482,  2484,  2489,  2490,  2494,  2495,  2496,  2497,
+    2498,  2499,  2500,  2501,  2505,  2506,  2507,  2508,  2509,  2510,
+    2511,  2512,  2513,  2514,  2518,  2519,  2520,  2521,  2522,  2523,
+    2524,  2525,  2526,  2527,  2531,  2532,  2533,  2534,  2535,  2536,
+    2537,  2538,  2539,  2540,  2541,  2542,  2546,  2547,  2548,  2549,
+    2550,  2551,  2552,  2553,  2554,  2555,  2559,  2560,  2564,  2565,
+    2566,  2567,  2568,  2569,  2570,  2571,  2572,  2574,  2576,  2594,
+    2612,  2613,  2617,  2618,  2619,  2620,  2621,  2622,  2623,  2624,
+    2625,  2643,  2660,  2661,  2662,  2663,  2664,  2665,  2666,  2667,
+    2668,  2669,  2670,  2671,  2672,  2690,  2707,  2708,  2709,  2710,
+    2711,  2712,  2713,  2714,  2715,  2716,  2717,  2718,  2719,  2737,
+    2754,  2755,  2759,  2760,  2761,  2762,  2763,  2767,  2768,  2775,
+    2777,  2786,  2795,  2804,  2813,  2814,  2815,  2816,  2820,  2821,
+    2822,  2823,  2824,  2825,  2826,  2827,  2828,  2832,  2836,  2837,
+    2838,  2839,  2840,  2845,  2854,  2863,  2872,  2886,  2887,  2892,
+    2896,  2897,  2898,  2899,  2900,  2905,  2914,  2923,  2932,  2946,
+    2947,  2996,  2997,  2998,  2999,  3011,  3012,  3013,  3018,  3019,
+    3020,  3021,  3022,  3026,  3027,  3031,  3032,  3033,  3037,  3038,
+    3042,  3043,  3044,  3045,  3046,  3047,  3048,  3049,  3050,  3051,
+    3052,  3053,  3054,  3055,  3056,  3057,  3061,  3062,  3063,  3064,
+    3065,  3066,  3067,  3068,  3072,  3073,  3074,  3075,  3079,  3080,
+    3081,  3082,  3083,  3087,  3088,  3089,  3090,  3091,  3095,  3096,
+    3098,  3100,  3102,  3107,  3108,  3110,  3112,  3117,  3118,  3119,
+    3120,  3124,  3125,  3126,  3127,  3131,  3132,  3133,  3134,  3138,
+    3139,  3140,  3141,  3145,  3146,  3147,  3148,  3152,  3153,  3154,
+    3170,  3171,  3172,  3173,  3186,  3202,  3203,  3208,  3209,  3213,
+    3214,  3215,  3216,  3219,  3220,  3224,  3225,  3226,  3230,  3234,
+    3238,  3239,  3240,  3241,  3242,  3251,  3260,  3261,  3262,  3263,
+    3267,  3268,  3272,  3273,  3278,  3279,  3280,  3281,  3282,  3283,
+    3302,  3303,  3307,  3308,  3309,  3310,  3311,  3312,  3314,  3315,
+    3316,  3317,  3321,  3322,  3323,  3324,  3325,  3327,  3328,  3329,
+    3333,  3334,  3335,  3336,  3337,  3338,  3342,  3343,  3344,  3349,
+    3350,  3351,  3352,  3353,  3354,  3355,  3356,  3357,  3358,  3359,
+    3360,  3361,  3365,  3366,  3367,  3368,  3369,  3370,  3371,  3375,
+    3376,  3377,  3381,  3382,  3383,  3387,  3388,  3389,  3390,  3392,
+    3393,  3394,  3396,  3397,  3398,  3399,  3401,  3402,  3403,  3407,
+    3408,  3409,  3410,  3411,  3413,  3414,  3415,  3416,  3417,  3421,
+    3422,  3423,  3424,  3425,  3426,  3427,  3429,  3430,  3431,  3432,
+    3433,  3437,  3438,  3439,  3443,  3444,  3448,  3449,  3450,  3451,
+    3455,  3456,  3457,  3459,  3460,  3461,  3465,  3469,  3470,  3472,
+    3473,  3474,  3478,  3479,  3480,  3481,  3485,  3486,  3490,  3491,
+    3492,  3496,  3497,  3498,  3499,  3500,  3501,  3502,  3506,  3507,
+    3508,  3509,  3513,  3514,  3515,  3516,  3520,  3524,  3528,  3530,
+    3533,  3539,  3540,  3541,  3545,  3546,  3547,  3548,  3549,  3550,
+    3554,  3555,  3559,  3560,  3561,  3563,  3564,  3566,  3567,  3568,
+    3569,  3570,  3572,  3573,  3577,  3578,  3579,  3580,  3584,  3585,
+    3586,  3587,  3589,  3590,  3591,  3592,  3593,  3594,  3595,  3598,
+    3602,  3603,  3607,  3608,  3612,  3613,  3614,  3615,  3616,  3617,
+    3618,  3619,  3623,  3624,  3625,  3626,  3632,  3633,  3635,  3636,
+    3639,  3640,  3643,  3644,  3645,  3646,  3647,  3648,  3652,  3653,
+    3665,  3666,  3669,  3672,  3674,  3675,  3676,  3686,  3688,  3689,
+    3691,  3692,  3693,  3694,  3704,  3705,  3706,  3707,  3708,  3709,
+    3713,  3714,  3722,  3724,  3725,  3727,  3729,  3733,  3734,  3735,
+    3736,  3737,  3741,  3742,  3743,  3745,  3750,  3751,  3752,  3756,
+    3757,  3758,  3762,  3766,  3767,  3768,  3772,  3773,  3777,  3778,
+    3782,  3783,  3784,  3785,  3789,  3793,  3797,  3801
 };
 #endif
 
@@ -13575,6 +13575,14 @@ yyreduce:
 #line 369 "grammar.y"
     {
    #ifdef PRECOMPILER
+      if(!(yyvsp[(1) - (2)].id).string[0])
+      {
+         (yyval.specifier) = MkSpecifierName((yyvsp[(1) - (2)].id).string);
+         FreeIdentifier((yyvsp[(1) - (2)].id));
+         FreeIdentifier((yyvsp[(2) - (2)].id));
+         return;
+      }
+
       // if($1._class && !$1._class.name)
       if((yyvsp[(1) - (2)].id)._class)
       {
@@ -13586,6 +13594,7 @@ yyreduce:
       }
       else
          _DeclClass(0, (yyvsp[(1) - (2)].id).string);
+
       FreeIdentifier((yyvsp[(1) - (2)].id));
       FreeIdentifier((yyvsp[(2) - (2)].id));
 
@@ -13611,28 +13620,28 @@ yyreduce:
   case 6:
 
 /* Line 1464 of yacc.c  */
-#line 468 "grammar.y"
+#line 477 "grammar.y"
     { (yyval.specifier) = MkSpecifierName(yytext); ;}
     break;
 
   case 7:
 
 /* Line 1464 of yacc.c  */
-#line 472 "grammar.y"
+#line 481 "grammar.y"
     { (yyval.string) = CopyString(yytext); ;}
     break;
 
   case 9:
 
 /* Line 1464 of yacc.c  */
-#line 476 "grammar.y"
+#line 485 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (4)].specifier); SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); ;}
     break;
 
   case 10:
 
 /* Line 1464 of yacc.c  */
-#line 478 "grammar.y"
+#line 487 "grammar.y"
     {
       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
       SetClassTemplateArgs((yyval.specifier), (yyvsp[(3) - (4)].list));
@@ -13648,119 +13657,119 @@ yyreduce:
   case 11:
 
 /* Line 1464 of yacc.c  */
-#line 527 "grammar.y"
+#line 536 "grammar.y"
     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 12:
 
 /* Line 1464 of yacc.c  */
-#line 529 "grammar.y"
+#line 538 "grammar.y"
     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 13:
 
 /* Line 1464 of yacc.c  */
-#line 534 "grammar.y"
+#line 543 "grammar.y"
     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isConstructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(1) - (3)].list), FreeSpecifier); ;}
     break;
 
   case 14:
 
 /* Line 1464 of yacc.c  */
-#line 539 "grammar.y"
+#line 548 "grammar.y"
     { (yyval.classFunction) = MkClassFunction(null, null, null, null); (yyval.classFunction).isDestructor = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; FreeList((yyvsp[(2) - (4)].list), FreeSpecifier) ;}
     break;
 
   case 15:
 
 /* Line 1464 of yacc.c  */
-#line 544 "grammar.y"
+#line 553 "grammar.y"
     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 16:
 
 /* Line 1464 of yacc.c  */
-#line 546 "grammar.y"
+#line 555 "grammar.y"
     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 17:
 
 /* Line 1464 of yacc.c  */
-#line 551 "grammar.y"
+#line 560 "grammar.y"
     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 18:
 
 /* Line 1464 of yacc.c  */
-#line 553 "grammar.y"
+#line 562 "grammar.y"
     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(1) - (1)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 19:
 
 /* Line 1464 of yacc.c  */
-#line 558 "grammar.y"
+#line 567 "grammar.y"
     { (yyval.classFunction) = MkClassFunction((yyvsp[(2) - (3)].list), null, (yyvsp[(3) - (3)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 20:
 
 /* Line 1464 of yacc.c  */
-#line 560 "grammar.y"
+#line 569 "grammar.y"
     { (yyval.classFunction) = MkClassFunction(null, null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).isVirtual = true; (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 21:
 
 /* Line 1464 of yacc.c  */
-#line 565 "grammar.y"
+#line 574 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
     break;
 
   case 22:
 
 /* Line 1464 of yacc.c  */
-#line 567 "grammar.y"
+#line 576 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
     break;
 
   case 23:
 
 /* Line 1464 of yacc.c  */
-#line 569 "grammar.y"
+#line 578 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
     break;
 
   case 24:
 
 /* Line 1464 of yacc.c  */
-#line 571 "grammar.y"
+#line 580 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
     break;
 
   case 25:
 
 /* Line 1464 of yacc.c  */
-#line 573 "grammar.y"
+#line 582 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
     break;
 
   case 26:
 
 /* Line 1464 of yacc.c  */
-#line 577 "grammar.y"
+#line 586 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); ;}
     break;
 
   case 27:
 
 /* Line 1464 of yacc.c  */
-#line 581 "grammar.y"
+#line 590 "grammar.y"
     {
          if((yyvsp[(1) - (3)].classFunction).declarator)
          {
@@ -13775,112 +13784,112 @@ yyreduce:
   case 28:
 
 /* Line 1464 of yacc.c  */
-#line 594 "grammar.y"
+#line 603 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
     break;
 
   case 29:
 
 /* Line 1464 of yacc.c  */
-#line 596 "grammar.y"
+#line 605 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
     break;
 
   case 30:
 
 /* Line 1464 of yacc.c  */
-#line 598 "grammar.y"
+#line 607 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
     break;
 
   case 31:
 
 /* Line 1464 of yacc.c  */
-#line 600 "grammar.y"
+#line 609 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
     break;
 
   case 32:
 
 /* Line 1464 of yacc.c  */
-#line 602 "grammar.y"
+#line 611 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
     break;
 
   case 33:
 
 /* Line 1464 of yacc.c  */
-#line 608 "grammar.y"
+#line 617 "grammar.y"
     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 34:
 
 /* Line 1464 of yacc.c  */
-#line 610 "grammar.y"
+#line 619 "grammar.y"
     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, MkDeclaratorFunction((yyvsp[(2) - (2)].declarator), null), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 35:
 
 /* Line 1464 of yacc.c  */
-#line 615 "grammar.y"
+#line 624 "grammar.y"
     { (yyval.classFunction) = MkClassFunction((yyvsp[(1) - (2)].list), null, (yyvsp[(2) - (2)].declarator), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).id = ++globalContext.nextID; ;}
     break;
 
   case 36:
 
 /* Line 1464 of yacc.c  */
-#line 620 "grammar.y"
+#line 629 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); ;}
     break;
 
   case 37:
 
 /* Line 1464 of yacc.c  */
-#line 625 "grammar.y"
+#line 634 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (2)].classFunction), (yyvsp[(2) - (2)].stmt)); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
     break;
 
   case 38:
 
 /* Line 1464 of yacc.c  */
-#line 627 "grammar.y"
+#line 636 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
     break;
 
   case 39:
 
 /* Line 1464 of yacc.c  */
-#line 629 "grammar.y"
+#line 638 "grammar.y"
     { ProcessClassFunctionBody((yyvsp[(1) - (1)].classFunction), null); (yyval.classFunction).loc = (yyloc); (yyval.classFunction).loc.end.charPos++; (yyval.classFunction).loc.end.pos++;;}
     break;
 
   case 40:
 
 /* Line 1464 of yacc.c  */
-#line 633 "grammar.y"
+#line 642 "grammar.y"
     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
     break;
 
   case 41:
 
 /* Line 1464 of yacc.c  */
-#line 634 "grammar.y"
+#line 643 "grammar.y"
     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
     break;
 
   case 42:
 
 /* Line 1464 of yacc.c  */
-#line 638 "grammar.y"
+#line 647 "grammar.y"
     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end;;}
     break;
 
   case 43:
 
 /* Line 1464 of yacc.c  */
-#line 640 "grammar.y"
+#line 649 "grammar.y"
     {
          (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy()));
          (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end;
@@ -13896,56 +13905,56 @@ yyreduce:
   case 44:
 
 /* Line 1464 of yacc.c  */
-#line 650 "grammar.y"
+#line 659 "grammar.y"
     { (yyval.memberInit) = MkMemberInit(null, (yyvsp[(1) - (1)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc);;}
     break;
 
   case 45:
 
 /* Line 1464 of yacc.c  */
-#line 654 "grammar.y"
+#line 663 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
     break;
 
   case 46:
 
 /* Line 1464 of yacc.c  */
-#line 656 "grammar.y"
+#line 665 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 47:
 
 /* Line 1464 of yacc.c  */
-#line 658 "grammar.y"
+#line 667 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 48:
 
 /* Line 1464 of yacc.c  */
-#line 662 "grammar.y"
+#line 671 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ;}
     break;
 
   case 49:
 
 /* Line 1464 of yacc.c  */
-#line 664 "grammar.y"
+#line 673 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 50:
 
 /* Line 1464 of yacc.c  */
-#line 666 "grammar.y"
+#line 675 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 51:
 
 /* Line 1464 of yacc.c  */
-#line 669 "grammar.y"
+#line 678 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
          {
             Initializer dummy = MkInitializerAssignment(MkExpDummy());
@@ -13961,7 +13970,7 @@ yyreduce:
   case 52:
 
 /* Line 1464 of yacc.c  */
-#line 681 "grammar.y"
+#line 690 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(2) - (3)]).end;
          {
             Initializer dummy = MkInitializerAssignment(MkExpDummy());
@@ -13977,7 +13986,7 @@ yyreduce:
   case 53:
 
 /* Line 1464 of yacc.c  */
-#line 692 "grammar.y"
+#line 701 "grammar.y"
     {
          Initializer dummy = MkInitializerAssignment(MkExpDummy());
          MemberInit memberInit = MkMemberInit(null, dummy);
@@ -13998,63 +14007,63 @@ yyreduce:
   case 54:
 
 /* Line 1464 of yacc.c  */
-#line 711 "grammar.y"
+#line 720 "grammar.y"
     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 55:
 
 /* Line 1464 of yacc.c  */
-#line 713 "grammar.y"
+#line 722 "grammar.y"
     { if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 56:
 
 /* Line 1464 of yacc.c  */
-#line 717 "grammar.y"
+#line 726 "grammar.y"
     { MembersInit members = MkMembersInitList((yyvsp[(1) - (1)].list)); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 57:
 
 /* Line 1464 of yacc.c  */
-#line 718 "grammar.y"
+#line 727 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 58:
 
 /* Line 1464 of yacc.c  */
-#line 719 "grammar.y"
+#line 728 "grammar.y"
     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members);  members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 59:
 
 /* Line 1464 of yacc.c  */
-#line 720 "grammar.y"
+#line 729 "grammar.y"
     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 60:
 
 /* Line 1464 of yacc.c  */
-#line 721 "grammar.y"
+#line 730 "grammar.y"
     { MembersInit members = MkMembersInitList((yyvsp[(2) - (2)].list)); ListAdd((yyval.list), members); members.loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 61:
 
 /* Line 1464 of yacc.c  */
-#line 722 "grammar.y"
+#line 731 "grammar.y"
     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 63:
 
 /* Line 1464 of yacc.c  */
-#line 725 "grammar.y"
+#line 734 "grammar.y"
     {
       MembersInit members = (MembersInit)(yyval.list)->last;
       if(members.type == dataMembersInit)
@@ -14072,224 +14081,224 @@ yyreduce:
   case 64:
 
 /* Line 1464 of yacc.c  */
-#line 737 "grammar.y"
+#line 746 "grammar.y"
     { MembersInit members = MkMembersInitList(MkList()); (yyval.list) = MkList(); ListAdd((yyval.list), members); members.loc = (yylsp[(1) - (1)]);  ;}
     break;
 
   case 66:
 
 /* Line 1464 of yacc.c  */
-#line 742 "grammar.y"
+#line 751 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 67:
 
 /* Line 1464 of yacc.c  */
-#line 743 "grammar.y"
+#line 752 "grammar.y"
     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
     break;
 
   case 68:
 
 /* Line 1464 of yacc.c  */
-#line 744 "grammar.y"
+#line 753 "grammar.y"
     { ListAdd((yyvsp[(1) - (2)].list), MkMembersInitList((yyvsp[(2) - (2)].list)));   ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
     break;
 
   case 69:
 
 /* Line 1464 of yacc.c  */
-#line 748 "grammar.y"
+#line 757 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(1) - (1)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 70:
 
 /* Line 1464 of yacc.c  */
-#line 749 "grammar.y"
+#line 758 "grammar.y"
     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 71:
 
 /* Line 1464 of yacc.c  */
-#line 750 "grammar.y"
+#line 759 "grammar.y"
     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 72:
 
 /* Line 1464 of yacc.c  */
-#line 751 "grammar.y"
+#line 760 "grammar.y"
     { ListAdd((yyval.list), MkMembersInitMethod((yyvsp[(2) - (2)].classFunction))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 73:
 
 /* Line 1464 of yacc.c  */
-#line 752 "grammar.y"
+#line 761 "grammar.y"
     { ListAdd((yyval.list), MkMembersInitList((yyvsp[(2) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 74:
 
 /* Line 1464 of yacc.c  */
-#line 753 "grammar.y"
+#line 762 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (1)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 75:
 
 /* Line 1464 of yacc.c  */
-#line 754 "grammar.y"
+#line 763 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkMembersInitList((yyvsp[(1) - (2)].list))); ((MembersInit)(yyval.list)->last).loc = (yylsp[(2) - (2)]); ;}
     break;
 
   case 76:
 
 /* Line 1464 of yacc.c  */
-#line 759 "grammar.y"
+#line 768 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
     break;
 
   case 77:
 
 /* Line 1464 of yacc.c  */
-#line 761 "grammar.y"
+#line 770 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
     break;
 
   case 78:
 
 /* Line 1464 of yacc.c  */
-#line 766 "grammar.y"
+#line 775 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 79:
 
 /* Line 1464 of yacc.c  */
-#line 768 "grammar.y"
+#line 777 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 80:
 
 /* Line 1464 of yacc.c  */
-#line 770 "grammar.y"
+#line 779 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 81:
 
 /* Line 1464 of yacc.c  */
-#line 772 "grammar.y"
+#line 781 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null); (yyval.instance).exp.loc = (yylsp[(2) - (3)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 82:
 
 /* Line 1464 of yacc.c  */
-#line 774 "grammar.y"
+#line 783 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 83:
 
 /* Line 1464 of yacc.c  */
-#line 804 "grammar.y"
+#line 813 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
     break;
 
   case 84:
 
 /* Line 1464 of yacc.c  */
-#line 806 "grammar.y"
+#line 815 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
     break;
 
   case 85:
 
 /* Line 1464 of yacc.c  */
-#line 811 "grammar.y"
+#line 820 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 86:
 
 /* Line 1464 of yacc.c  */
-#line 813 "grammar.y"
+#line 822 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (5)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 87:
 
 /* Line 1464 of yacc.c  */
-#line 815 "grammar.y"
+#line 824 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), (yyvsp[(4) - (4)].list));(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 88:
 
 /* Line 1464 of yacc.c  */
-#line 817 "grammar.y"
+#line 826 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (3)].list), MkExpIdentifier((yyvsp[(2) - (3)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (3)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (3)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 89:
 
 /* Line 1464 of yacc.c  */
-#line 819 "grammar.y"
+#line 828 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), null);(yyval.instance).exp.loc = (yylsp[(2) - (4)]);  (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 90:
 
 /* Line 1464 of yacc.c  */
-#line 848 "grammar.y"
+#line 857 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
     break;
 
   case 91:
 
 /* Line 1464 of yacc.c  */
-#line 850 "grammar.y"
+#line 859 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (5)].list), MkExpIdentifier((yyvsp[(2) - (5)].id)), (yyvsp[(4) - (5)].list)); (yyval.instance).exp.loc = (yylsp[(2) - (5)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (5)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (5)]).end; (yyval.instance).insideLoc.end = (yylsp[(5) - (5)]).start;;}
     break;
 
   case 92:
 
 /* Line 1464 of yacc.c  */
-#line 852 "grammar.y"
+#line 861 "grammar.y"
     { (yyval.instance) = MkInstantiationNamed((yyvsp[(1) - (4)].list), MkExpIdentifier((yyvsp[(2) - (4)].id)), MkList());  (yyval.instance).exp.loc = (yylsp[(2) - (4)]); (yyval.instance).loc = (yyloc); (yyval.instance).nameLoc = (yylsp[(2) - (4)]); (yyval.instance).insideLoc.start = (yylsp[(3) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(4) - (4)]).start;;}
     break;
 
   case 93:
 
 /* Line 1464 of yacc.c  */
-#line 857 "grammar.y"
+#line 866 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; (yyval.instance) = (yyvsp[(1) - (2)].instance); ;}
     break;
 
   case 94:
 
 /* Line 1464 of yacc.c  */
-#line 859 "grammar.y"
+#line 868 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; (yyval.instance) = (yyvsp[(1) - (3)].instance); ;}
     break;
 
   case 95:
 
 /* Line 1464 of yacc.c  */
-#line 864 "grammar.y"
+#line 873 "grammar.y"
     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 96:
 
 /* Line 1464 of yacc.c  */
-#line 866 "grammar.y"
+#line 875 "grammar.y"
     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
     break;
@@ -14297,35 +14306,35 @@ yyreduce:
   case 97:
 
 /* Line 1464 of yacc.c  */
-#line 870 "grammar.y"
+#line 879 "grammar.y"
     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 98:
 
 /* Line 1464 of yacc.c  */
-#line 872 "grammar.y"
+#line 881 "grammar.y"
     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (2)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 99:
 
 /* Line 1464 of yacc.c  */
-#line 874 "grammar.y"
+#line 883 "grammar.y"
     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (4)].specifier), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 100:
 
 /* Line 1464 of yacc.c  */
-#line 876 "grammar.y"
+#line 885 "grammar.y"
     { (yyval.instance) = MkInstantiation((yyvsp[(1) - (3)].specifier), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
     break;
 
   case 101:
 
 /* Line 1464 of yacc.c  */
-#line 881 "grammar.y"
+#line 890 "grammar.y"
     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, (yyvsp[(3) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
     break;
@@ -14333,7 +14342,7 @@ yyreduce:
   case 102:
 
 /* Line 1464 of yacc.c  */
-#line 884 "grammar.y"
+#line 893 "grammar.y"
     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (2)]);
       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (2)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (2)].id)); ;}
     break;
@@ -14341,7 +14350,7 @@ yyreduce:
   case 103:
 
 /* Line 1464 of yacc.c  */
-#line 887 "grammar.y"
+#line 896 "grammar.y"
     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (4)]);
       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (4)].id).string), null, (yyvsp[(3) - (4)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (4)]).end; (yyval.instance).insideLoc.end = (yylsp[(3) - (4)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (4)].id)); ;}
     break;
@@ -14349,7 +14358,7 @@ yyreduce:
   case 104:
 
 /* Line 1464 of yacc.c  */
-#line 890 "grammar.y"
+#line 899 "grammar.y"
     { Location tmpLoc = yylloc; yylloc = (yylsp[(1) - (3)]);
       yylloc = tmpLoc;  (yyval.instance) = MkInstantiation(MkSpecifierName((yyvsp[(1) - (3)].id).string), null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(2) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; FreeIdentifier((yyvsp[(1) - (3)].id)); ;}
     break;
@@ -14357,840 +14366,840 @@ yyreduce:
   case 105:
 
 /* Line 1464 of yacc.c  */
-#line 955 "grammar.y"
+#line 964 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).start; ;}
     break;
 
   case 106:
 
 /* Line 1464 of yacc.c  */
-#line 957 "grammar.y"
+#line 966 "grammar.y"
     { (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).start; ;}
     break;
 
   case 107:
 
 /* Line 1464 of yacc.c  */
-#line 962 "grammar.y"
+#line 971 "grammar.y"
     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 108:
 
 /* Line 1464 of yacc.c  */
-#line 964 "grammar.y"
+#line 973 "grammar.y"
     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (3)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (3)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (3)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 109:
 
 /* Line 1464 of yacc.c  */
-#line 966 "grammar.y"
+#line 975 "grammar.y"
     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++;  ;}
     break;
 
   case 110:
 
 /* Line 1464 of yacc.c  */
-#line 968 "grammar.y"
+#line 977 "grammar.y"
     { (yyval.instance) = MkInstantiation(null, null, null);  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (1)]).end; (yyval.instance).insideLoc.end = (yylsp[(1) - (1)]).end;  (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 111:
 
 /* Line 1464 of yacc.c  */
-#line 970 "grammar.y"
+#line 979 "grammar.y"
     { (yyval.instance) = MkInstantiation(null, null, (yyvsp[(2) - (2)].list));  (yyval.instance).loc = (yyloc); (yyval.instance).insideLoc.start = (yylsp[(1) - (2)]).end; (yyval.instance).insideLoc.end = (yylsp[(2) - (2)]).end; (yyval.instance).loc.end.charPos++; (yyval.instance).loc.end.pos++; ;}
     break;
 
   case 112:
 
 /* Line 1464 of yacc.c  */
-#line 1000 "grammar.y"
+#line 1009 "grammar.y"
     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
     break;
 
   case 113:
 
 /* Line 1464 of yacc.c  */
-#line 1004 "grammar.y"
+#line 1013 "grammar.y"
     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].initializer)); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
     break;
 
   case 114:
 
 /* Line 1464 of yacc.c  */
-#line 1005 "grammar.y"
+#line 1014 "grammar.y"
     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (3)].exp), MkInitializerAssignment(MkExpDummy())); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); (yyval.memberInit).initializer.loc.start = (yylsp[(2) - (3)]).end; (yyval.memberInit).initializer.loc.end = (yylsp[(2) - (3)]).end; ;}
     break;
 
   case 115:
 
 /* Line 1464 of yacc.c  */
-#line 1006 "grammar.y"
+#line 1015 "grammar.y"
     { (yyval.memberInit) = MkMemberInitExp((yyvsp[(1) - (2)].exp), null); (yyval.memberInit).loc = (yyloc); (yyval.memberInit).realLoc = (yyloc); ;}
     break;
 
   case 116:
 
 /* Line 1464 of yacc.c  */
-#line 1010 "grammar.y"
+#line 1019 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
     break;
 
   case 117:
 
 /* Line 1464 of yacc.c  */
-#line 1011 "grammar.y"
+#line 1020 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 118:
 
 /* Line 1464 of yacc.c  */
-#line 1012 "grammar.y"
+#line 1021 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 119:
 
 /* Line 1464 of yacc.c  */
-#line 1016 "grammar.y"
+#line 1025 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].memberInit)); ((MemberInit)(yyval.list)->last).loc = (yyloc); ;}
     break;
 
   case 120:
 
 /* Line 1464 of yacc.c  */
-#line 1017 "grammar.y"
+#line 1026 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 121:
 
 /* Line 1464 of yacc.c  */
-#line 1018 "grammar.y"
+#line 1027 "grammar.y"
     { ((MemberInit)(yyvsp[(1) - (3)].list)->last).loc.end = (yylsp[(3) - (3)]).start; ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].memberInit)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 123:
 
 /* Line 1464 of yacc.c  */
-#line 1024 "grammar.y"
+#line 1033 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 124:
 
 /* Line 1464 of yacc.c  */
-#line 1027 "grammar.y"
+#line 1036 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 125:
 
 /* Line 1464 of yacc.c  */
-#line 1030 "grammar.y"
+#line 1039 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 126:
 
 /* Line 1464 of yacc.c  */
-#line 1033 "grammar.y"
+#line 1042 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 127:
 
 /* Line 1464 of yacc.c  */
-#line 1036 "grammar.y"
+#line 1045 "grammar.y"
     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 129:
 
 /* Line 1464 of yacc.c  */
-#line 1042 "grammar.y"
+#line 1051 "grammar.y"
     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
     break;
 
   case 130:
 
 /* Line 1464 of yacc.c  */
-#line 1044 "grammar.y"
+#line 1053 "grammar.y"
     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
     break;
 
   case 131:
 
 /* Line 1464 of yacc.c  */
-#line 1046 "grammar.y"
+#line 1055 "grammar.y"
     { (yyvsp[(1) - (3)].prop).issetStmt = (yyvsp[(3) - (3)].stmt); ;}
     break;
 
   case 132:
 
 /* Line 1464 of yacc.c  */
-#line 1048 "grammar.y"
+#line 1057 "grammar.y"
     { (yyvsp[(1) - (2)].prop).isWatchable = true; ;}
     break;
 
   case 133:
 
 /* Line 1464 of yacc.c  */
-#line 1050 "grammar.y"
+#line 1059 "grammar.y"
     { (yyvsp[(1) - (3)].prop).category = (yyvsp[(3) - (3)].exp); ;}
     break;
 
   case 134:
 
 /* Line 1464 of yacc.c  */
-#line 1054 "grammar.y"
+#line 1063 "grammar.y"
     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; (yyval.prop) = (yyvsp[(1) - (2)].prop); ;}
     break;
 
   case 135:
 
 /* Line 1464 of yacc.c  */
-#line 1059 "grammar.y"
+#line 1068 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), null, (yyvsp[(3) - (4)].id), null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 136:
 
 /* Line 1464 of yacc.c  */
-#line 1062 "grammar.y"
+#line 1071 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (5)].list), (yyvsp[(3) - (5)].declarator), (yyvsp[(4) - (5)].id), null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 137:
 
 /* Line 1464 of yacc.c  */
-#line 1065 "grammar.y"
+#line 1074 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (3)].list), null, null, null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 138:
 
 /* Line 1464 of yacc.c  */
-#line 1068 "grammar.y"
+#line 1077 "grammar.y"
     { (yyval.prop) = MkProperty((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].declarator), null, null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 139:
 
 /* Line 1464 of yacc.c  */
-#line 1071 "grammar.y"
+#line 1080 "grammar.y"
     { (yyval.prop) = MkProperty(null, null, null, null, null); (yyval.prop).loc = (yyloc); ;}
     break;
 
   case 141:
 
 /* Line 1464 of yacc.c  */
-#line 1077 "grammar.y"
+#line 1086 "grammar.y"
     { (yyvsp[(1) - (3)].prop).setStmt = (yyvsp[(3) - (3)].stmt); ;}
     break;
 
   case 142:
 
 /* Line 1464 of yacc.c  */
-#line 1079 "grammar.y"
+#line 1088 "grammar.y"
     { (yyvsp[(1) - (3)].prop).getStmt = (yyvsp[(3) - (3)].stmt); ;}
     break;
 
   case 143:
 
 /* Line 1464 of yacc.c  */
-#line 1083 "grammar.y"
+#line 1092 "grammar.y"
     { (yyvsp[(1) - (2)].prop).loc.end = (yylsp[(2) - (2)]).end; ;}
     break;
 
   case 144:
 
 /* Line 1464 of yacc.c  */
-#line 1088 "grammar.y"
+#line 1097 "grammar.y"
     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].id)); ;}
     break;
 
   case 145:
 
 /* Line 1464 of yacc.c  */
-#line 1090 "grammar.y"
+#line 1099 "grammar.y"
     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].id)); ;}
     break;
 
   case 146:
 
 /* Line 1464 of yacc.c  */
-#line 1095 "grammar.y"
+#line 1104 "grammar.y"
     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
     break;
 
   case 147:
 
 /* Line 1464 of yacc.c  */
-#line 1097 "grammar.y"
+#line 1106 "grammar.y"
     { (yyval.propertyWatch) = MkDeleteWatch((yyvsp[(2) - (2)].stmt)); ;}
     break;
 
   case 148:
 
 /* Line 1464 of yacc.c  */
-#line 1102 "grammar.y"
+#line 1111 "grammar.y"
     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].propertyWatch)); ;}
     break;
 
   case 149:
 
 /* Line 1464 of yacc.c  */
-#line 1104 "grammar.y"
+#line 1113 "grammar.y"
     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].propertyWatch)); ;}
     break;
 
   case 150:
 
 /* Line 1464 of yacc.c  */
-#line 1109 "grammar.y"
+#line 1118 "grammar.y"
     { (yyval.propertyWatch) = MkPropertyWatch((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); ;}
     break;
 
   case 151:
 
 /* Line 1464 of yacc.c  */
-#line 1114 "grammar.y"
+#line 1123 "grammar.y"
     { (yyval.stmt) = MkWatchStmt(null, (yyvsp[(3) - (7)].exp), (yyvsp[(6) - (7)].list)); ;}
     break;
 
   case 152:
 
 /* Line 1464 of yacc.c  */
-#line 1116 "grammar.y"
+#line 1125 "grammar.y"
     { (yyval.stmt) = MkWatchStmt((yyvsp[(1) - (9)].exp), (yyvsp[(5) - (9)].exp), (yyvsp[(8) - (9)].list)); ;}
     break;
 
   case 153:
 
 /* Line 1464 of yacc.c  */
-#line 1121 "grammar.y"
+#line 1130 "grammar.y"
     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].list)); ;}
     break;
 
   case 154:
 
 /* Line 1464 of yacc.c  */
-#line 1123 "grammar.y"
+#line 1132 "grammar.y"
     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (8)].exp), (yyvsp[(5) - (8)].exp), (yyvsp[(7) - (8)].list)); ;}
     break;
 
   case 155:
 
 /* Line 1464 of yacc.c  */
-#line 1125 "grammar.y"
+#line 1134 "grammar.y"
     { (yyval.stmt) = MkStopWatchingStmt(null, (yyvsp[(3) - (4)].exp), null); ;}
     break;
 
   case 156:
 
 /* Line 1464 of yacc.c  */
-#line 1127 "grammar.y"
+#line 1136 "grammar.y"
     { (yyval.stmt) = MkStopWatchingStmt((yyvsp[(1) - (6)].exp), (yyvsp[(5) - (6)].exp), null); ;}
     break;
 
   case 157:
 
 /* Line 1464 of yacc.c  */
-#line 1132 "grammar.y"
+#line 1141 "grammar.y"
     { (yyval.stmt) = MkFireWatchersStmt(null, null); ;}
     break;
 
   case 158:
 
 /* Line 1464 of yacc.c  */
-#line 1134 "grammar.y"
+#line 1143 "grammar.y"
     { (yyval.stmt) = MkFireWatchersStmt(null, (yyvsp[(2) - (2)].list)); ;}
     break;
 
   case 159:
 
 /* Line 1464 of yacc.c  */
-#line 1136 "grammar.y"
+#line 1145 "grammar.y"
     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (3)].exp), null); ;}
     break;
 
   case 160:
 
 /* Line 1464 of yacc.c  */
-#line 1138 "grammar.y"
+#line 1147 "grammar.y"
     { (yyval.stmt) = MkFireWatchersStmt((yyvsp[(1) - (4)].exp), (yyvsp[(4) - (4)].list)); ;}
     break;
 
   case 161:
 
 /* Line 1464 of yacc.c  */
-#line 1142 "grammar.y"
+#line 1151 "grammar.y"
     { (yyval.classDef) = (yyvsp[(1) - (2)].classDef); (yyval.classDef).loc.end = (yylsp[(2) - (2)]).end; ;}
     break;
 
   case 162:
 
 /* Line 1464 of yacc.c  */
-#line 1143 "grammar.y"
+#line 1152 "grammar.y"
     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (2)].list)); if((yyvsp[(1) - (2)].list)->last) ((MemberInit)(yyvsp[(1) - (2)].list)->last).loc.end = (yylsp[(2) - (2)]).start; (yyval.classDef).loc = (yyloc); ;}
     break;
 
   case 163:
 
 /* Line 1464 of yacc.c  */
-#line 1144 "grammar.y"
+#line 1153 "grammar.y"
     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 164:
 
 /* Line 1464 of yacc.c  */
-#line 1145 "grammar.y"
+#line 1154 "grammar.y"
     { (yyval.classDef) = MkClassDefProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 165:
 
 /* Line 1464 of yacc.c  */
-#line 1146 "grammar.y"
+#line 1155 "grammar.y"
     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
     break;
 
   case 166:
 
 /* Line 1464 of yacc.c  */
-#line 1147 "grammar.y"
+#line 1156 "grammar.y"
     { (yyval.classDef) = MkClassDefProperty((yyvsp[(2) - (2)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
     break;
 
   case 167:
 
 /* Line 1464 of yacc.c  */
-#line 1148 "grammar.y"
+#line 1157 "grammar.y"
     { (yyval.classDef) = MkClassDefClassProperty((yyvsp[(1) - (1)].prop)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
     break;
 
   case 168:
 
 /* Line 1464 of yacc.c  */
-#line 1149 "grammar.y"
+#line 1158 "grammar.y"
     { (yyval.classDef) = null; deleteWatchable = true; ;}
     break;
 
   case 169:
 
 /* Line 1464 of yacc.c  */
-#line 1150 "grammar.y"
+#line 1159 "grammar.y"
     { (yyval.classDef) = MkClassDefNoExpansion(); ;}
     break;
 
   case 170:
 
 /* Line 1464 of yacc.c  */
-#line 1151 "grammar.y"
+#line 1160 "grammar.y"
     { (yyval.classDef) = MkClassDefFixed(); ;}
     break;
 
   case 171:
 
 /* Line 1464 of yacc.c  */
-#line 1152 "grammar.y"
+#line 1161 "grammar.y"
     { (yyval.classDef) = MkClassDefClassPropertyValue((yyvsp[(3) - (7)].id), (yyvsp[(6) - (7)].initializer)); (yyval.classDef).loc = (yyloc); ;}
     break;
 
   case 172:
 
 /* Line 1464 of yacc.c  */
-#line 1154 "grammar.y"
+#line 1163 "grammar.y"
     { (yyval.classDef) = null; ;}
     break;
 
   case 173:
 
 /* Line 1464 of yacc.c  */
-#line 1155 "grammar.y"
+#line 1164 "grammar.y"
     { memberAccessStack[defaultMemberAccess] = (yyvsp[(1) - (2)].declMode); if(defaultMemberAccess == 0) { (yyval.classDef) = MkClassDefMemberAccess(); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); (yyval.classDef).loc = (yyloc); } else (yyval.classDef) = null; ;}
     break;
 
   case 174:
 
 /* Line 1464 of yacc.c  */
-#line 1157 "grammar.y"
+#line 1166 "grammar.y"
     { (yyval.classDef) = MkClassDefAccessOverride((yyvsp[(1) - (4)].declMode), (yyvsp[(3) - (4)].id)); (yyval.classDef).loc = (yyloc); ;}
     break;
 
   case 175:
 
 /* Line 1464 of yacc.c  */
-#line 1161 "grammar.y"
+#line 1170 "grammar.y"
     { (yyval.classDef) = MkClassDefFunction((yyvsp[(1) - (1)].classFunction)); (yyval.classDef).loc = (yyvsp[(1) - (1)].classFunction).loc;  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 176:
 
 /* Line 1464 of yacc.c  */
-#line 1164 "grammar.y"
+#line 1173 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (1)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 177:
 
 /* Line 1464 of yacc.c  */
-#line 1165 "grammar.y"
+#line 1174 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 178:
 
 /* Line 1464 of yacc.c  */
-#line 1166 "grammar.y"
+#line 1175 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
     break;
 
   case 179:
 
 /* Line 1464 of yacc.c  */
-#line 1167 "grammar.y"
+#line 1176 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkStructDeclaration((yyvsp[(2) - (2)].list), null, null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
     break;
 
   case 180:
 
 /* Line 1464 of yacc.c  */
-#line 1168 "grammar.y"
+#line 1177 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
     break;
 
   case 181:
 
 /* Line 1464 of yacc.c  */
-#line 1169 "grammar.y"
+#line 1178 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (2)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
     break;
 
   case 182:
 
 /* Line 1464 of yacc.c  */
-#line 1170 "grammar.y"
+#line 1179 "grammar.y"
     { (yyval.classDef) = MkClassDefClassData(MkStructDeclaration((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].list), null)); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).loc = (yyloc); ;}
     break;
 
   case 183:
 
 /* Line 1464 of yacc.c  */
-#line 1171 "grammar.y"
+#line 1180 "grammar.y"
     { (yyval.classDef) = MkClassDefPropertyWatch((yyvsp[(1) - (1)].propertyWatch)); (yyval.classDef).loc = (yyloc); globalContext.nextID++; ;}
     break;
 
   case 184:
 
 /* Line 1464 of yacc.c  */
-#line 1172 "grammar.y"
+#line 1181 "grammar.y"
     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
     break;
 
   case 185:
 
 /* Line 1464 of yacc.c  */
-#line 1173 "grammar.y"
+#line 1182 "grammar.y"
     { (yyval.classDef) = MkClassDefDesigner((yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 186:
 
 /* Line 1464 of yacc.c  */
-#line 1174 "grammar.y"
+#line 1183 "grammar.y"
     { (yyval.classDef) = MkClassDefDesignerDefaultProperty((yyvsp[(2) - (2)].id)); ;}
     break;
 
   case 187:
 
 /* Line 1464 of yacc.c  */
-#line 1175 "grammar.y"
+#line 1184 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 188:
 
 /* Line 1464 of yacc.c  */
-#line 1176 "grammar.y"
+#line 1185 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (1)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyloc); (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 189:
 
 /* Line 1464 of yacc.c  */
-#line 1177 "grammar.y"
+#line 1186 "grammar.y"
     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); if((yyvsp[(1) - (1)].list)->last) ((MemberInit)(yyvsp[(1) - (1)].list)->last).loc.end = (yylsp[(1) - (1)]).end; (yyval.classDef).loc = (yyloc); ;}
     break;
 
   case 190:
 
 /* Line 1464 of yacc.c  */
-#line 1179 "grammar.y"
+#line 1188 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 191:
 
 /* Line 1464 of yacc.c  */
-#line 1180 "grammar.y"
+#line 1189 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(1) - (2)].instance))); (yyval.classDef).loc = (yyvsp[(1) - (2)].instance).loc; (yyval.classDef).decl.loc = (yyval.classDef).loc;  (yyval.classDef).memberAccess = memberAccessStack[defaultMemberAccess]; ;}
     break;
 
   case 192:
 
 /* Line 1464 of yacc.c  */
-#line 1184 "grammar.y"
+#line 1193 "grammar.y"
     { (yyval.classDef) = MkClassDefFunction((yyvsp[(2) - (2)].classFunction)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; (yyval.classDef).memberAccess = (yyvsp[(1) - (2)].declMode); ;}
     break;
 
   case 193:
 
 /* Line 1464 of yacc.c  */
-#line 1185 "grammar.y"
+#line 1194 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
     break;
 
   case 194:
 
 /* Line 1464 of yacc.c  */
-#line 1186 "grammar.y"
+#line 1195 "grammar.y"
     { (yyval.classDef) = MkClassDefDeclaration(MkDeclarationClassInst((yyvsp[(2) - (3)].instance))); (yyval.classDef).loc = (yyloc); (yyval.classDef).decl.loc = (yyval.classDef).loc; (yyval.classDef).memberAccess = (yyvsp[(1) - (3)].declMode); ;}
     break;
 
   case 195:
 
 /* Line 1464 of yacc.c  */
-#line 1190 "grammar.y"
+#line 1199 "grammar.y"
     { (yyval.classDef) = MkClassDefDefaultProperty((yyvsp[(1) - (1)].list)); (yyval.classDef).loc = (yyloc);  (yyval.classDef).loc.end.charPos++; (yyval.classDef).loc.end.pos++; ;}
     break;
 
   case 196:
 
 /* Line 1464 of yacc.c  */
-#line 1194 "grammar.y"
+#line 1203 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
     break;
 
   case 197:
 
 /* Line 1464 of yacc.c  */
-#line 1195 "grammar.y"
+#line 1204 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
     break;
 
   case 198:
 
 /* Line 1464 of yacc.c  */
-#line 1196 "grammar.y"
+#line 1205 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].classDef)); ;}
     break;
 
   case 199:
 
 /* Line 1464 of yacc.c  */
-#line 1200 "grammar.y"
+#line 1209 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].classDef)); ;}
     break;
 
   case 202:
 
 /* Line 1464 of yacc.c  */
-#line 1203 "grammar.y"
+#line 1212 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
     break;
 
   case 203:
 
 /* Line 1464 of yacc.c  */
-#line 1204 "grammar.y"
+#line 1213 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyval.list), (yyvsp[(2) - (2)].classDef)); ;}
     break;
 
   case 204:
 
 /* Line 1464 of yacc.c  */
-#line 1208 "grammar.y"
+#line 1217 "grammar.y"
     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (1)].list), null); ;}
     break;
 
   case 205:
 
 /* Line 1464 of yacc.c  */
-#line 1209 "grammar.y"
+#line 1218 "grammar.y"
     { (yyval.templateDatatype) = MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 206:
 
 /* Line 1464 of yacc.c  */
-#line 1221 "grammar.y"
+#line 1230 "grammar.y"
     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (1)].list), null)); ;}
     break;
 
   case 207:
 
 /* Line 1464 of yacc.c  */
-#line 1222 "grammar.y"
+#line 1231 "grammar.y"
     { (yyval.templateArgument) = MkTemplateTypeArgument(MkTemplateDatatype((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator))); ;}
     break;
 
   case 208:
 
 /* Line 1464 of yacc.c  */
-#line 1226 "grammar.y"
+#line 1235 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (2)].id), null, null); ;}
     break;
 
   case 209:
 
 /* Line 1464 of yacc.c  */
-#line 1227 "grammar.y"
+#line 1236 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), null, (yyvsp[(4) - (4)].templateArgument)); ;}
     break;
 
   case 210:
 
 /* Line 1464 of yacc.c  */
-#line 1228 "grammar.y"
+#line 1237 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].templateDatatype), null); ;}
     break;
 
   case 211:
 
 /* Line 1464 of yacc.c  */
-#line 1229 "grammar.y"
+#line 1238 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
     break;
 
   case 212:
 
 /* Line 1464 of yacc.c  */
-#line 1230 "grammar.y"
+#line 1239 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (2)].string)), null, null); delete (yyvsp[(2) - (2)].string); ;}
     break;
 
   case 213:
 
 /* Line 1464 of yacc.c  */
-#line 1231 "grammar.y"
+#line 1240 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), null, (yyvsp[(4) - (4)].templateArgument)); ;}
     break;
 
   case 214:
 
 /* Line 1464 of yacc.c  */
-#line 1232 "grammar.y"
+#line 1241 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (4)].string)), (yyvsp[(4) - (4)].templateDatatype), null); ;}
     break;
 
   case 215:
 
 /* Line 1464 of yacc.c  */
-#line 1233 "grammar.y"
+#line 1242 "grammar.y"
     { (yyval.templateParameter) = MkTypeTemplateParameter(MkIdentifier((yyvsp[(2) - (6)].string)), (yyvsp[(4) - (6)].templateDatatype), (yyvsp[(6) - (6)].templateArgument)); ;}
     break;
 
   case 216:
 
 /* Line 1464 of yacc.c  */
-#line 1237 "grammar.y"
+#line 1246 "grammar.y"
     { (yyval.templateArgument) = MkTemplateIdentifierArgument((yyvsp[(1) - (1)].id)); ;}
     break;
 
   case 217:
 
 /* Line 1464 of yacc.c  */
-#line 1241 "grammar.y"
+#line 1250 "grammar.y"
     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (1)].id), dataMember, null); ;}
     break;
 
   case 218:
 
 /* Line 1464 of yacc.c  */
-#line 1242 "grammar.y"
+#line 1251 "grammar.y"
     { (yyval.templateParameter) = MkIdentifierTemplateParameter((yyvsp[(1) - (3)].id), dataMember, (yyvsp[(3) - (3)].templateArgument)); ;}
     break;
 
   case 219:
 
 /* Line 1464 of yacc.c  */
-#line 1246 "grammar.y"
+#line 1255 "grammar.y"
     { (yyval.templateArgument) = MkTemplateExpressionArgument((yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 220:
 
 /* Line 1464 of yacc.c  */
-#line 1254 "grammar.y"
+#line 1263 "grammar.y"
     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(2) - (4)].id), MkTemplateDatatype((yyvsp[(1) - (4)].list), null), (yyvsp[(4) - (4)].templateArgument)); ;}
     break;
 
   case 221:
 
 /* Line 1464 of yacc.c  */
-#line 1255 "grammar.y"
+#line 1264 "grammar.y"
     { (yyval.templateParameter) = MkExpressionTemplateParameter((yyvsp[(3) - (5)].id), MkTemplateDatatype((yyvsp[(1) - (5)].list), (yyvsp[(2) - (5)].declarator)), (yyvsp[(5) - (5)].templateArgument)); ;}
     break;
 
   case 225:
 
 /* Line 1464 of yacc.c  */
-#line 1265 "grammar.y"
+#line 1274 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateParameter)); ;}
     break;
 
   case 226:
 
 /* Line 1464 of yacc.c  */
-#line 1266 "grammar.y"
+#line 1275 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateParameter)); ;}
     break;
 
   case 230:
 
 /* Line 1464 of yacc.c  */
-#line 1273 "grammar.y"
+#line 1282 "grammar.y"
     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
     break;
 
   case 231:
 
 /* Line 1464 of yacc.c  */
-#line 1274 "grammar.y"
+#line 1283 "grammar.y"
     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
     break;
 
   case 232:
 
 /* Line 1464 of yacc.c  */
-#line 1275 "grammar.y"
+#line 1284 "grammar.y"
     { (yyval.templateArgument) = (yyvsp[(3) - (3)].templateArgument); (yyval.templateArgument).name = (yyvsp[(1) - (3)].id); (yyval.templateArgument).loc = (yyloc); ;}
     break;
 
   case 233:
 
 /* Line 1464 of yacc.c  */
-#line 1315 "grammar.y"
+#line 1324 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].templateArgument)); ;}
     break;
 
   case 234:
 
 /* Line 1464 of yacc.c  */
-#line 1316 "grammar.y"
+#line 1325 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].templateArgument)); ;}
     break;
 
   case 235:
 
 /* Line 1464 of yacc.c  */
-#line 1321 "grammar.y"
+#line 1330 "grammar.y"
     {
       if(curContext != globalContext)
          PopContext(curContext);
@@ -15201,14 +15210,14 @@ yyreduce:
   case 236:
 
 /* Line 1464 of yacc.c  */
-#line 1328 "grammar.y"
+#line 1337 "grammar.y"
     { (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); FreeIdentifier((yyvsp[(2) - (2)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (2)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 237:
 
 /* Line 1464 of yacc.c  */
-#line 1330 "grammar.y"
+#line 1339 "grammar.y"
     {
       (yyvsp[(1) - (2)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name);
       (yyval.symbol).nameLoc = (yylsp[(2) - (2)]);
@@ -15221,28 +15230,28 @@ yyreduce:
   case 238:
 
 /* Line 1464 of yacc.c  */
-#line 1337 "grammar.y"
+#line 1346 "grammar.y"
     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (3)].id).string); FreeIdentifier((yyvsp[(1) - (3)].id)); FreeIdentifier((yyvsp[(3) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 239:
 
 /* Line 1464 of yacc.c  */
-#line 1338 "grammar.y"
+#line 1347 "grammar.y"
     { (yyvsp[(2) - (3)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (3)].specifier).name); FreeIdentifier((yyvsp[(1) - (3)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (3)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (3)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 240:
 
 /* Line 1464 of yacc.c  */
-#line 1340 "grammar.y"
+#line 1349 "grammar.y"
     { (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (5)].id).string); (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list); FreeIdentifier((yyvsp[(2) - (5)].id)); (yyval.symbol).nameLoc = (yylsp[(2) - (5)]); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 241:
 
 /* Line 1464 of yacc.c  */
-#line 1342 "grammar.y"
+#line 1351 "grammar.y"
     {
       (yyvsp[(1) - (5)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(2) - (5)].specifier).name);
       (yyval.symbol).templateParams = (yyvsp[(4) - (5)].list);
@@ -15256,21 +15265,21 @@ yyreduce:
   case 242:
 
 /* Line 1464 of yacc.c  */
-#line 1350 "grammar.y"
+#line 1359 "grammar.y"
     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 243:
 
 /* Line 1464 of yacc.c  */
-#line 1351 "grammar.y"
+#line 1360 "grammar.y"
     { (yyvsp[(2) - (6)].context); (yyval.symbol) = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); (yyval.symbol).templateParams = (yyvsp[(5) - (6)].list); FreeIdentifier((yyvsp[(1) - (6)].id)); (yyval.symbol).nameLoc = (yylsp[(3) - (6)]); (yyval.symbol).isRemote = true; FreeSpecifier((yyvsp[(3) - (6)].specifier)); memberAccessStack[++defaultMemberAccess] = privateAccess; ;}
     break;
 
   case 244:
 
 /* Line 1464 of yacc.c  */
-#line 1356 "grammar.y"
+#line 1365 "grammar.y"
     {
          (yyval._class).loc = (yyloc);
          (yyval._class) = (yyvsp[(1) - (2)]._class);
@@ -15280,7 +15289,7 @@ yyreduce:
   case 245:
 
 /* Line 1464 of yacc.c  */
-#line 1363 "grammar.y"
+#line 1372 "grammar.y"
     {
          (yyval._class) = (yyvsp[(1) - (2)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (2)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15291,7 +15300,7 @@ yyreduce:
   case 246:
 
 /* Line 1464 of yacc.c  */
-#line 1370 "grammar.y"
+#line 1379 "grammar.y"
     {
          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15302,7 +15311,7 @@ yyreduce:
   case 247:
 
 /* Line 1464 of yacc.c  */
-#line 1376 "grammar.y"
+#line 1385 "grammar.y"
     {
          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15313,7 +15322,7 @@ yyreduce:
   case 248:
 
 /* Line 1464 of yacc.c  */
-#line 1383 "grammar.y"
+#line 1392 "grammar.y"
     {
          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClassAddNameSpace(0, (yyvsp[(2) - (3)].id).string), null, null); FreeIdentifier((yyvsp[(2) - (3)].id));
          POP_DEFAULT_ACCESS
@@ -15324,7 +15333,7 @@ yyreduce:
   case 249:
 
 /* Line 1464 of yacc.c  */
-#line 1389 "grammar.y"
+#line 1398 "grammar.y"
     {
          (yyvsp[(1) - (3)].context); (yyval._class) = MkClass(DeclClass(0, (yyvsp[(2) - (3)].specifier).name), null, null); FreeSpecifier((yyvsp[(2) - (3)].specifier));
          POP_DEFAULT_ACCESS
@@ -15335,7 +15344,7 @@ yyreduce:
   case 250:
 
 /* Line 1464 of yacc.c  */
-#line 1398 "grammar.y"
+#line 1407 "grammar.y"
     {
          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), (yyvsp[(3) - (3)].list), null);
       ;}
@@ -15344,7 +15353,7 @@ yyreduce:
   case 251:
 
 /* Line 1464 of yacc.c  */
-#line 1405 "grammar.y"
+#line 1414 "grammar.y"
     {
          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15355,7 +15364,7 @@ yyreduce:
   case 252:
 
 /* Line 1464 of yacc.c  */
-#line 1411 "grammar.y"
+#line 1420 "grammar.y"
     {
          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15366,7 +15375,7 @@ yyreduce:
   case 253:
 
 /* Line 1464 of yacc.c  */
-#line 1417 "grammar.y"
+#line 1426 "grammar.y"
     {
          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, (yyvsp[(3) - (3)].list)); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]); (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15377,7 +15386,7 @@ yyreduce:
   case 254:
 
 /* Line 1464 of yacc.c  */
-#line 1423 "grammar.y"
+#line 1432 "grammar.y"
     {
          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = (yyvsp[(3) - (3)].list); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15388,7 +15397,7 @@ yyreduce:
   case 255:
 
 /* Line 1464 of yacc.c  */
-#line 1429 "grammar.y"
+#line 1438 "grammar.y"
     {
          (yyval._class) = MkClass((yyvsp[(1) - (3)].symbol), null, MkList()); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15399,7 +15408,7 @@ yyreduce:
   case 256:
 
 /* Line 1464 of yacc.c  */
-#line 1435 "grammar.y"
+#line 1444 "grammar.y"
     {
          (yyval._class) = (yyvsp[(1) - (3)]._class); (yyval._class).definitions = MkList(); (yyval._class).deleteWatchable = deleteWatchable; deleteWatchable = false; (yyval._class).blockStart = (yylsp[(2) - (3)]);  (yyval._class).loc = (yyloc); (yyval._class).loc.end.charPos++; (yyval._class).loc.end.pos++; (yyval._class).endid = globalContext.nextID++;
          POP_DEFAULT_ACCESS
@@ -15410,91 +15419,91 @@ yyreduce:
   case 257:
 
 /* Line 1464 of yacc.c  */
-#line 1446 "grammar.y"
+#line 1455 "grammar.y"
     { (yyval.id) = MkIdentifier(yytext); (yyval.id).loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 259:
 
 /* Line 1464 of yacc.c  */
-#line 1452 "grammar.y"
+#line 1461 "grammar.y"
     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 260:
 
 /* Line 1464 of yacc.c  */
-#line 1456 "grammar.y"
+#line 1465 "grammar.y"
     { (yyval.exp) = MkExpString((yyvsp[(1) - (1)].string)); delete (yyvsp[(1) - (1)].string); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 261:
 
 /* Line 1464 of yacc.c  */
-#line 1457 "grammar.y"
+#line 1466 "grammar.y"
     { (yyval.exp) = MkExpIntlString((yyvsp[(2) - (2)].string), null); delete (yyvsp[(2) - (2)].string); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 262:
 
 /* Line 1464 of yacc.c  */
-#line 1458 "grammar.y"
+#line 1467 "grammar.y"
     { (yyval.exp) = MkExpIntlString((yyvsp[(4) - (4)].string), (yyvsp[(2) - (4)].string)); delete (yyvsp[(2) - (4)].string); delete (yyvsp[(4) - (4)].string); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 263:
 
 /* Line 1464 of yacc.c  */
-#line 1462 "grammar.y"
+#line 1471 "grammar.y"
     { (yyval.exp) = MkExpConstant(yytext); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 264:
 
 /* Line 1464 of yacc.c  */
-#line 1466 "grammar.y"
+#line 1475 "grammar.y"
     { (yyval.exp) = MkExpIdentifier((yyvsp[(1) - (1)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 265:
 
 /* Line 1464 of yacc.c  */
-#line 1467 "grammar.y"
+#line 1476 "grammar.y"
     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 266:
 
 /* Line 1464 of yacc.c  */
-#line 1468 "grammar.y"
+#line 1477 "grammar.y"
     { (yyval.exp) = MkExpExtensionCompound((yyvsp[(3) - (4)].stmt)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 267:
 
 /* Line 1464 of yacc.c  */
-#line 1469 "grammar.y"
+#line 1478 "grammar.y"
     { (yyval.exp) = MkExpExtensionExpression((yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 268:
 
 /* Line 1464 of yacc.c  */
-#line 1470 "grammar.y"
+#line 1479 "grammar.y"
     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (5)].typeName), (yyvsp[(5) - (5)].initializer)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 269:
 
 /* Line 1464 of yacc.c  */
-#line 1471 "grammar.y"
+#line 1480 "grammar.y"
     { (yyval.exp) = MkExpExtensionInitializer((yyvsp[(3) - (8)].typeName), MkInitializerAssignment(MkExpExtensionInitializer((yyvsp[(6) - (8)].typeName), (yyvsp[(8) - (8)].initializer)))); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 270:
 
 /* Line 1464 of yacc.c  */
-#line 1473 "grammar.y"
+#line 1482 "grammar.y"
     {
       char * constant = (yyvsp[(1) - (2)].exp).constant;
       int len = strlen(constant);
@@ -15512,756 +15521,756 @@ yyreduce:
   case 271:
 
 /* Line 1464 of yacc.c  */
-#line 1485 "grammar.y"
+#line 1494 "grammar.y"
     { (yyval.exp) = (yyvsp[(1) - (1)].exp); ;}
     break;
 
   case 273:
 
 /* Line 1464 of yacc.c  */
-#line 1487 "grammar.y"
+#line 1496 "grammar.y"
     { Expression exp = MkExpDummy(); exp.loc.start = (yylsp[(1) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).start; (yyval.exp) = MkExpBrackets(MkListOne(exp)); (yyval.exp).loc = (yyloc); yyerror(); ;}
     break;
 
   case 274:
 
 /* Line 1464 of yacc.c  */
-#line 1488 "grammar.y"
+#line 1497 "grammar.y"
     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 275:
 
 /* Line 1464 of yacc.c  */
-#line 1489 "grammar.y"
+#line 1498 "grammar.y"
     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 276:
 
 /* Line 1464 of yacc.c  */
-#line 1490 "grammar.y"
+#line 1499 "grammar.y"
     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 277:
 
 /* Line 1464 of yacc.c  */
-#line 1491 "grammar.y"
+#line 1500 "grammar.y"
     { (yyval.exp) = MkExpNew(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 278:
 
 /* Line 1464 of yacc.c  */
-#line 1492 "grammar.y"
+#line 1501 "grammar.y"
     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 279:
 
 /* Line 1464 of yacc.c  */
-#line 1493 "grammar.y"
+#line 1502 "grammar.y"
     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (6)].list),(yyvsp[(3) - (6)].declarator)), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 280:
 
 /* Line 1464 of yacc.c  */
-#line 1494 "grammar.y"
+#line 1503 "grammar.y"
     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 281:
 
 /* Line 1464 of yacc.c  */
-#line 1495 "grammar.y"
+#line 1504 "grammar.y"
     { (yyval.exp) = MkExpNew0(MkTypeName((yyvsp[(2) - (5)].list),null), (yyvsp[(4) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 282:
 
 /* Line 1464 of yacc.c  */
-#line 1496 "grammar.y"
+#line 1505 "grammar.y"
     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 283:
 
 /* Line 1464 of yacc.c  */
-#line 1497 "grammar.y"
+#line 1506 "grammar.y"
     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 284:
 
 /* Line 1464 of yacc.c  */
-#line 1498 "grammar.y"
+#line 1507 "grammar.y"
     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 285:
 
 /* Line 1464 of yacc.c  */
-#line 1499 "grammar.y"
+#line 1508 "grammar.y"
     { (yyval.exp) = MkExpRenew((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 286:
 
 /* Line 1464 of yacc.c  */
-#line 1500 "grammar.y"
+#line 1509 "grammar.y"
     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 287:
 
 /* Line 1464 of yacc.c  */
-#line 1501 "grammar.y"
+#line 1510 "grammar.y"
     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (7)].exp), MkTypeName((yyvsp[(3) - (7)].list),(yyvsp[(4) - (7)].declarator)), (yyvsp[(6) - (7)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 288:
 
 /* Line 1464 of yacc.c  */
-#line 1502 "grammar.y"
+#line 1511 "grammar.y"
     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 289:
 
 /* Line 1464 of yacc.c  */
-#line 1503 "grammar.y"
+#line 1512 "grammar.y"
     { (yyval.exp) = MkExpRenew0((yyvsp[(2) - (6)].exp), MkTypeName((yyvsp[(3) - (6)].list),null), (yyvsp[(5) - (6)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 290:
 
 /* Line 1464 of yacc.c  */
-#line 1504 "grammar.y"
+#line 1513 "grammar.y"
     { (yyval.exp) = MkExpClass((yyvsp[(3) - (4)].list), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 291:
 
 /* Line 1464 of yacc.c  */
-#line 1505 "grammar.y"
+#line 1514 "grammar.y"
     { (yyval.exp) = MkExpClass((yyvsp[(3) - (5)].list), (yyvsp[(4) - (5)].declarator)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 292:
 
 /* Line 1464 of yacc.c  */
-#line 1506 "grammar.y"
+#line 1515 "grammar.y"
     { (yyval.exp) = MkExpClass(MkListOne(MkSpecifierName((yyvsp[(3) - (4)].id).string)), null); FreeIdentifier((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 293:
 
 /* Line 1464 of yacc.c  */
-#line 1507 "grammar.y"
+#line 1516 "grammar.y"
     { (yyval.exp) = MkExpVaArg((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].typeName)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 294:
 
 /* Line 1464 of yacc.c  */
-#line 1509 "grammar.y"
+#line 1518 "grammar.y"
     { (yyval.exp) = MkExpClassData((yyvsp[(3) - (4)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 299:
 
 /* Line 1464 of yacc.c  */
-#line 1515 "grammar.y"
+#line 1524 "grammar.y"
     { (yyval.exp) = MkExpArray((yyvsp[(2) - (3)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 300:
 
 /* Line 1464 of yacc.c  */
-#line 1516 "grammar.y"
+#line 1525 "grammar.y"
     { (yyval.exp) = MkExpArray(null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 301:
 
 /* Line 1464 of yacc.c  */
-#line 1520 "grammar.y"
+#line 1529 "grammar.y"
     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (1)].instance)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 302:
 
 /* Line 1464 of yacc.c  */
-#line 1524 "grammar.y"
+#line 1533 "grammar.y"
     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 303:
 
 /* Line 1464 of yacc.c  */
-#line 1528 "grammar.y"
+#line 1537 "grammar.y"
     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 304:
 
 /* Line 1464 of yacc.c  */
-#line 1529 "grammar.y"
+#line 1538 "grammar.y"
     { (yyval.exp) = MkExpBrackets((yyvsp[(2) - (2)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 306:
 
 /* Line 1464 of yacc.c  */
-#line 1535 "grammar.y"
+#line 1544 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 307:
 
 /* Line 1464 of yacc.c  */
-#line 1536 "grammar.y"
+#line 1545 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 308:
 
 /* Line 1464 of yacc.c  */
-#line 1537 "grammar.y"
+#line 1546 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 309:
 
 /* Line 1464 of yacc.c  */
-#line 1538 "grammar.y"
+#line 1547 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 310:
 
 /* Line 1464 of yacc.c  */
-#line 1539 "grammar.y"
+#line 1548 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); if((yyvsp[(3) - (4)].list)->last) ((Expression)(yyvsp[(3) - (4)].list)->last).loc.end = (yylsp[(4) - (4)]).start; ;}
     break;
 
   case 311:
 
 /* Line 1464 of yacc.c  */
-#line 1540 "grammar.y"
+#line 1549 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 312:
 
 /* Line 1464 of yacc.c  */
-#line 1541 "grammar.y"
+#line 1550 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 313:
 
 /* Line 1464 of yacc.c  */
-#line 1542 "grammar.y"
+#line 1551 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 314:
 
 /* Line 1464 of yacc.c  */
-#line 1543 "grammar.y"
+#line 1552 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 315:
 
 /* Line 1464 of yacc.c  */
-#line 1545 "grammar.y"
+#line 1554 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 316:
 
 /* Line 1464 of yacc.c  */
-#line 1546 "grammar.y"
+#line 1555 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 317:
 
 /* Line 1464 of yacc.c  */
-#line 1547 "grammar.y"
+#line 1556 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 318:
 
 /* Line 1464 of yacc.c  */
-#line 1548 "grammar.y"
+#line 1557 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end;(yyval.exp).loc = (yyloc); ;}
     break;
 
   case 319:
 
 /* Line 1464 of yacc.c  */
-#line 1549 "grammar.y"
+#line 1558 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 320:
 
 /* Line 1464 of yacc.c  */
-#line 1550 "grammar.y"
+#line 1559 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 321:
 
 /* Line 1464 of yacc.c  */
-#line 1551 "grammar.y"
+#line 1560 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 322:
 
 /* Line 1464 of yacc.c  */
-#line 1552 "grammar.y"
+#line 1561 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 324:
 
 /* Line 1464 of yacc.c  */
-#line 1558 "grammar.y"
+#line 1567 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 325:
 
 /* Line 1464 of yacc.c  */
-#line 1559 "grammar.y"
+#line 1568 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 326:
 
 /* Line 1464 of yacc.c  */
-#line 1560 "grammar.y"
+#line 1569 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 327:
 
 /* Line 1464 of yacc.c  */
-#line 1561 "grammar.y"
+#line 1570 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 328:
 
 /* Line 1464 of yacc.c  */
-#line 1562 "grammar.y"
+#line 1571 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end; (yyval.exp).loc = (yyloc); if((yyvsp[(3) - (4)].list)->last) ((Expression)(yyvsp[(3) - (4)].list)->last).loc.end = (yylsp[(4) - (4)]).start; ;}
     break;
 
   case 329:
 
 /* Line 1464 of yacc.c  */
-#line 1563 "grammar.y"
+#line 1572 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 330:
 
 /* Line 1464 of yacc.c  */
-#line 1564 "grammar.y"
+#line 1573 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 331:
 
 /* Line 1464 of yacc.c  */
-#line 1565 "grammar.y"
+#line 1574 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 332:
 
 /* Line 1464 of yacc.c  */
-#line 1566 "grammar.y"
+#line 1575 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 333:
 
 /* Line 1464 of yacc.c  */
-#line 1568 "grammar.y"
+#line 1577 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 334:
 
 /* Line 1464 of yacc.c  */
-#line 1569 "grammar.y"
+#line 1578 "grammar.y"
     { (yyval.exp) = MkExpIndex((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 335:
 
 /* Line 1464 of yacc.c  */
-#line 1570 "grammar.y"
+#line 1579 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), MkList()); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 336:
 
 /* Line 1464 of yacc.c  */
-#line 1571 "grammar.y"
+#line 1580 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (4)]).start; (yyval.exp).call.argLoc.end = (yylsp[(4) - (4)]).end;(yyval.exp).loc = (yyloc); ;}
     break;
 
   case 337:
 
 /* Line 1464 of yacc.c  */
-#line 1572 "grammar.y"
+#line 1581 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 338:
 
 /* Line 1464 of yacc.c  */
-#line 1573 "grammar.y"
+#line 1582 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].id)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 339:
 
 /* Line 1464 of yacc.c  */
-#line 1574 "grammar.y"
+#line 1583 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), INC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 340:
 
 /* Line 1464 of yacc.c  */
-#line 1575 "grammar.y"
+#line 1584 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), DEC_OP, null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 341:
 
 /* Line 1464 of yacc.c  */
-#line 1579 "grammar.y"
+#line 1588 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 342:
 
 /* Line 1464 of yacc.c  */
-#line 1580 "grammar.y"
+#line 1589 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 343:
 
 /* Line 1464 of yacc.c  */
-#line 1581 "grammar.y"
+#line 1590 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
     break;
 
   case 344:
 
 /* Line 1464 of yacc.c  */
-#line 1582 "grammar.y"
+#line 1591 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
     break;
 
   case 345:
 
 /* Line 1464 of yacc.c  */
-#line 1586 "grammar.y"
+#line 1595 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 346:
 
 /* Line 1464 of yacc.c  */
-#line 1587 "grammar.y"
+#line 1596 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 347:
 
 /* Line 1464 of yacc.c  */
-#line 1588 "grammar.y"
+#line 1597 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
     break;
 
   case 348:
 
 /* Line 1464 of yacc.c  */
-#line 1589 "grammar.y"
+#line 1598 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp));  ;}
     break;
 
   case 349:
 
 /* Line 1464 of yacc.c  */
-#line 1590 "grammar.y"
+#line 1599 "grammar.y"
     { Expression exp = MkExpDummy(); exp.loc.start = (yylsp[(2) - (2)]).end; exp.loc.end = (yylsp[(2) - (2)]).end; (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), exp); ;}
     break;
 
   case 350:
 
 /* Line 1464 of yacc.c  */
-#line 1594 "grammar.y"
+#line 1603 "grammar.y"
     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 351:
 
 /* Line 1464 of yacc.c  */
-#line 1595 "grammar.y"
+#line 1604 "grammar.y"
     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 352:
 
 /* Line 1464 of yacc.c  */
-#line 1596 "grammar.y"
+#line 1605 "grammar.y"
     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 353:
 
 /* Line 1464 of yacc.c  */
-#line 1597 "grammar.y"
+#line 1606 "grammar.y"
     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 354:
 
 /* Line 1464 of yacc.c  */
-#line 1598 "grammar.y"
+#line 1607 "grammar.y"
     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 355:
 
 /* Line 1464 of yacc.c  */
-#line 1599 "grammar.y"
+#line 1608 "grammar.y"
     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 356:
 
 /* Line 1464 of yacc.c  */
-#line 1600 "grammar.y"
+#line 1609 "grammar.y"
     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 357:
 
 /* Line 1464 of yacc.c  */
-#line 1601 "grammar.y"
+#line 1610 "grammar.y"
     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 358:
 
 /* Line 1464 of yacc.c  */
-#line 1602 "grammar.y"
+#line 1611 "grammar.y"
     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (5)].specifier)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 359:
 
 /* Line 1464 of yacc.c  */
-#line 1604 "grammar.y"
+#line 1613 "grammar.y"
     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 360:
 
 /* Line 1464 of yacc.c  */
-#line 1605 "grammar.y"
+#line 1614 "grammar.y"
     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 361:
 
 /* Line 1464 of yacc.c  */
-#line 1606 "grammar.y"
+#line 1615 "grammar.y"
     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (4)].typeName)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 366:
 
 /* Line 1464 of yacc.c  */
-#line 1620 "grammar.y"
+#line 1629 "grammar.y"
     { (yyval.i) = '&'; ;}
     break;
 
   case 367:
 
 /* Line 1464 of yacc.c  */
-#line 1621 "grammar.y"
+#line 1630 "grammar.y"
     { (yyval.i) = '*'; ;}
     break;
 
   case 368:
 
 /* Line 1464 of yacc.c  */
-#line 1622 "grammar.y"
+#line 1631 "grammar.y"
     { (yyval.i) = '+'; ;}
     break;
 
   case 369:
 
 /* Line 1464 of yacc.c  */
-#line 1623 "grammar.y"
+#line 1632 "grammar.y"
     { (yyval.i) = '-'; ;}
     break;
 
   case 370:
 
 /* Line 1464 of yacc.c  */
-#line 1624 "grammar.y"
+#line 1633 "grammar.y"
     { (yyval.i) = '~'; ;}
     break;
 
   case 371:
 
 /* Line 1464 of yacc.c  */
-#line 1625 "grammar.y"
+#line 1634 "grammar.y"
     { (yyval.i) = '!'; ;}
     break;
 
   case 372:
 
 /* Line 1464 of yacc.c  */
-#line 1626 "grammar.y"
+#line 1635 "grammar.y"
     { (yyval.i) = DELETE; ;}
     break;
 
   case 373:
 
 /* Line 1464 of yacc.c  */
-#line 1627 "grammar.y"
+#line 1636 "grammar.y"
     { (yyval.i) = _INCREF; ;}
     break;
 
   case 375:
 
 /* Line 1464 of yacc.c  */
-#line 1632 "grammar.y"
+#line 1641 "grammar.y"
     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 377:
 
 /* Line 1464 of yacc.c  */
-#line 1637 "grammar.y"
+#line 1646 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 378:
 
 /* Line 1464 of yacc.c  */
-#line 1638 "grammar.y"
+#line 1647 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 379:
 
 /* Line 1464 of yacc.c  */
-#line 1639 "grammar.y"
+#line 1648 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 380:
 
 /* Line 1464 of yacc.c  */
-#line 1640 "grammar.y"
+#line 1649 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 381:
 
 /* Line 1464 of yacc.c  */
-#line 1641 "grammar.y"
+#line 1650 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 382:
 
 /* Line 1464 of yacc.c  */
-#line 1642 "grammar.y"
+#line 1651 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 384:
 
 /* Line 1464 of yacc.c  */
-#line 1647 "grammar.y"
+#line 1656 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 385:
 
 /* Line 1464 of yacc.c  */
-#line 1648 "grammar.y"
+#line 1657 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 386:
 
 /* Line 1464 of yacc.c  */
-#line 1649 "grammar.y"
+#line 1658 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 387:
 
 /* Line 1464 of yacc.c  */
-#line 1650 "grammar.y"
+#line 1659 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 389:
 
 /* Line 1464 of yacc.c  */
-#line 1655 "grammar.y"
+#line 1664 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 390:
 
 /* Line 1464 of yacc.c  */
-#line 1656 "grammar.y"
+#line 1665 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 391:
 
 /* Line 1464 of yacc.c  */
-#line 1657 "grammar.y"
+#line 1666 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 392:
 
 /* Line 1464 of yacc.c  */
-#line 1658 "grammar.y"
+#line 1667 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 393:
 
 /* Line 1464 of yacc.c  */
-#line 1663 "grammar.y"
+#line 1672 "grammar.y"
     {
       (yyval.exp) = (yyvsp[(1) - (2)].exp);
       skipErrors = true;
@@ -16271,833 +16280,833 @@ yyreduce:
   case 395:
 
 /* Line 1464 of yacc.c  */
-#line 1671 "grammar.y"
+#line 1680 "grammar.y"
     { skipErrors = false; (yyval.exp) = MkExpOp((yyvsp[(1) - (2)].exp), '<', (yyvsp[(2) - (2)].exp)/*$3*/); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 396:
 
 /* Line 1464 of yacc.c  */
-#line 1672 "grammar.y"
+#line 1681 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 397:
 
 /* Line 1464 of yacc.c  */
-#line 1673 "grammar.y"
+#line 1682 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 398:
 
 /* Line 1464 of yacc.c  */
-#line 1674 "grammar.y"
+#line 1683 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 399:
 
 /* Line 1464 of yacc.c  */
-#line 1675 "grammar.y"
+#line 1684 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 400:
 
 /* Line 1464 of yacc.c  */
-#line 1676 "grammar.y"
+#line 1685 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 401:
 
 /* Line 1464 of yacc.c  */
-#line 1677 "grammar.y"
+#line 1686 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 402:
 
 /* Line 1464 of yacc.c  */
-#line 1678 "grammar.y"
+#line 1687 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 404:
 
 /* Line 1464 of yacc.c  */
-#line 1683 "grammar.y"
+#line 1692 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 405:
 
 /* Line 1464 of yacc.c  */
-#line 1684 "grammar.y"
+#line 1693 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 406:
 
 /* Line 1464 of yacc.c  */
-#line 1685 "grammar.y"
+#line 1694 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 407:
 
 /* Line 1464 of yacc.c  */
-#line 1686 "grammar.y"
+#line 1695 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 408:
 
 /* Line 1464 of yacc.c  */
-#line 1688 "grammar.y"
+#line 1697 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 409:
 
 /* Line 1464 of yacc.c  */
-#line 1689 "grammar.y"
+#line 1698 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 410:
 
 /* Line 1464 of yacc.c  */
-#line 1690 "grammar.y"
+#line 1699 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 411:
 
 /* Line 1464 of yacc.c  */
-#line 1691 "grammar.y"
+#line 1700 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 413:
 
 /* Line 1464 of yacc.c  */
-#line 1696 "grammar.y"
+#line 1705 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 414:
 
 /* Line 1464 of yacc.c  */
-#line 1697 "grammar.y"
+#line 1706 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 415:
 
 /* Line 1464 of yacc.c  */
-#line 1699 "grammar.y"
+#line 1708 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 416:
 
 /* Line 1464 of yacc.c  */
-#line 1700 "grammar.y"
+#line 1709 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 418:
 
 /* Line 1464 of yacc.c  */
-#line 1705 "grammar.y"
+#line 1714 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 419:
 
 /* Line 1464 of yacc.c  */
-#line 1706 "grammar.y"
+#line 1715 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 420:
 
 /* Line 1464 of yacc.c  */
-#line 1708 "grammar.y"
+#line 1717 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 421:
 
 /* Line 1464 of yacc.c  */
-#line 1709 "grammar.y"
+#line 1718 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 423:
 
 /* Line 1464 of yacc.c  */
-#line 1714 "grammar.y"
+#line 1723 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 424:
 
 /* Line 1464 of yacc.c  */
-#line 1715 "grammar.y"
+#line 1724 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 425:
 
 /* Line 1464 of yacc.c  */
-#line 1717 "grammar.y"
+#line 1726 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 426:
 
 /* Line 1464 of yacc.c  */
-#line 1718 "grammar.y"
+#line 1727 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 428:
 
 /* Line 1464 of yacc.c  */
-#line 1723 "grammar.y"
+#line 1732 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 429:
 
 /* Line 1464 of yacc.c  */
-#line 1724 "grammar.y"
+#line 1733 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 431:
 
 /* Line 1464 of yacc.c  */
-#line 1729 "grammar.y"
+#line 1738 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 432:
 
 /* Line 1464 of yacc.c  */
-#line 1730 "grammar.y"
+#line 1739 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 434:
 
 /* Line 1464 of yacc.c  */
-#line 1735 "grammar.y"
+#line 1744 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 435:
 
 /* Line 1464 of yacc.c  */
-#line 1736 "grammar.y"
+#line 1745 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 436:
 
 /* Line 1464 of yacc.c  */
-#line 1737 "grammar.y"
+#line 1746 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 437:
 
 /* Line 1464 of yacc.c  */
-#line 1738 "grammar.y"
+#line 1747 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 438:
 
 /* Line 1464 of yacc.c  */
-#line 1740 "grammar.y"
+#line 1749 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 439:
 
 /* Line 1464 of yacc.c  */
-#line 1741 "grammar.y"
+#line 1750 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 440:
 
 /* Line 1464 of yacc.c  */
-#line 1742 "grammar.y"
+#line 1751 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 441:
 
 /* Line 1464 of yacc.c  */
-#line 1743 "grammar.y"
+#line 1752 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 442:
 
 /* Line 1464 of yacc.c  */
-#line 1745 "grammar.y"
+#line 1754 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 443:
 
 /* Line 1464 of yacc.c  */
-#line 1746 "grammar.y"
+#line 1755 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 444:
 
 /* Line 1464 of yacc.c  */
-#line 1747 "grammar.y"
+#line 1756 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 445:
 
 /* Line 1464 of yacc.c  */
-#line 1748 "grammar.y"
+#line 1757 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 446:
 
 /* Line 1464 of yacc.c  */
-#line 1750 "grammar.y"
+#line 1759 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 447:
 
 /* Line 1464 of yacc.c  */
-#line 1751 "grammar.y"
+#line 1760 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 448:
 
 /* Line 1464 of yacc.c  */
-#line 1752 "grammar.y"
+#line 1761 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 449:
 
 /* Line 1464 of yacc.c  */
-#line 1753 "grammar.y"
+#line 1762 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 451:
 
 /* Line 1464 of yacc.c  */
-#line 1758 "grammar.y"
+#line 1767 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 452:
 
 /* Line 1464 of yacc.c  */
-#line 1759 "grammar.y"
+#line 1768 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 453:
 
 /* Line 1464 of yacc.c  */
-#line 1760 "grammar.y"
+#line 1769 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 454:
 
 /* Line 1464 of yacc.c  */
-#line 1761 "grammar.y"
+#line 1770 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 455:
 
 /* Line 1464 of yacc.c  */
-#line 1763 "grammar.y"
+#line 1772 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 456:
 
 /* Line 1464 of yacc.c  */
-#line 1764 "grammar.y"
+#line 1773 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 457:
 
 /* Line 1464 of yacc.c  */
-#line 1765 "grammar.y"
+#line 1774 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 458:
 
 /* Line 1464 of yacc.c  */
-#line 1766 "grammar.y"
+#line 1775 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 459:
 
 /* Line 1464 of yacc.c  */
-#line 1770 "grammar.y"
+#line 1779 "grammar.y"
     { (yyval.i) = '='; ;}
     break;
 
   case 460:
 
 /* Line 1464 of yacc.c  */
-#line 1771 "grammar.y"
+#line 1780 "grammar.y"
     { (yyval.i) = MUL_ASSIGN; ;}
     break;
 
   case 461:
 
 /* Line 1464 of yacc.c  */
-#line 1772 "grammar.y"
+#line 1781 "grammar.y"
     { (yyval.i) = DIV_ASSIGN; ;}
     break;
 
   case 462:
 
 /* Line 1464 of yacc.c  */
-#line 1773 "grammar.y"
+#line 1782 "grammar.y"
     { (yyval.i) = MOD_ASSIGN; ;}
     break;
 
   case 463:
 
 /* Line 1464 of yacc.c  */
-#line 1774 "grammar.y"
+#line 1783 "grammar.y"
     { (yyval.i) = ADD_ASSIGN; ;}
     break;
 
   case 464:
 
 /* Line 1464 of yacc.c  */
-#line 1775 "grammar.y"
+#line 1784 "grammar.y"
     { (yyval.i) = SUB_ASSIGN; ;}
     break;
 
   case 465:
 
 /* Line 1464 of yacc.c  */
-#line 1776 "grammar.y"
+#line 1785 "grammar.y"
     { (yyval.i) = LEFT_ASSIGN; ;}
     break;
 
   case 466:
 
 /* Line 1464 of yacc.c  */
-#line 1777 "grammar.y"
+#line 1786 "grammar.y"
     { (yyval.i) = RIGHT_ASSIGN; ;}
     break;
 
   case 467:
 
 /* Line 1464 of yacc.c  */
-#line 1778 "grammar.y"
+#line 1787 "grammar.y"
     { (yyval.i) = AND_ASSIGN; ;}
     break;
 
   case 468:
 
 /* Line 1464 of yacc.c  */
-#line 1779 "grammar.y"
+#line 1788 "grammar.y"
     { (yyval.i) = XOR_ASSIGN; ;}
     break;
 
   case 469:
 
 /* Line 1464 of yacc.c  */
-#line 1780 "grammar.y"
+#line 1789 "grammar.y"
     { (yyval.i) = OR_ASSIGN; ;}
     break;
 
   case 470:
 
 /* Line 1464 of yacc.c  */
-#line 1784 "grammar.y"
+#line 1793 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 471:
 
 /* Line 1464 of yacc.c  */
-#line 1785 "grammar.y"
+#line 1794 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 472:
 
 /* Line 1464 of yacc.c  */
-#line 1786 "grammar.y"
+#line 1795 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 474:
 
 /* Line 1464 of yacc.c  */
-#line 1791 "grammar.y"
+#line 1800 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 475:
 
 /* Line 1464 of yacc.c  */
-#line 1792 "grammar.y"
+#line 1801 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 476:
 
 /* Line 1464 of yacc.c  */
-#line 1793 "grammar.y"
+#line 1802 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 478:
 
 /* Line 1464 of yacc.c  */
-#line 1798 "grammar.y"
+#line 1807 "grammar.y"
     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); /*printf("Sorry, didn't mean that syntax error\n");*/ ;}
     break;
 
   case 480:
 
 /* Line 1464 of yacc.c  */
-#line 1800 "grammar.y"
+#line 1809 "grammar.y"
     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 481:
 
 /* Line 1464 of yacc.c  */
-#line 1802 "grammar.y"
+#line 1811 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 482:
 
 /* Line 1464 of yacc.c  */
-#line 1803 "grammar.y"
+#line 1812 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 483:
 
 /* Line 1464 of yacc.c  */
-#line 1805 "grammar.y"
+#line 1814 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
     break;
 
   case 484:
 
 /* Line 1464 of yacc.c  */
-#line 1806 "grammar.y"
+#line 1815 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
     break;
 
   case 485:
 
 /* Line 1464 of yacc.c  */
-#line 1811 "grammar.y"
+#line 1820 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 486:
 
 /* Line 1464 of yacc.c  */
-#line 1813 "grammar.y"
+#line 1822 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
     break;
 
   case 487:
 
 /* Line 1464 of yacc.c  */
-#line 1818 "grammar.y"
+#line 1827 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 488:
 
 /* Line 1464 of yacc.c  */
-#line 1822 "grammar.y"
+#line 1831 "grammar.y"
     { (yyval.exp) = MkExpDummy(); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 490:
 
 /* Line 1464 of yacc.c  */
-#line 1824 "grammar.y"
+#line 1833 "grammar.y"
     { (yyval.exp) = MkExpInstance((yyvsp[(1) - (2)].instance)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 491:
 
 /* Line 1464 of yacc.c  */
-#line 1826 "grammar.y"
+#line 1835 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 492:
 
 /* Line 1464 of yacc.c  */
-#line 1827 "grammar.y"
+#line 1836 "grammar.y"
     { (yyval.exp) = MkExpPointer((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 493:
 
 /* Line 1464 of yacc.c  */
-#line 1829 "grammar.y"
+#line 1838 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
     break;
 
   case 494:
 
 /* Line 1464 of yacc.c  */
-#line 1830 "grammar.y"
+#line 1839 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.end.charPos++;;}
     break;
 
   case 495:
 
 /* Line 1464 of yacc.c  */
-#line 1835 "grammar.y"
+#line 1844 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 496:
 
 /* Line 1464 of yacc.c  */
-#line 1837 "grammar.y"
+#line 1846 "grammar.y"
     { (yyval.exp) = MkExpCall((yyvsp[(1) - (3)].exp), (yyvsp[(3) - (3)].list)); (yyval.exp).loc = (yyloc); (yyval.exp).call.argLoc.start = (yylsp[(2) - (3)]).start; (yyval.exp).call.argLoc.end = (yylsp[(3) - (3)]).end; (yyval.exp).call.argLoc.end.charPos++;;}
     break;
 
   case 497:
 
 /* Line 1464 of yacc.c  */
-#line 1842 "grammar.y"
+#line 1851 "grammar.y"
     { (yyval.exp) = MkExpMember((yyvsp[(1) - (3)].exp), null); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 498:
 
 /* Line 1464 of yacc.c  */
-#line 1846 "grammar.y"
+#line 1855 "grammar.y"
     { (yyval.exp) = MkExpOp(null, INC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 499:
 
 /* Line 1464 of yacc.c  */
-#line 1847 "grammar.y"
+#line 1856 "grammar.y"
     { (yyval.exp) = MkExpOp(null, DEC_OP, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 500:
 
 /* Line 1464 of yacc.c  */
-#line 1848 "grammar.y"
+#line 1857 "grammar.y"
     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 501:
 
 /* Line 1464 of yacc.c  */
-#line 1849 "grammar.y"
+#line 1858 "grammar.y"
     { (yyval.exp) = MkExpOp(null, (yyvsp[(1) - (2)].i), (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 502:
 
 /* Line 1464 of yacc.c  */
-#line 1850 "grammar.y"
+#line 1859 "grammar.y"
     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 503:
 
 /* Line 1464 of yacc.c  */
-#line 1851 "grammar.y"
+#line 1860 "grammar.y"
     { (yyval.exp) = MkExpOp(null, SIZEOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 504:
 
 /* Line 1464 of yacc.c  */
-#line 1852 "grammar.y"
+#line 1861 "grammar.y"
     { (yyval.exp) = MkExpTypeSize((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 505:
 
 /* Line 1464 of yacc.c  */
-#line 1853 "grammar.y"
+#line 1862 "grammar.y"
     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 506:
 
 /* Line 1464 of yacc.c  */
-#line 1854 "grammar.y"
+#line 1863 "grammar.y"
     { (yyval.exp) = MkExpClassSize((yyvsp[(4) - (6)].specifier)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 507:
 
 /* Line 1464 of yacc.c  */
-#line 1855 "grammar.y"
+#line 1864 "grammar.y"
     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 508:
 
 /* Line 1464 of yacc.c  */
-#line 1856 "grammar.y"
+#line 1865 "grammar.y"
     { (yyval.exp) = MkExpOp(null, ALIGNOF, (yyvsp[(2) - (2)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 509:
 
 /* Line 1464 of yacc.c  */
-#line 1857 "grammar.y"
+#line 1866 "grammar.y"
     { (yyval.exp) = MkExpTypeAlign((yyvsp[(3) - (5)].typeName)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 515:
 
 /* Line 1464 of yacc.c  */
-#line 1873 "grammar.y"
+#line 1882 "grammar.y"
     { (yyval.exp) = MkExpCast((yyvsp[(2) - (4)].typeName), (yyvsp[(4) - (4)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 517:
 
 /* Line 1464 of yacc.c  */
-#line 1878 "grammar.y"
+#line 1887 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 518:
 
 /* Line 1464 of yacc.c  */
-#line 1879 "grammar.y"
+#line 1888 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 519:
 
 /* Line 1464 of yacc.c  */
-#line 1880 "grammar.y"
+#line 1889 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 520:
 
 /* Line 1464 of yacc.c  */
-#line 1881 "grammar.y"
+#line 1890 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '*', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 521:
 
 /* Line 1464 of yacc.c  */
-#line 1882 "grammar.y"
+#line 1891 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '/', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 522:
 
 /* Line 1464 of yacc.c  */
-#line 1883 "grammar.y"
+#line 1892 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '%', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 524:
 
 /* Line 1464 of yacc.c  */
-#line 1888 "grammar.y"
+#line 1897 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 525:
 
 /* Line 1464 of yacc.c  */
-#line 1892 "grammar.y"
+#line 1901 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 526:
 
 /* Line 1464 of yacc.c  */
-#line 1896 "grammar.y"
+#line 1905 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '+', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 527:
 
 /* Line 1464 of yacc.c  */
-#line 1900 "grammar.y"
+#line 1909 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '-', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 529:
 
 /* Line 1464 of yacc.c  */
-#line 1908 "grammar.y"
+#line 1917 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 530:
 
 /* Line 1464 of yacc.c  */
-#line 1909 "grammar.y"
+#line 1918 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 531:
 
 /* Line 1464 of yacc.c  */
-#line 1910 "grammar.y"
+#line 1919 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LEFT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 532:
 
 /* Line 1464 of yacc.c  */
-#line 1911 "grammar.y"
+#line 1920 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), RIGHT_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 534:
 
 /* Line 1464 of yacc.c  */
-#line 1917 "grammar.y"
+#line 1926 "grammar.y"
     {
       if((yyvsp[(1) - (2)].exp).type == identifierExp)
       {
@@ -17153,392 +17162,392 @@ yyreduce:
   case 535:
 
 /* Line 1464 of yacc.c  */
-#line 1967 "grammar.y"
+#line 1976 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 536:
 
 /* Line 1464 of yacc.c  */
-#line 1968 "grammar.y"
+#line 1977 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 537:
 
 /* Line 1464 of yacc.c  */
-#line 1969 "grammar.y"
+#line 1978 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 538:
 
 /* Line 1464 of yacc.c  */
-#line 1970 "grammar.y"
+#line 1979 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '<', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 539:
 
 /* Line 1464 of yacc.c  */
-#line 1971 "grammar.y"
+#line 1980 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '>', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 540:
 
 /* Line 1464 of yacc.c  */
-#line 1972 "grammar.y"
+#line 1981 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), LE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 541:
 
 /* Line 1464 of yacc.c  */
-#line 1973 "grammar.y"
+#line 1982 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), GE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 543:
 
 /* Line 1464 of yacc.c  */
-#line 1978 "grammar.y"
+#line 1987 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 544:
 
 /* Line 1464 of yacc.c  */
-#line 1979 "grammar.y"
+#line 1988 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 545:
 
 /* Line 1464 of yacc.c  */
-#line 1980 "grammar.y"
+#line 1989 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 546:
 
 /* Line 1464 of yacc.c  */
-#line 1981 "grammar.y"
+#line 1990 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 547:
 
 /* Line 1464 of yacc.c  */
-#line 1988 "grammar.y"
+#line 1997 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 548:
 
 /* Line 1464 of yacc.c  */
-#line 1989 "grammar.y"
+#line 1998 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 549:
 
 /* Line 1464 of yacc.c  */
-#line 1990 "grammar.y"
+#line 1999 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), EQ_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 550:
 
 /* Line 1464 of yacc.c  */
-#line 1991 "grammar.y"
+#line 2000 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), NE_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 552:
 
 /* Line 1464 of yacc.c  */
-#line 1996 "grammar.y"
+#line 2005 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 553:
 
 /* Line 1464 of yacc.c  */
-#line 1997 "grammar.y"
+#line 2006 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 554:
 
 /* Line 1464 of yacc.c  */
-#line 1999 "grammar.y"
+#line 2008 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 555:
 
 /* Line 1464 of yacc.c  */
-#line 2000 "grammar.y"
+#line 2009 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '&', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 557:
 
 /* Line 1464 of yacc.c  */
-#line 2005 "grammar.y"
+#line 2014 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 558:
 
 /* Line 1464 of yacc.c  */
-#line 2006 "grammar.y"
+#line 2015 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 559:
 
 /* Line 1464 of yacc.c  */
-#line 2008 "grammar.y"
+#line 2017 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 560:
 
 /* Line 1464 of yacc.c  */
-#line 2009 "grammar.y"
+#line 2018 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '^', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 562:
 
 /* Line 1464 of yacc.c  */
-#line 2014 "grammar.y"
+#line 2023 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 563:
 
 /* Line 1464 of yacc.c  */
-#line 2015 "grammar.y"
+#line 2024 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 564:
 
 /* Line 1464 of yacc.c  */
-#line 2017 "grammar.y"
+#line 2026 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 565:
 
 /* Line 1464 of yacc.c  */
-#line 2018 "grammar.y"
+#line 2027 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), '|', (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 567:
 
 /* Line 1464 of yacc.c  */
-#line 2023 "grammar.y"
+#line 2032 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 568:
 
 /* Line 1464 of yacc.c  */
-#line 2024 "grammar.y"
+#line 2033 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), AND_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 570:
 
 /* Line 1464 of yacc.c  */
-#line 2029 "grammar.y"
+#line 2038 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 571:
 
 /* Line 1464 of yacc.c  */
-#line 2030 "grammar.y"
+#line 2039 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), OR_OP, (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 573:
 
 /* Line 1464 of yacc.c  */
-#line 2035 "grammar.y"
+#line 2044 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 574:
 
 /* Line 1464 of yacc.c  */
-#line 2036 "grammar.y"
+#line 2045 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 575:
 
 /* Line 1464 of yacc.c  */
-#line 2037 "grammar.y"
+#line 2046 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 576:
 
 /* Line 1464 of yacc.c  */
-#line 2038 "grammar.y"
+#line 2047 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 577:
 
 /* Line 1464 of yacc.c  */
-#line 2039 "grammar.y"
+#line 2048 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 578:
 
 /* Line 1464 of yacc.c  */
-#line 2040 "grammar.y"
+#line 2049 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 579:
 
 /* Line 1464 of yacc.c  */
-#line 2041 "grammar.y"
+#line 2050 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 580:
 
 /* Line 1464 of yacc.c  */
-#line 2042 "grammar.y"
+#line 2051 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 581:
 
 /* Line 1464 of yacc.c  */
-#line 2044 "grammar.y"
+#line 2053 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 582:
 
 /* Line 1464 of yacc.c  */
-#line 2045 "grammar.y"
+#line 2054 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 583:
 
 /* Line 1464 of yacc.c  */
-#line 2046 "grammar.y"
+#line 2055 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 584:
 
 /* Line 1464 of yacc.c  */
-#line 2047 "grammar.y"
+#line 2056 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 585:
 
 /* Line 1464 of yacc.c  */
-#line 2048 "grammar.y"
+#line 2057 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 586:
 
 /* Line 1464 of yacc.c  */
-#line 2049 "grammar.y"
+#line 2058 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 587:
 
 /* Line 1464 of yacc.c  */
-#line 2050 "grammar.y"
+#line 2059 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 588:
 
 /* Line 1464 of yacc.c  */
-#line 2051 "grammar.y"
+#line 2060 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (4)].exp), (yyvsp[(3) - (4)].list), MkExpDummy()); (yyval.exp).loc = (yyloc); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (4)]); ;}
     break;
 
   case 589:
 
 /* Line 1464 of yacc.c  */
-#line 2053 "grammar.y"
+#line 2062 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 590:
 
 /* Line 1464 of yacc.c  */
-#line 2054 "grammar.y"
+#line 2063 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 591:
 
 /* Line 1464 of yacc.c  */
-#line 2055 "grammar.y"
+#line 2064 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 592:
 
 /* Line 1464 of yacc.c  */
-#line 2056 "grammar.y"
+#line 2065 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 593:
 
 /* Line 1464 of yacc.c  */
-#line 2058 "grammar.y"
+#line 2067 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 594:
 
 /* Line 1464 of yacc.c  */
-#line 2059 "grammar.y"
+#line 2068 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 595:
 
 /* Line 1464 of yacc.c  */
-#line 2060 "grammar.y"
+#line 2069 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 596:
 
 /* Line 1464 of yacc.c  */
-#line 2061 "grammar.y"
+#line 2070 "grammar.y"
     { (yyval.exp) = MkExpCondition((yyvsp[(1) - (5)].exp), (yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 597:
 
 /* Line 1464 of yacc.c  */
-#line 2064 "grammar.y"
+#line 2073 "grammar.y"
     {
          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy());
          (yyval.exp).loc = (yyloc);
@@ -17550,7 +17559,7 @@ yyreduce:
   case 598:
 
 /* Line 1464 of yacc.c  */
-#line 2071 "grammar.y"
+#line 2080 "grammar.y"
     {
          (yyval.exp) = MkExpCondition((yyvsp[(1) - (3)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (3)]); (yyval.exp).cond.elseExp.loc = (yylsp[(3) - (3)]);
       ;}
@@ -17559,7 +17568,7 @@ yyreduce:
   case 599:
 
 /* Line 1464 of yacc.c  */
-#line 2075 "grammar.y"
+#line 2084 "grammar.y"
     {
          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
       ;}
@@ -17568,7 +17577,7 @@ yyreduce:
   case 600:
 
 /* Line 1464 of yacc.c  */
-#line 2079 "grammar.y"
+#line 2088 "grammar.y"
     {
          (yyval.exp) = MkExpCondition((yyvsp[(1) - (2)].exp), MkListOne(MkExpDummy()), MkExpDummy()); (yyval.exp).loc = (yyloc); ((Expression)(yyval.exp).cond.exp->last).loc = (yylsp[(2) - (2)]); (yyval.exp).cond.elseExp.loc = (yylsp[(2) - (2)]);
       ;}
@@ -17577,952 +17586,952 @@ yyreduce:
   case 602:
 
 /* Line 1464 of yacc.c  */
-#line 2086 "grammar.y"
+#line 2095 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 603:
 
 /* Line 1464 of yacc.c  */
-#line 2090 "grammar.y"
+#line 2099 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 604:
 
 /* Line 1464 of yacc.c  */
-#line 2095 "grammar.y"
+#line 2104 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 605:
 
 /* Line 1464 of yacc.c  */
-#line 2096 "grammar.y"
+#line 2105 "grammar.y"
     { (yyval.exp) = MkExpOp((yyvsp[(1) - (3)].exp), (yyvsp[(2) - (3)].i), (yyvsp[(3) - (3)].exp)); (yyval.exp).loc = (yyloc); ;}
     break;
 
   case 606:
 
 /* Line 1464 of yacc.c  */
-#line 2100 "grammar.y"
+#line 2109 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 607:
 
 /* Line 1464 of yacc.c  */
-#line 2101 "grammar.y"
+#line 2110 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
     break;
 
   case 608:
 
 /* Line 1464 of yacc.c  */
-#line 2102 "grammar.y"
+#line 2111 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 609:
 
 /* Line 1464 of yacc.c  */
-#line 2103 "grammar.y"
+#line 2112 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 610:
 
 /* Line 1464 of yacc.c  */
-#line 2109 "grammar.y"
+#line 2118 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
     break;
 
   case 611:
 
 /* Line 1464 of yacc.c  */
-#line 2110 "grammar.y"
+#line 2119 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
     break;
 
   case 612:
 
 /* Line 1464 of yacc.c  */
-#line 2111 "grammar.y"
+#line 2120 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); FreeList((yyvsp[(2) - (2)].list), FreeExpression); ;}
     break;
 
   case 613:
 
 /* Line 1464 of yacc.c  */
-#line 2115 "grammar.y"
+#line 2124 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].exp)); ;}
     break;
 
   case 614:
 
 /* Line 1464 of yacc.c  */
-#line 2116 "grammar.y"
+#line 2125 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].exp)); ;}
     break;
 
   case 615:
 
 /* Line 1464 of yacc.c  */
-#line 2117 "grammar.y"
+#line 2126 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 616:
 
 /* Line 1464 of yacc.c  */
-#line 2118 "grammar.y"
+#line 2127 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 619:
 
 /* Line 1464 of yacc.c  */
-#line 2128 "grammar.y"
+#line 2137 "grammar.y"
     { (yyval.specifier) = MkSpecifier(TYPEDEF); ;}
     break;
 
   case 620:
 
 /* Line 1464 of yacc.c  */
-#line 2129 "grammar.y"
+#line 2138 "grammar.y"
     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
     break;
 
   case 621:
 
 /* Line 1464 of yacc.c  */
-#line 2130 "grammar.y"
+#line 2139 "grammar.y"
     { (yyval.specifier) = MkSpecifier(STATIC); ;}
     break;
 
   case 622:
 
 /* Line 1464 of yacc.c  */
-#line 2131 "grammar.y"
+#line 2140 "grammar.y"
     { (yyval.specifier) = MkSpecifier(THREAD); ;}
     break;
 
   case 623:
 
 /* Line 1464 of yacc.c  */
-#line 2132 "grammar.y"
+#line 2141 "grammar.y"
     { (yyval.specifier) = MkSpecifier(AUTO); ;}
     break;
 
   case 624:
 
 /* Line 1464 of yacc.c  */
-#line 2133 "grammar.y"
+#line 2142 "grammar.y"
     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
     break;
 
   case 625:
 
 /* Line 1464 of yacc.c  */
-#line 2134 "grammar.y"
+#line 2143 "grammar.y"
     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
     break;
 
   case 626:
 
 /* Line 1464 of yacc.c  */
-#line 2138 "grammar.y"
+#line 2147 "grammar.y"
     { (yyval.specifier) = MkSpecifier(TYPEDEF); structDeclMode = declMode = defaultAccess; ;}
     break;
 
   case 627:
 
 /* Line 1464 of yacc.c  */
-#line 2139 "grammar.y"
+#line 2148 "grammar.y"
     { (yyval.specifier) = MkSpecifier(EXTERN); ;}
     break;
 
   case 628:
 
 /* Line 1464 of yacc.c  */
-#line 2140 "grammar.y"
+#line 2149 "grammar.y"
     { (yyval.specifier) = MkSpecifier(STATIC); structDeclMode = declMode = staticAccess; ;}
     break;
 
   case 629:
 
 /* Line 1464 of yacc.c  */
-#line 2141 "grammar.y"
+#line 2150 "grammar.y"
     { (yyval.specifier) = MkSpecifier(THREAD); ;}
     break;
 
   case 630:
 
 /* Line 1464 of yacc.c  */
-#line 2142 "grammar.y"
+#line 2151 "grammar.y"
     { (yyval.specifier) = MkSpecifier(AUTO); ;}
     break;
 
   case 631:
 
 /* Line 1464 of yacc.c  */
-#line 2143 "grammar.y"
+#line 2152 "grammar.y"
     { (yyval.specifier) = MkSpecifier(REGISTER); ;}
     break;
 
   case 632:
 
 /* Line 1464 of yacc.c  */
-#line 2144 "grammar.y"
+#line 2153 "grammar.y"
     { (yyval.specifier) = MkSpecifier(RESTRICT); ;}
     break;
 
   case 633:
 
 /* Line 1464 of yacc.c  */
-#line 2148 "grammar.y"
+#line 2157 "grammar.y"
     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (1)].id), null); ;}
     break;
 
   case 634:
 
 /* Line 1464 of yacc.c  */
-#line 2149 "grammar.y"
+#line 2158 "grammar.y"
     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 635:
 
 /* Line 1464 of yacc.c  */
-#line 2150 "grammar.y"
+#line 2159 "grammar.y"
     { (yyval.enumerator) = MkEnumerator((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].exp)); ;}
     break;
 
   case 636:
 
 /* Line 1464 of yacc.c  */
-#line 2154 "grammar.y"
+#line 2163 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].enumerator)); ;}
     break;
 
   case 637:
 
 /* Line 1464 of yacc.c  */
-#line 2155 "grammar.y"
+#line 2164 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].enumerator)); ;}
     break;
 
   case 639:
 
 /* Line 1464 of yacc.c  */
-#line 2160 "grammar.y"
+#line 2169 "grammar.y"
     { memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
     break;
 
   case 640:
 
 /* Line 1464 of yacc.c  */
-#line 2164 "grammar.y"
+#line 2173 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(2) - (2)].id), null); POP_DEFAULT_ACCESS ;}
     break;
 
   case 641:
 
 /* Line 1464 of yacc.c  */
-#line 2165 "grammar.y"
+#line 2174 "grammar.y"
     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (2)].specifier).name), null); POP_DEFAULT_ACCESS ;}
     break;
 
   case 642:
 
 /* Line 1464 of yacc.c  */
-#line 2169 "grammar.y"
+#line 2178 "grammar.y"
     { (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS (yyval.specifier) = (yyvsp[(1) - (2)].specifier); ;}
     break;
 
   case 643:
 
 /* Line 1464 of yacc.c  */
-#line 2170 "grammar.y"
+#line 2179 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 644:
 
 /* Line 1464 of yacc.c  */
-#line 2171 "grammar.y"
+#line 2180 "grammar.y"
     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); FreeSpecifier((yyvsp[(2) - (4)].specifier)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 645:
 
 /* Line 1464 of yacc.c  */
-#line 2175 "grammar.y"
+#line 2184 "grammar.y"
     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 646:
 
 /* Line 1464 of yacc.c  */
-#line 2176 "grammar.y"
+#line 2185 "grammar.y"
     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 647:
 
 /* Line 1464 of yacc.c  */
-#line 2178 "grammar.y"
+#line 2187 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 648:
 
 /* Line 1464 of yacc.c  */
-#line 2179 "grammar.y"
+#line 2188 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].list));  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 649:
 
 /* Line 1464 of yacc.c  */
-#line 2180 "grammar.y"
+#line 2189 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(2) - (4)].id), null);  (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 650:
 
 /* Line 1464 of yacc.c  */
-#line 2181 "grammar.y"
+#line 2190 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
     break;
 
   case 651:
 
 /* Line 1464 of yacc.c  */
-#line 2182 "grammar.y"
+#line 2191 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(2) - (6)].id), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list);  POP_DEFAULT_ACCESS ;}
     break;
 
   case 652:
 
 /* Line 1464 of yacc.c  */
-#line 2184 "grammar.y"
+#line 2193 "grammar.y"
     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), (yyvsp[(4) - (4)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 653:
 
 /* Line 1464 of yacc.c  */
-#line 2185 "grammar.y"
+#line 2194 "grammar.y"
     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (5)].specifier).name), (yyvsp[(4) - (5)].list)); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (5)].specifier)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 654:
 
 /* Line 1464 of yacc.c  */
-#line 2186 "grammar.y"
+#line 2195 "grammar.y"
     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (4)].specifier).name), null); (yyval.specifier).loc = (yyloc); FreeSpecifier((yyvsp[(2) - (4)].specifier)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 655:
 
 /* Line 1464 of yacc.c  */
-#line 2187 "grammar.y"
+#line 2196 "grammar.y"
     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 656:
 
 /* Line 1464 of yacc.c  */
-#line 2188 "grammar.y"
+#line 2197 "grammar.y"
     { (yyval.specifier) = MkEnum(MkIdentifier((yyvsp[(2) - (6)].specifier).name), (yyvsp[(4) - (6)].list)); (yyval.specifier).loc = (yyloc); (yyval.specifier).definitions = (yyvsp[(6) - (6)].list); FreeSpecifier((yyvsp[(2) - (6)].specifier)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 657:
 
 /* Line 1464 of yacc.c  */
-#line 2192 "grammar.y"
+#line 2201 "grammar.y"
     { (yyval.id) = (yyvsp[(2) - (2)].id); if(declMode) DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(2) - (2)].id).string); ;}
     break;
 
   case 658:
 
 /* Line 1464 of yacc.c  */
-#line 2193 "grammar.y"
+#line 2202 "grammar.y"
     { (yyval.id) = MkIdentifier((yyvsp[(2) - (2)].specifier).name); if(declMode) DeclClass(globalContext.nextID++, (yyvsp[(2) - (2)].specifier).name); FreeSpecifier((yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 659:
 
 /* Line 1464 of yacc.c  */
-#line 2197 "grammar.y"
+#line 2206 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
     break;
 
   case 660:
 
 /* Line 1464 of yacc.c  */
-#line 2198 "grammar.y"
+#line 2207 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 661:
 
 /* Line 1464 of yacc.c  */
-#line 2199 "grammar.y"
+#line 2208 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); POP_DEFAULT_ACCESS ;}
     break;
 
   case 662:
 
 /* Line 1464 of yacc.c  */
-#line 2203 "grammar.y"
+#line 2212 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(5) - (5)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 663:
 
 /* Line 1464 of yacc.c  */
-#line 2204 "grammar.y"
+#line 2213 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (6)].id), (yyvsp[(5) - (6)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (6)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 664:
 
 /* Line 1464 of yacc.c  */
-#line 2205 "grammar.y"
+#line 2214 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 665:
 
 /* Line 1464 of yacc.c  */
-#line 2206 "grammar.y"
+#line 2215 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 666:
 
 /* Line 1464 of yacc.c  */
-#line 2207 "grammar.y"
+#line 2216 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), (yyvsp[(5) - (7)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 667:
 
 /* Line 1464 of yacc.c  */
-#line 2208 "grammar.y"
+#line 2217 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 668:
 
 /* Line 1464 of yacc.c  */
-#line 2209 "grammar.y"
+#line 2218 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (8)].id), (yyvsp[(5) - (8)].list)); (yyval.specifier).baseSpecs = (yyvsp[(3) - (8)].list); (yyval.specifier).definitions = (yyvsp[(8) - (8)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 669:
 
 /* Line 1464 of yacc.c  */
-#line 2210 "grammar.y"
+#line 2219 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 670:
 
 /* Line 1464 of yacc.c  */
-#line 2211 "grammar.y"
+#line 2220 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (7)].id), null); (yyval.specifier).baseSpecs = (yyvsp[(3) - (7)].list); (yyval.specifier).definitions = (yyvsp[(7) - (7)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 671:
 
 /* Line 1464 of yacc.c  */
-#line 2213 "grammar.y"
+#line 2222 "grammar.y"
     { (yyval.specifier) = MkEnum(null, (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 672:
 
 /* Line 1464 of yacc.c  */
-#line 2214 "grammar.y"
+#line 2223 "grammar.y"
     { (yyval.specifier) = MkEnum(null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 673:
 
 /* Line 1464 of yacc.c  */
-#line 2216 "grammar.y"
+#line 2225 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 674:
 
 /* Line 1464 of yacc.c  */
-#line 2217 "grammar.y"
+#line 2226 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (4)].id), (yyvsp[(3) - (4)].list)); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 675:
 
 /* Line 1464 of yacc.c  */
-#line 2218 "grammar.y"
+#line 2227 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (3)].id), null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 676:
 
 /* Line 1464 of yacc.c  */
-#line 2219 "grammar.y"
+#line 2228 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 677:
 
 /* Line 1464 of yacc.c  */
-#line 2220 "grammar.y"
+#line 2229 "grammar.y"
     { (yyval.specifier) = MkEnum((yyvsp[(1) - (5)].id), (yyvsp[(3) - (5)].list)); (yyval.specifier).definitions = (yyvsp[(5) - (5)].list); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 682:
 
 /* Line 1464 of yacc.c  */
-#line 2234 "grammar.y"
+#line 2243 "grammar.y"
     { (yyval.specifier) = MkSpecifierExtended((yyvsp[(1) - (1)].extDecl)); ;}
     break;
 
   case 683:
 
 /* Line 1464 of yacc.c  */
-#line 2238 "grammar.y"
+#line 2247 "grammar.y"
     { (yyval.specifier) = MkSpecifier(CONST); ;}
     break;
 
   case 684:
 
 /* Line 1464 of yacc.c  */
-#line 2239 "grammar.y"
+#line 2248 "grammar.y"
     { (yyval.specifier) = MkSpecifier(VOLATILE); ;}
     break;
 
   case 685:
 
 /* Line 1464 of yacc.c  */
-#line 2240 "grammar.y"
+#line 2249 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); ;}
     break;
 
   case 686:
 
 /* Line 1464 of yacc.c  */
-#line 2245 "grammar.y"
+#line 2254 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 687:
 
 /* Line 1464 of yacc.c  */
-#line 2246 "grammar.y"
+#line 2255 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier));  ;}
     break;
 
   case 688:
 
 /* Line 1464 of yacc.c  */
-#line 2250 "grammar.y"
+#line 2259 "grammar.y"
     { (yyval.specifier) = MkSpecifier(VOID); ;}
     break;
 
   case 689:
 
 /* Line 1464 of yacc.c  */
-#line 2251 "grammar.y"
+#line 2260 "grammar.y"
     { (yyval.specifier) = MkSpecifier(CHAR); ;}
     break;
 
   case 690:
 
 /* Line 1464 of yacc.c  */
-#line 2252 "grammar.y"
+#line 2261 "grammar.y"
     { (yyval.specifier) = MkSpecifier(SHORT); ;}
     break;
 
   case 691:
 
 /* Line 1464 of yacc.c  */
-#line 2253 "grammar.y"
+#line 2262 "grammar.y"
     { (yyval.specifier) = MkSpecifier(INT); ;}
     break;
 
   case 692:
 
 /* Line 1464 of yacc.c  */
-#line 2254 "grammar.y"
+#line 2263 "grammar.y"
     { (yyval.specifier) = MkSpecifier(UINT); ;}
     break;
 
   case 693:
 
 /* Line 1464 of yacc.c  */
-#line 2255 "grammar.y"
+#line 2264 "grammar.y"
     { (yyval.specifier) = MkSpecifier(INT64); ;}
     break;
 
   case 694:
 
 /* Line 1464 of yacc.c  */
-#line 2256 "grammar.y"
+#line 2265 "grammar.y"
     { (yyval.specifier) = MkSpecifier(VALIST); ;}
     break;
 
   case 695:
 
 /* Line 1464 of yacc.c  */
-#line 2257 "grammar.y"
+#line 2266 "grammar.y"
     { (yyval.specifier) = MkSpecifier(LONG); ;}
     break;
 
   case 696:
 
 /* Line 1464 of yacc.c  */
-#line 2258 "grammar.y"
+#line 2267 "grammar.y"
     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
     break;
 
   case 697:
 
 /* Line 1464 of yacc.c  */
-#line 2259 "grammar.y"
+#line 2268 "grammar.y"
     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
     break;
 
   case 698:
 
 /* Line 1464 of yacc.c  */
-#line 2260 "grammar.y"
+#line 2269 "grammar.y"
     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
     break;
 
   case 699:
 
 /* Line 1464 of yacc.c  */
-#line 2261 "grammar.y"
+#line 2270 "grammar.y"
     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
     break;
 
   case 700:
 
 /* Line 1464 of yacc.c  */
-#line 2262 "grammar.y"
+#line 2271 "grammar.y"
     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
     break;
 
   case 704:
 
 /* Line 1464 of yacc.c  */
-#line 2266 "grammar.y"
+#line 2275 "grammar.y"
     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 705:
 
 /* Line 1464 of yacc.c  */
-#line 2267 "grammar.y"
+#line 2276 "grammar.y"
     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
     break;
 
   case 706:
 
 /* Line 1464 of yacc.c  */
-#line 2268 "grammar.y"
+#line 2277 "grammar.y"
     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
     break;
 
   case 707:
 
 /* Line 1464 of yacc.c  */
-#line 2269 "grammar.y"
+#line 2278 "grammar.y"
     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
     break;
 
   case 708:
 
 /* Line 1464 of yacc.c  */
-#line 2270 "grammar.y"
+#line 2279 "grammar.y"
     { (yyval.specifier) = MkSpecifier(TYPED_OBJECT); ;}
     break;
 
   case 709:
 
 /* Line 1464 of yacc.c  */
-#line 2271 "grammar.y"
+#line 2280 "grammar.y"
     { (yyval.specifier) = MkSpecifier(ANY_OBJECT); ;}
     break;
 
   case 710:
 
 /* Line 1464 of yacc.c  */
-#line 2272 "grammar.y"
+#line 2281 "grammar.y"
     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
     break;
 
   case 711:
 
 /* Line 1464 of yacc.c  */
-#line 2273 "grammar.y"
+#line 2282 "grammar.y"
     { (yyval.specifier) = MkSpecifier(BOOL); ;}
     break;
 
   case 712:
 
 /* Line 1464 of yacc.c  */
-#line 2274 "grammar.y"
+#line 2283 "grammar.y"
     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
     break;
 
   case 713:
 
 /* Line 1464 of yacc.c  */
-#line 2275 "grammar.y"
+#line 2284 "grammar.y"
     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
     break;
 
   case 714:
 
 /* Line 1464 of yacc.c  */
-#line 2279 "grammar.y"
+#line 2288 "grammar.y"
     { (yyval.specifier) = MkSpecifier(VOID); ;}
     break;
 
   case 715:
 
 /* Line 1464 of yacc.c  */
-#line 2280 "grammar.y"
+#line 2289 "grammar.y"
     { (yyval.specifier) = MkSpecifier(CHAR); ;}
     break;
 
   case 716:
 
 /* Line 1464 of yacc.c  */
-#line 2281 "grammar.y"
+#line 2290 "grammar.y"
     { (yyval.specifier) = MkSpecifier(SHORT); ;}
     break;
 
   case 717:
 
 /* Line 1464 of yacc.c  */
-#line 2282 "grammar.y"
+#line 2291 "grammar.y"
     { (yyval.specifier) = MkSpecifier(INT); ;}
     break;
 
   case 718:
 
 /* Line 1464 of yacc.c  */
-#line 2283 "grammar.y"
+#line 2292 "grammar.y"
     { (yyval.specifier) = MkSpecifier(UINT); ;}
     break;
 
   case 719:
 
 /* Line 1464 of yacc.c  */
-#line 2284 "grammar.y"
+#line 2293 "grammar.y"
     { (yyval.specifier) = MkSpecifier(INT64); ;}
     break;
 
   case 720:
 
 /* Line 1464 of yacc.c  */
-#line 2285 "grammar.y"
+#line 2294 "grammar.y"
     { (yyval.specifier) = MkSpecifier(VALIST); ;}
     break;
 
   case 721:
 
 /* Line 1464 of yacc.c  */
-#line 2286 "grammar.y"
+#line 2295 "grammar.y"
     { (yyval.specifier) = MkSpecifier(LONG); ;}
     break;
 
   case 722:
 
 /* Line 1464 of yacc.c  */
-#line 2287 "grammar.y"
+#line 2296 "grammar.y"
     { (yyval.specifier) = MkSpecifier(FLOAT); ;}
     break;
 
   case 723:
 
 /* Line 1464 of yacc.c  */
-#line 2288 "grammar.y"
+#line 2297 "grammar.y"
     { (yyval.specifier) = MkSpecifier(DOUBLE); ;}
     break;
 
   case 724:
 
 /* Line 1464 of yacc.c  */
-#line 2289 "grammar.y"
+#line 2298 "grammar.y"
     { (yyval.specifier) = MkSpecifier(SIGNED); ;}
     break;
 
   case 725:
 
 /* Line 1464 of yacc.c  */
-#line 2290 "grammar.y"
+#line 2299 "grammar.y"
     { (yyval.specifier) = MkSpecifier(UNSIGNED); ;}
     break;
 
   case 726:
 
 /* Line 1464 of yacc.c  */
-#line 2291 "grammar.y"
+#line 2300 "grammar.y"
     { (yyval.specifier) = MkSpecifier(EXTENSION); ;}
     break;
 
   case 730:
 
 /* Line 1464 of yacc.c  */
-#line 2295 "grammar.y"
+#line 2304 "grammar.y"
     { (yyval.specifier) = MkSpecifier(_BOOL); ;}
     break;
 
   case 731:
 
 /* Line 1464 of yacc.c  */
-#line 2296 "grammar.y"
+#line 2305 "grammar.y"
     { (yyval.specifier) = MkSpecifier(BOOL); ;}
     break;
 
   case 732:
 
 /* Line 1464 of yacc.c  */
-#line 2297 "grammar.y"
+#line 2306 "grammar.y"
     { (yyval.specifier) = MkSpecifier(_COMPLEX); ;}
     break;
 
   case 733:
 
 /* Line 1464 of yacc.c  */
-#line 2298 "grammar.y"
+#line 2307 "grammar.y"
     { (yyval.specifier) = MkSpecifier(_IMAGINARY); ;}
     break;
 
   case 734:
 
 /* Line 1464 of yacc.c  */
-#line 2299 "grammar.y"
+#line 2308 "grammar.y"
     { (yyval.specifier) = MkSpecifierTypeOf((yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 735:
 
 /* Line 1464 of yacc.c  */
-#line 2300 "grammar.y"
+#line 2309 "grammar.y"
     { (yyval.specifier) = MkSpecifierSubClass((yyvsp[(3) - (4)].specifier)); ;}
     break;
 
   case 736:
 
 /* Line 1464 of yacc.c  */
-#line 2301 "grammar.y"
+#line 2310 "grammar.y"
     { _DeclClass(0, (yyvsp[(3) - (4)].id).string); (yyval.specifier) = MkSpecifierSubClass(MkSpecifierName((yyvsp[(3) - (4)].id).string)); FreeIdentifier((yyvsp[(3) - (4)].id)); ;}
     break;
 
   case 737:
 
 /* Line 1464 of yacc.c  */
-#line 2302 "grammar.y"
+#line 2311 "grammar.y"
     { (yyval.specifier) = MkSpecifier(THISCLASS); ;}
     break;
 
   case 738:
 
 /* Line 1464 of yacc.c  */
-#line 2309 "grammar.y"
+#line 2318 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 739:
 
 /* Line 1464 of yacc.c  */
-#line 2311 "grammar.y"
+#line 2320 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.declarator).structDecl.attrib = (yyvsp[(2) - (2)].attrib); (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 740:
 
 /* Line 1464 of yacc.c  */
-#line 2313 "grammar.y"
+#line 2322 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 741:
 
 /* Line 1464 of yacc.c  */
-#line 2315 "grammar.y"
+#line 2324 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 742:
 
 /* Line 1464 of yacc.c  */
-#line 2317 "grammar.y"
+#line 2326 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 743:
 
 /* Line 1464 of yacc.c  */
-#line 2319 "grammar.y"
+#line 2328 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator(null, (yyvsp[(2) - (2)].exp));  (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 744:
 
 /* Line 1464 of yacc.c  */
-#line 2321 "grammar.y"
+#line 2330 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].exp));  (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 745:
 
 /* Line 1464 of yacc.c  */
-#line 2323 "grammar.y"
+#line 2332 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 746:
 
 /* Line 1464 of yacc.c  */
-#line 2325 "grammar.y"
+#line 2334 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 747:
 
 /* Line 1464 of yacc.c  */
-#line 2327 "grammar.y"
+#line 2336 "grammar.y"
     { (yyval.declarator) = MkStructDeclarator((yyvsp[(1) - (5)].declarator), (yyvsp[(3) - (5)].exp)); (yyval.declarator).structDecl.posExp = (yyvsp[(5) - (5)].exp); (yyval.declarator).loc = (yyloc); ;}
     break;
 
   case 748:
 
 /* Line 1464 of yacc.c  */
-#line 2331 "grammar.y"
+#line 2340 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declarator)); ;}
     break;
 
   case 749:
 
 /* Line 1464 of yacc.c  */
-#line 2332 "grammar.y"
+#line 2341 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].declarator)); ;}
     break;
 
   case 750:
 
 /* Line 1464 of yacc.c  */
-#line 2337 "grammar.y"
+#line 2346 "grammar.y"
     {
          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), (yyvsp[(2) - (2)].id), null);
          (yyval.specifier).addNameSpace = true;
@@ -18533,7 +18542,7 @@ yyreduce:
   case 751:
 
 /* Line 1464 of yacc.c  */
-#line 2343 "grammar.y"
+#line 2352 "grammar.y"
     {
          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (2)].specifierType), MkIdentifier((yyvsp[(2) - (2)].specifier).name), null);
          (yyval.specifier).ctx = PushContext();
@@ -18544,7 +18553,7 @@ yyreduce:
   case 752:
 
 /* Line 1464 of yacc.c  */
-#line 2349 "grammar.y"
+#line 2358 "grammar.y"
     {
          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), (yyvsp[(3) - (3)].id), null);
          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
@@ -18556,7 +18565,7 @@ yyreduce:
   case 753:
 
 /* Line 1464 of yacc.c  */
-#line 2356 "grammar.y"
+#line 2365 "grammar.y"
     {
          (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), MkIdentifier((yyvsp[(3) - (3)].specifier).name), null);
          (yyval.specifier).extDeclStruct = (yyvsp[(2) - (3)].extDecl);
@@ -18568,105 +18577,105 @@ yyreduce:
   case 754:
 
 /* Line 1464 of yacc.c  */
-#line 2365 "grammar.y"
+#line 2374 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
     break;
 
   case 755:
 
 /* Line 1464 of yacc.c  */
-#line 2366 "grammar.y"
+#line 2375 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 756:
 
 /* Line 1464 of yacc.c  */
-#line 2367 "grammar.y"
+#line 2376 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 757:
 
 /* Line 1464 of yacc.c  */
-#line 2368 "grammar.y"
+#line 2377 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); (yyval.specifier).loc = (yyloc); POP_DEFAULT_ACCESS ;}
     break;
 
   case 758:
 
 /* Line 1464 of yacc.c  */
-#line 2372 "grammar.y"
+#line 2381 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 759:
 
 /* Line 1464 of yacc.c  */
-#line 2373 "grammar.y"
+#line 2382 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); AddStructDefinitions((yyvsp[(1) - (3)].specifier), (yyvsp[(3) - (3)].list));  POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 760:
 
 /* Line 1464 of yacc.c  */
-#line 2374 "grammar.y"
+#line 2383 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 761:
 
 /* Line 1464 of yacc.c  */
-#line 2376 "grammar.y"
+#line 2385 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 762:
 
 /* Line 1464 of yacc.c  */
-#line 2377 "grammar.y"
+#line 2386 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 763:
 
 /* Line 1464 of yacc.c  */
-#line 2378 "grammar.y"
+#line 2387 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
     break;
 
   case 764:
 
 /* Line 1464 of yacc.c  */
-#line 2380 "grammar.y"
+#line 2389 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
     break;
 
   case 765:
 
 /* Line 1464 of yacc.c  */
-#line 2381 "grammar.y"
+#line 2390 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, (yyvsp[(4) - (4)].list)); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
     break;
 
   case 766:
 
 /* Line 1464 of yacc.c  */
-#line 2382 "grammar.y"
+#line 2391 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (4)].specifierType), null, null); (yyval.specifier).extDeclStruct = (yyvsp[(2) - (4)].extDecl); POP_DEFAULT_ACCESS ;}
     break;
 
   case 767:
 
 /* Line 1464 of yacc.c  */
-#line 2386 "grammar.y"
+#line 2395 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (1)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 768:
 
 /* Line 1464 of yacc.c  */
-#line 2391 "grammar.y"
+#line 2400 "grammar.y"
     {
         (yyval.specifier) = (yyvsp[(1) - (1)].specifier);
         if(declMode)
@@ -18679,7 +18688,7 @@ yyreduce:
   case 769:
 
 /* Line 1464 of yacc.c  */
-#line 2399 "grammar.y"
+#line 2408 "grammar.y"
     {
       Symbol symbol = ((yyvsp[(1) - (4)].specifier).addNameSpace ? DeclClassAddNameSpace : DeclClass)(globalContext.nextID++, (yyvsp[(1) - (4)].specifier).id.string);
       (yyval.specifier) = (yyvsp[(1) - (4)].specifier);
@@ -18690,7 +18699,7 @@ yyreduce:
   case 770:
 
 /* Line 1464 of yacc.c  */
-#line 2408 "grammar.y"
+#line 2417 "grammar.y"
     {
       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
       (yyval.specifier).baseSpecs = (yyvsp[(3) - (3)].list);
@@ -18701,35 +18710,35 @@ yyreduce:
   case 771:
 
 /* Line 1464 of yacc.c  */
-#line 2416 "grammar.y"
+#line 2425 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (2)].specifier); (yyval.specifier).loc = (yyloc); ;}
     break;
 
   case 772:
 
 /* Line 1464 of yacc.c  */
-#line 2418 "grammar.y"
+#line 2427 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 773:
 
 /* Line 1464 of yacc.c  */
-#line 2419 "grammar.y"
+#line 2428 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 774:
 
 /* Line 1464 of yacc.c  */
-#line 2420 "grammar.y"
+#line 2429 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
     break;
 
   case 775:
 
 /* Line 1464 of yacc.c  */
-#line 2425 "grammar.y"
+#line 2434 "grammar.y"
     {
       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
@@ -18741,7 +18750,7 @@ yyreduce:
   case 776:
 
 /* Line 1464 of yacc.c  */
-#line 2432 "grammar.y"
+#line 2441 "grammar.y"
     {
       (yyval.specifier) = (yyvsp[(1) - (3)].specifier);
       (yyval.specifier).definitions = (yyvsp[(3) - (3)].list);
@@ -18753,14 +18762,14 @@ yyreduce:
   case 777:
 
 /* Line 1464 of yacc.c  */
-#line 2439 "grammar.y"
+#line 2448 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext);;}
     break;
 
   case 778:
 
 /* Line 1464 of yacc.c  */
-#line 2442 "grammar.y"
+#line 2451 "grammar.y"
     {
         PopContext(curContext);
         if(!declMode)
@@ -18778,7 +18787,7 @@ yyreduce:
   case 779:
 
 /* Line 1464 of yacc.c  */
-#line 2455 "grammar.y"
+#line 2464 "grammar.y"
     {
         PopContext(curContext);
 
@@ -18797,483 +18806,483 @@ yyreduce:
   case 780:
 
 /* Line 1464 of yacc.c  */
-#line 2469 "grammar.y"
+#line 2478 "grammar.y"
     { (yyval.specifier) = (yyvsp[(1) - (3)].specifier); POP_DEFAULT_ACCESS PopContext(curContext); ;}
     break;
 
   case 781:
 
 /* Line 1464 of yacc.c  */
-#line 2472 "grammar.y"
+#line 2481 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS  ;}
     break;
 
   case 782:
 
 /* Line 1464 of yacc.c  */
-#line 2474 "grammar.y"
+#line 2483 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, (yyvsp[(3) - (3)].list)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 783:
 
 /* Line 1464 of yacc.c  */
-#line 2476 "grammar.y"
+#line 2485 "grammar.y"
     { (yyval.specifier) = MkStructOrUnion((yyvsp[(1) - (3)].specifierType), null, null); POP_DEFAULT_ACCESS ;}
     break;
 
   case 784:
 
 /* Line 1464 of yacc.c  */
-#line 2480 "grammar.y"
+#line 2489 "grammar.y"
     { (yyval.specifierType) = structSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
     break;
 
   case 785:
 
 /* Line 1464 of yacc.c  */
-#line 2481 "grammar.y"
+#line 2490 "grammar.y"
     { (yyval.specifierType) = unionSpecifier; memberAccessStack[++defaultMemberAccess] = publicAccess; ;}
     break;
 
   case 786:
 
 /* Line 1464 of yacc.c  */
-#line 2485 "grammar.y"
+#line 2494 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 787:
 
 /* Line 1464 of yacc.c  */
-#line 2486 "grammar.y"
+#line 2495 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 788:
 
 /* Line 1464 of yacc.c  */
-#line 2487 "grammar.y"
+#line 2496 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 789:
 
 /* Line 1464 of yacc.c  */
-#line 2488 "grammar.y"
+#line 2497 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 790:
 
 /* Line 1464 of yacc.c  */
-#line 2489 "grammar.y"
+#line 2498 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 791:
 
 /* Line 1464 of yacc.c  */
-#line 2490 "grammar.y"
+#line 2499 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 792:
 
 /* Line 1464 of yacc.c  */
-#line 2491 "grammar.y"
+#line 2500 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 793:
 
 /* Line 1464 of yacc.c  */
-#line 2492 "grammar.y"
+#line 2501 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 794:
 
 /* Line 1464 of yacc.c  */
-#line 2496 "grammar.y"
+#line 2505 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 795:
 
 /* Line 1464 of yacc.c  */
-#line 2497 "grammar.y"
+#line 2506 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 796:
 
 /* Line 1464 of yacc.c  */
-#line 2498 "grammar.y"
+#line 2507 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 797:
 
 /* Line 1464 of yacc.c  */
-#line 2499 "grammar.y"
+#line 2508 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 798:
 
 /* Line 1464 of yacc.c  */
-#line 2500 "grammar.y"
+#line 2509 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 799:
 
 /* Line 1464 of yacc.c  */
-#line 2501 "grammar.y"
+#line 2510 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 800:
 
 /* Line 1464 of yacc.c  */
-#line 2502 "grammar.y"
+#line 2511 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 801:
 
 /* Line 1464 of yacc.c  */
-#line 2503 "grammar.y"
+#line 2512 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 802:
 
 /* Line 1464 of yacc.c  */
-#line 2504 "grammar.y"
+#line 2513 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 803:
 
 /* Line 1464 of yacc.c  */
-#line 2505 "grammar.y"
+#line 2514 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 804:
 
 /* Line 1464 of yacc.c  */
-#line 2509 "grammar.y"
+#line 2518 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 805:
 
 /* Line 1464 of yacc.c  */
-#line 2510 "grammar.y"
+#line 2519 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 806:
 
 /* Line 1464 of yacc.c  */
-#line 2511 "grammar.y"
+#line 2520 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 807:
 
 /* Line 1464 of yacc.c  */
-#line 2512 "grammar.y"
+#line 2521 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 808:
 
 /* Line 1464 of yacc.c  */
-#line 2513 "grammar.y"
+#line 2522 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 809:
 
 /* Line 1464 of yacc.c  */
-#line 2514 "grammar.y"
+#line 2523 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 810:
 
 /* Line 1464 of yacc.c  */
-#line 2515 "grammar.y"
+#line 2524 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 811:
 
 /* Line 1464 of yacc.c  */
-#line 2516 "grammar.y"
+#line 2525 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 812:
 
 /* Line 1464 of yacc.c  */
-#line 2517 "grammar.y"
+#line 2526 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 813:
 
 /* Line 1464 of yacc.c  */
-#line 2518 "grammar.y"
+#line 2527 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 814:
 
 /* Line 1464 of yacc.c  */
-#line 2522 "grammar.y"
+#line 2531 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 815:
 
 /* Line 1464 of yacc.c  */
-#line 2523 "grammar.y"
+#line 2532 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 816:
 
 /* Line 1464 of yacc.c  */
-#line 2524 "grammar.y"
+#line 2533 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 817:
 
 /* Line 1464 of yacc.c  */
-#line 2525 "grammar.y"
+#line 2534 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 818:
 
 /* Line 1464 of yacc.c  */
-#line 2526 "grammar.y"
+#line 2535 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 819:
 
 /* Line 1464 of yacc.c  */
-#line 2527 "grammar.y"
+#line 2536 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 820:
 
 /* Line 1464 of yacc.c  */
-#line 2528 "grammar.y"
+#line 2537 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 821:
 
 /* Line 1464 of yacc.c  */
-#line 2529 "grammar.y"
+#line 2538 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 822:
 
 /* Line 1464 of yacc.c  */
-#line 2530 "grammar.y"
+#line 2539 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 823:
 
 /* Line 1464 of yacc.c  */
-#line 2531 "grammar.y"
+#line 2540 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 824:
 
 /* Line 1464 of yacc.c  */
-#line 2532 "grammar.y"
+#line 2541 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 825:
 
 /* Line 1464 of yacc.c  */
-#line 2533 "grammar.y"
+#line 2542 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 826:
 
 /* Line 1464 of yacc.c  */
-#line 2537 "grammar.y"
+#line 2546 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 827:
 
 /* Line 1464 of yacc.c  */
-#line 2538 "grammar.y"
+#line 2547 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 828:
 
 /* Line 1464 of yacc.c  */
-#line 2539 "grammar.y"
+#line 2548 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 829:
 
 /* Line 1464 of yacc.c  */
-#line 2540 "grammar.y"
+#line 2549 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 830:
 
 /* Line 1464 of yacc.c  */
-#line 2541 "grammar.y"
+#line 2550 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 831:
 
 /* Line 1464 of yacc.c  */
-#line 2542 "grammar.y"
+#line 2551 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 832:
 
 /* Line 1464 of yacc.c  */
-#line 2543 "grammar.y"
+#line 2552 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 833:
 
 /* Line 1464 of yacc.c  */
-#line 2544 "grammar.y"
+#line 2553 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 834:
 
 /* Line 1464 of yacc.c  */
-#line 2545 "grammar.y"
+#line 2554 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 835:
 
 /* Line 1464 of yacc.c  */
-#line 2546 "grammar.y"
+#line 2555 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 836:
 
 /* Line 1464 of yacc.c  */
-#line 2550 "grammar.y"
+#line 2559 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 837:
 
 /* Line 1464 of yacc.c  */
-#line 2551 "grammar.y"
+#line 2560 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 838:
 
 /* Line 1464 of yacc.c  */
-#line 2555 "grammar.y"
+#line 2564 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PRIVATE)); ;}
     break;
 
   case 839:
 
 /* Line 1464 of yacc.c  */
-#line 2556 "grammar.y"
+#line 2565 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifier(PUBLIC)); ;}
     break;
 
   case 840:
 
 /* Line 1464 of yacc.c  */
-#line 2557 "grammar.y"
+#line 2566 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 841:
 
 /* Line 1464 of yacc.c  */
-#line 2558 "grammar.y"
+#line 2567 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 842:
 
 /* Line 1464 of yacc.c  */
-#line 2559 "grammar.y"
+#line 2568 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 843:
 
 /* Line 1464 of yacc.c  */
-#line 2560 "grammar.y"
+#line 2569 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 844:
 
 /* Line 1464 of yacc.c  */
-#line 2561 "grammar.y"
+#line 2570 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 845:
 
 /* Line 1464 of yacc.c  */
-#line 2562 "grammar.y"
+#line 2571 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 846:
 
 /* Line 1464 of yacc.c  */
-#line 2564 "grammar.y"
+#line 2573 "grammar.y"
     { _DeclClass(0, (yyvsp[(1) - (1)].id).string); (yyval.list) = MkListOne(MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id)); ;}
     break;
 
   case 847:
 
 /* Line 1464 of yacc.c  */
-#line 2565 "grammar.y"
+#line 2574 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); _DeclClass(0, (yyvsp[(2) - (2)].id).string); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id)); ;}
     break;
 
   case 848:
 
 /* Line 1464 of yacc.c  */
-#line 2568 "grammar.y"
+#line 2577 "grammar.y"
     {
          // if($1._class && !$1._class.name)
          if((yyvsp[(1) - (4)].id)._class)
@@ -19296,7 +19305,7 @@ yyreduce:
   case 849:
 
 /* Line 1464 of yacc.c  */
-#line 2586 "grammar.y"
+#line 2595 "grammar.y"
     {
          (yyval.list) = (yyvsp[(1) - (5)].list);
          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
@@ -19316,70 +19325,70 @@ yyreduce:
   case 851:
 
 /* Line 1464 of yacc.c  */
-#line 2604 "grammar.y"
+#line 2613 "grammar.y"
     { (yyval.list) = MkListOne(MkStructOrUnion((yyvsp[(1) - (1)].specifierType), null, null)); POP_DEFAULT_ACCESS ;}
     break;
 
   case 852:
 
 /* Line 1464 of yacc.c  */
-#line 2608 "grammar.y"
+#line 2617 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 853:
 
 /* Line 1464 of yacc.c  */
-#line 2609 "grammar.y"
+#line 2618 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 854:
 
 /* Line 1464 of yacc.c  */
-#line 2610 "grammar.y"
+#line 2619 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 855:
 
 /* Line 1464 of yacc.c  */
-#line 2611 "grammar.y"
+#line 2620 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 856:
 
 /* Line 1464 of yacc.c  */
-#line 2612 "grammar.y"
+#line 2621 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 857:
 
 /* Line 1464 of yacc.c  */
-#line 2613 "grammar.y"
+#line 2622 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 858:
 
 /* Line 1464 of yacc.c  */
-#line 2614 "grammar.y"
+#line 2623 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
     break;
 
   case 859:
 
 /* Line 1464 of yacc.c  */
-#line 2615 "grammar.y"
+#line 2624 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
     break;
 
   case 860:
 
 /* Line 1464 of yacc.c  */
-#line 2617 "grammar.y"
+#line 2626 "grammar.y"
     {
          // if($1._class && !$1._class.name)
          if((yyvsp[(1) - (4)].id)._class)
@@ -19402,7 +19411,7 @@ yyreduce:
   case 861:
 
 /* Line 1464 of yacc.c  */
-#line 2635 "grammar.y"
+#line 2644 "grammar.y"
     {
          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
          {
@@ -19421,91 +19430,91 @@ yyreduce:
   case 862:
 
 /* Line 1464 of yacc.c  */
-#line 2651 "grammar.y"
+#line 2660 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 863:
 
 /* Line 1464 of yacc.c  */
-#line 2652 "grammar.y"
+#line 2661 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 864:
 
 /* Line 1464 of yacc.c  */
-#line 2653 "grammar.y"
+#line 2662 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 865:
 
 /* Line 1464 of yacc.c  */
-#line 2654 "grammar.y"
+#line 2663 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 866:
 
 /* Line 1464 of yacc.c  */
-#line 2655 "grammar.y"
+#line 2664 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 867:
 
 /* Line 1464 of yacc.c  */
-#line 2656 "grammar.y"
+#line 2665 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 868:
 
 /* Line 1464 of yacc.c  */
-#line 2657 "grammar.y"
+#line 2666 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 869:
 
 /* Line 1464 of yacc.c  */
-#line 2658 "grammar.y"
+#line 2667 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 870:
 
 /* Line 1464 of yacc.c  */
-#line 2659 "grammar.y"
+#line 2668 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 871:
 
 /* Line 1464 of yacc.c  */
-#line 2660 "grammar.y"
+#line 2669 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 872:
 
 /* Line 1464 of yacc.c  */
-#line 2661 "grammar.y"
+#line 2670 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
     break;
 
   case 873:
 
 /* Line 1464 of yacc.c  */
-#line 2662 "grammar.y"
+#line 2671 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
     break;
 
   case 874:
 
 /* Line 1464 of yacc.c  */
-#line 2664 "grammar.y"
+#line 2673 "grammar.y"
     {
          // if($1._class && !$1._class.name)
          if((yyvsp[(1) - (4)].id)._class)
@@ -19528,7 +19537,7 @@ yyreduce:
   case 875:
 
 /* Line 1464 of yacc.c  */
-#line 2682 "grammar.y"
+#line 2691 "grammar.y"
     {
          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
          {
@@ -19547,91 +19556,91 @@ yyreduce:
   case 876:
 
 /* Line 1464 of yacc.c  */
-#line 2698 "grammar.y"
+#line 2707 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 877:
 
 /* Line 1464 of yacc.c  */
-#line 2699 "grammar.y"
+#line 2708 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 878:
 
 /* Line 1464 of yacc.c  */
-#line 2700 "grammar.y"
+#line 2709 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 879:
 
 /* Line 1464 of yacc.c  */
-#line 2701 "grammar.y"
+#line 2710 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 880:
 
 /* Line 1464 of yacc.c  */
-#line 2702 "grammar.y"
+#line 2711 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 881:
 
 /* Line 1464 of yacc.c  */
-#line 2703 "grammar.y"
+#line 2712 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 882:
 
 /* Line 1464 of yacc.c  */
-#line 2704 "grammar.y"
+#line 2713 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 883:
 
 /* Line 1464 of yacc.c  */
-#line 2705 "grammar.y"
+#line 2714 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 884:
 
 /* Line 1464 of yacc.c  */
-#line 2706 "grammar.y"
+#line 2715 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].specifier)); ;}
     break;
 
   case 885:
 
 /* Line 1464 of yacc.c  */
-#line 2707 "grammar.y"
+#line 2716 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].specifier)); ;}
     break;
 
   case 886:
 
 /* Line 1464 of yacc.c  */
-#line 2708 "grammar.y"
+#line 2717 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkSpecifierName((yyvsp[(1) - (1)].id).string)); FreeIdentifier((yyvsp[(1) - (1)].id));}
     break;
 
   case 887:
 
 /* Line 1464 of yacc.c  */
-#line 2709 "grammar.y"
+#line 2718 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), MkSpecifierName((yyvsp[(2) - (2)].id).string)); FreeIdentifier((yyvsp[(2) - (2)].id));}
     break;
 
   case 888:
 
 /* Line 1464 of yacc.c  */
-#line 2711 "grammar.y"
+#line 2720 "grammar.y"
     {
          // if($1._class && !$1._class.name)
          if((yyvsp[(1) - (4)].id)._class)
@@ -19654,7 +19663,7 @@ yyreduce:
   case 889:
 
 /* Line 1464 of yacc.c  */
-#line 2729 "grammar.y"
+#line 2738 "grammar.y"
     {
          if((yyvsp[(2) - (5)].id)._class && !(yyvsp[(2) - (5)].id)._class.name)
          {
@@ -19673,56 +19682,56 @@ yyreduce:
   case 890:
 
 /* Line 1464 of yacc.c  */
-#line 2745 "grammar.y"
+#line 2754 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
     break;
 
   case 891:
 
 /* Line 1464 of yacc.c  */
-#line 2746 "grammar.y"
+#line 2755 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
     break;
 
   case 892:
 
 /* Line 1464 of yacc.c  */
-#line 2750 "grammar.y"
+#line 2759 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)))); ;}
     break;
 
   case 893:
 
 /* Line 1464 of yacc.c  */
-#line 2751 "grammar.y"
+#line 2760 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
     break;
 
   case 894:
 
 /* Line 1464 of yacc.c  */
-#line 2752 "grammar.y"
+#line 2761 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
     break;
 
   case 895:
 
 /* Line 1464 of yacc.c  */
-#line 2753 "grammar.y"
+#line 2762 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
     break;
 
   case 896:
 
 /* Line 1464 of yacc.c  */
-#line 2754 "grammar.y"
+#line 2763 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, MkDeclaratorIdentifier((yyvsp[(3) - (3)].id)))); ;}
     break;
 
   case 898:
 
 /* Line 1464 of yacc.c  */
-#line 2760 "grammar.y"
+#line 2769 "grammar.y"
     {
       char * colon = RSearchString((yyvsp[(1) - (1)].specifier).name, "::", strlen((yyvsp[(1) - (1)].specifier).name), true, false);
       String s = colon ? colon + 2 : (yyvsp[(1) - (1)].specifier).name;
@@ -19734,14 +19743,14 @@ yyreduce:
   case 899:
 
 /* Line 1464 of yacc.c  */
-#line 2766 "grammar.y"
+#line 2775 "grammar.y"
     { (yyval.declarator) = MkDeclaratorIdentifier(MkIdentifier("uint")); ;}
     break;
 
   case 900:
 
 /* Line 1464 of yacc.c  */
-#line 2769 "grammar.y"
+#line 2778 "grammar.y"
     {
          Declarator decl;
          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
@@ -19755,7 +19764,7 @@ yyreduce:
   case 901:
 
 /* Line 1464 of yacc.c  */
-#line 2778 "grammar.y"
+#line 2787 "grammar.y"
     {
          Declarator decl;
          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
@@ -19769,7 +19778,7 @@ yyreduce:
   case 902:
 
 /* Line 1464 of yacc.c  */
-#line 2787 "grammar.y"
+#line 2796 "grammar.y"
     {
          Declarator decl;
          char * colon = RSearchString((yyvsp[(1) - (4)].specifier).name, "::", strlen((yyvsp[(1) - (4)].specifier).name), true, false);
@@ -19783,7 +19792,7 @@ yyreduce:
   case 903:
 
 /* Line 1464 of yacc.c  */
-#line 2796 "grammar.y"
+#line 2805 "grammar.y"
     {
          Declarator decl;
          char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
@@ -19797,133 +19806,133 @@ yyreduce:
   case 904:
 
 /* Line 1464 of yacc.c  */
-#line 2804 "grammar.y"
+#line 2813 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 905:
 
 /* Line 1464 of yacc.c  */
-#line 2805 "grammar.y"
+#line 2814 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 906:
 
 /* Line 1464 of yacc.c  */
-#line 2806 "grammar.y"
+#line 2815 "grammar.y"
     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
     break;
 
   case 907:
 
 /* Line 1464 of yacc.c  */
-#line 2807 "grammar.y"
+#line 2816 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
     break;
 
   case 908:
 
 /* Line 1464 of yacc.c  */
-#line 2811 "grammar.y"
+#line 2820 "grammar.y"
     { (yyval.declarator) = MkDeclaratorIdentifier((yyvsp[(1) - (1)].id)); ;}
     break;
 
   case 909:
 
 /* Line 1464 of yacc.c  */
-#line 2812 "grammar.y"
+#line 2821 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
     break;
 
   case 910:
 
 /* Line 1464 of yacc.c  */
-#line 2813 "grammar.y"
+#line 2822 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
     break;
 
   case 911:
 
 /* Line 1464 of yacc.c  */
-#line 2814 "grammar.y"
+#line 2823 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
     break;
 
   case 912:
 
 /* Line 1464 of yacc.c  */
-#line 2815 "grammar.y"
+#line 2824 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
     break;
 
   case 913:
 
 /* Line 1464 of yacc.c  */
-#line 2816 "grammar.y"
+#line 2825 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 914:
 
 /* Line 1464 of yacc.c  */
-#line 2817 "grammar.y"
+#line 2826 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 915:
 
 /* Line 1464 of yacc.c  */
-#line 2818 "grammar.y"
+#line 2827 "grammar.y"
     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
     break;
 
   case 916:
 
 /* Line 1464 of yacc.c  */
-#line 2819 "grammar.y"
+#line 2828 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
     break;
 
   case 918:
 
 /* Line 1464 of yacc.c  */
-#line 2827 "grammar.y"
+#line 2836 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 919:
 
 /* Line 1464 of yacc.c  */
-#line 2828 "grammar.y"
+#line 2837 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 920:
 
 /* Line 1464 of yacc.c  */
-#line 2829 "grammar.y"
+#line 2838 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 921:
 
 /* Line 1464 of yacc.c  */
-#line 2830 "grammar.y"
+#line 2839 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 922:
 
 /* Line 1464 of yacc.c  */
-#line 2831 "grammar.y"
+#line 2840 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
     break;
 
   case 923:
 
 /* Line 1464 of yacc.c  */
-#line 2837 "grammar.y"
+#line 2846 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
@@ -19937,7 +19946,7 @@ yyreduce:
   case 924:
 
 /* Line 1464 of yacc.c  */
-#line 2846 "grammar.y"
+#line 2855 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
@@ -19951,7 +19960,7 @@ yyreduce:
   case 925:
 
 /* Line 1464 of yacc.c  */
-#line 2855 "grammar.y"
+#line 2864 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
@@ -19965,7 +19974,7 @@ yyreduce:
   case 926:
 
 /* Line 1464 of yacc.c  */
-#line 2864 "grammar.y"
+#line 2873 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
@@ -19981,42 +19990,42 @@ yyreduce:
   case 930:
 
 /* Line 1464 of yacc.c  */
-#line 2887 "grammar.y"
+#line 2896 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 931:
 
 /* Line 1464 of yacc.c  */
-#line 2888 "grammar.y"
+#line 2897 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 932:
 
 /* Line 1464 of yacc.c  */
-#line 2889 "grammar.y"
+#line 2898 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 933:
 
 /* Line 1464 of yacc.c  */
-#line 2890 "grammar.y"
+#line 2899 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 934:
 
 /* Line 1464 of yacc.c  */
-#line 2891 "grammar.y"
+#line 2900 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null); ;}
     break;
 
   case 935:
 
 /* Line 1464 of yacc.c  */
-#line 2897 "grammar.y"
+#line 2906 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), (yyvsp[(2) - (2)].list));
          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
@@ -20030,7 +20039,7 @@ yyreduce:
   case 936:
 
 /* Line 1464 of yacc.c  */
-#line 2906 "grammar.y"
+#line 2915 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (2)].declarator), null);
          fileInput.Seek((yylsp[(1) - (2)]).end.pos, start);
@@ -20044,7 +20053,7 @@ yyreduce:
   case 937:
 
 /* Line 1464 of yacc.c  */
-#line 2915 "grammar.y"
+#line 2924 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list));
          fileInput.Seek((yylsp[(1) - (3)]).end.pos, start);
@@ -20058,7 +20067,7 @@ yyreduce:
   case 938:
 
 /* Line 1464 of yacc.c  */
-#line 2924 "grammar.y"
+#line 2933 "grammar.y"
     {
          (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), null);
          fileInput.Seek((yylsp[(1) - (4)]).end.pos, start);
@@ -20074,28 +20083,28 @@ yyreduce:
   case 941:
 
 /* Line 1464 of yacc.c  */
-#line 2987 "grammar.y"
+#line 2996 "grammar.y"
     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
     break;
 
   case 942:
 
 /* Line 1464 of yacc.c  */
-#line 2988 "grammar.y"
+#line 2997 "grammar.y"
     { (yyval.extDecl) = MkExtDeclString(CopyString(yytext)); ;}
     break;
 
   case 943:
 
 /* Line 1464 of yacc.c  */
-#line 2989 "grammar.y"
+#line 2998 "grammar.y"
     { (yyval.extDecl) = MkExtDeclAttrib((yyvsp[(1) - (1)].attrib)); ;}
     break;
 
   case 944:
 
 /* Line 1464 of yacc.c  */
-#line 2991 "grammar.y"
+#line 3000 "grammar.y"
     {
          char temp[1024];
          strcpy(temp, "__asm__(");
@@ -20109,532 +20118,532 @@ yyreduce:
   case 945:
 
 /* Line 1464 of yacc.c  */
-#line 3002 "grammar.y"
+#line 3011 "grammar.y"
     { (yyval.i) = ATTRIB; ;}
     break;
 
   case 946:
 
 /* Line 1464 of yacc.c  */
-#line 3003 "grammar.y"
+#line 3012 "grammar.y"
     { (yyval.i) = ATTRIB_DEP; ;}
     break;
 
   case 947:
 
 /* Line 1464 of yacc.c  */
-#line 3004 "grammar.y"
+#line 3013 "grammar.y"
     { (yyval.i) = __ATTRIB; ;}
     break;
 
   case 948:
 
 /* Line 1464 of yacc.c  */
-#line 3009 "grammar.y"
+#line 3018 "grammar.y"
     { (yyval.string)  = CopyString(yytext); ;}
     break;
 
   case 949:
 
 /* Line 1464 of yacc.c  */
-#line 3010 "grammar.y"
+#line 3019 "grammar.y"
     { (yyval.string)  = CopyString(yytext); ;}
     break;
 
   case 950:
 
 /* Line 1464 of yacc.c  */
-#line 3011 "grammar.y"
+#line 3020 "grammar.y"
     { (yyval.string)  = CopyString(yytext); ;}
     break;
 
   case 951:
 
 /* Line 1464 of yacc.c  */
-#line 3012 "grammar.y"
+#line 3021 "grammar.y"
     { (yyval.string)  = CopyString(yytext); ;}
     break;
 
   case 952:
 
 /* Line 1464 of yacc.c  */
-#line 3013 "grammar.y"
+#line 3022 "grammar.y"
     { (yyval.string)  = CopyString(yytext); ;}
     break;
 
   case 953:
 
 /* Line 1464 of yacc.c  */
-#line 3017 "grammar.y"
+#line 3026 "grammar.y"
     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (1)].string), null); (yyval.attribute).loc = (yyloc); ;}
     break;
 
   case 954:
 
 /* Line 1464 of yacc.c  */
-#line 3018 "grammar.y"
+#line 3027 "grammar.y"
     { (yyval.attribute) = MkAttribute((yyvsp[(1) - (4)].string), MkExpBrackets((yyvsp[(3) - (4)].list))); (yyval.attribute).loc = (yyloc); ;}
     break;
 
   case 955:
 
 /* Line 1464 of yacc.c  */
-#line 3022 "grammar.y"
+#line 3031 "grammar.y"
     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].attribute)); ;}
     break;
 
   case 956:
 
 /* Line 1464 of yacc.c  */
-#line 3023 "grammar.y"
+#line 3032 "grammar.y"
     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].attribute)); (yyval.list) = (yyvsp[(1) - (2)].list); ;}
     break;
 
   case 957:
 
 /* Line 1464 of yacc.c  */
-#line 3024 "grammar.y"
+#line 3033 "grammar.y"
     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].attribute)); (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 958:
 
 /* Line 1464 of yacc.c  */
-#line 3028 "grammar.y"
+#line 3037 "grammar.y"
     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (6)].i), (yyvsp[(4) - (6)].list)); (yyval.attrib).loc = (yyloc); ;}
     break;
 
   case 959:
 
 /* Line 1464 of yacc.c  */
-#line 3029 "grammar.y"
+#line 3038 "grammar.y"
     { (yyval.attrib) = MkAttrib((yyvsp[(1) - (5)].i), null); (yyval.attrib).loc = (yyloc); ;}
     break;
 
   case 960:
 
 /* Line 1464 of yacc.c  */
-#line 3033 "grammar.y"
+#line 3042 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
     break;
 
   case 961:
 
 /* Line 1464 of yacc.c  */
-#line 3034 "grammar.y"
+#line 3043 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
     break;
 
   case 962:
 
 /* Line 1464 of yacc.c  */
-#line 3035 "grammar.y"
+#line 3044 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray(null, null); ;}
     break;
 
   case 963:
 
 /* Line 1464 of yacc.c  */
-#line 3036 "grammar.y"
+#line 3045 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
     break;
 
   case 964:
 
 /* Line 1464 of yacc.c  */
-#line 3037 "grammar.y"
+#line 3046 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray(null, (yyvsp[(2) - (3)].exp)); ;}
     break;
 
   case 965:
 
 /* Line 1464 of yacc.c  */
-#line 3038 "grammar.y"
+#line 3047 "grammar.y"
     { (yyval.declarator) = MkDeclaratorEnumArray(null, (yyvsp[(2) - (3)].specifier)); ;}
     break;
 
   case 966:
 
 /* Line 1464 of yacc.c  */
-#line 3039 "grammar.y"
+#line 3048 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (3)].declarator), null); ;}
     break;
 
   case 967:
 
 /* Line 1464 of yacc.c  */
-#line 3040 "grammar.y"
+#line 3049 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 968:
 
 /* Line 1464 of yacc.c  */
-#line 3041 "grammar.y"
+#line 3050 "grammar.y"
     { (yyval.declarator) = MkDeclaratorEnumArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].specifier)); ;}
     break;
 
   case 969:
 
 /* Line 1464 of yacc.c  */
-#line 3042 "grammar.y"
+#line 3051 "grammar.y"
     { (yyval.declarator) = MkDeclaratorArray((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].exp)); ;}
     break;
 
   case 970:
 
 /* Line 1464 of yacc.c  */
-#line 3043 "grammar.y"
+#line 3052 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
     break;
 
   case 971:
 
 /* Line 1464 of yacc.c  */
-#line 3044 "grammar.y"
+#line 3053 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 972:
 
 /* Line 1464 of yacc.c  */
-#line 3045 "grammar.y"
+#line 3054 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 973:
 
 /* Line 1464 of yacc.c  */
-#line 3046 "grammar.y"
+#line 3055 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
     break;
 
   case 974:
 
 /* Line 1464 of yacc.c  */
-#line 3047 "grammar.y"
+#line 3056 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
     break;
 
   case 975:
 
 /* Line 1464 of yacc.c  */
-#line 3048 "grammar.y"
+#line 3057 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
     break;
 
   case 976:
 
 /* Line 1464 of yacc.c  */
-#line 3052 "grammar.y"
+#line 3061 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets((yyvsp[(2) - (3)].declarator)); ;}
     break;
 
   case 977:
 
 /* Line 1464 of yacc.c  */
-#line 3053 "grammar.y"
+#line 3062 "grammar.y"
     { (yyval.declarator) = MkDeclaratorBrackets(MkDeclaratorExtended((yyvsp[(2) - (4)].extDecl), (yyvsp[(3) - (4)].declarator))); ;}
     break;
 
   case 978:
 
 /* Line 1464 of yacc.c  */
-#line 3054 "grammar.y"
+#line 3063 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction(null, null); ;}
     break;
 
   case 979:
 
 /* Line 1464 of yacc.c  */
-#line 3055 "grammar.y"
+#line 3064 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 980:
 
 /* Line 1464 of yacc.c  */
-#line 3056 "grammar.y"
+#line 3065 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction(null, (yyvsp[(2) - (3)].list)); ;}
     break;
 
   case 981:
 
 /* Line 1464 of yacc.c  */
-#line 3057 "grammar.y"
+#line 3066 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (3)].declarator), null); ;}
     break;
 
   case 982:
 
 /* Line 1464 of yacc.c  */
-#line 3058 "grammar.y"
+#line 3067 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
     break;
 
   case 983:
 
 /* Line 1464 of yacc.c  */
-#line 3059 "grammar.y"
+#line 3068 "grammar.y"
     { (yyval.declarator) = MkDeclaratorFunction((yyvsp[(1) - (4)].declarator), (yyvsp[(3) - (4)].list)); ;}
     break;
 
   case 984:
 
 /* Line 1464 of yacc.c  */
-#line 3063 "grammar.y"
+#line 3072 "grammar.y"
     { (yyval.pointer) = MkPointer(null, null); ;}
     break;
 
   case 985:
 
 /* Line 1464 of yacc.c  */
-#line 3064 "grammar.y"
+#line 3073 "grammar.y"
     { (yyval.pointer) = MkPointer((yyvsp[(2) - (2)].list), null); ;}
     break;
 
   case 986:
 
 /* Line 1464 of yacc.c  */
-#line 3065 "grammar.y"
+#line 3074 "grammar.y"
     { (yyval.pointer) = MkPointer(null, (yyvsp[(2) - (2)].pointer)); ;}
     break;
 
   case 987:
 
 /* Line 1464 of yacc.c  */
-#line 3066 "grammar.y"
+#line 3075 "grammar.y"
     { (yyval.pointer) = MkPointer((yyvsp[(2) - (3)].list), (yyvsp[(3) - (3)].pointer)); ;}
     break;
 
   case 988:
 
 /* Line 1464 of yacc.c  */
-#line 3070 "grammar.y"
+#line 3079 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
     break;
 
   case 990:
 
 /* Line 1464 of yacc.c  */
-#line 3072 "grammar.y"
+#line 3081 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 991:
 
 /* Line 1464 of yacc.c  */
-#line 3073 "grammar.y"
+#line 3082 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
     break;
 
   case 992:
 
 /* Line 1464 of yacc.c  */
-#line 3074 "grammar.y"
+#line 3083 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 993:
 
 /* Line 1464 of yacc.c  */
-#line 3078 "grammar.y"
+#line 3087 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (1)].pointer), null); ;}
     break;
 
   case 995:
 
 /* Line 1464 of yacc.c  */
-#line 3080 "grammar.y"
+#line 3089 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 996:
 
 /* Line 1464 of yacc.c  */
-#line 3081 "grammar.y"
+#line 3090 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (2)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (2)].pointer), null)); ;}
     break;
 
   case 997:
 
 /* Line 1464 of yacc.c  */
-#line 3082 "grammar.y"
+#line 3091 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 999:
 
 /* Line 1464 of yacc.c  */
-#line 3088 "grammar.y"
+#line 3097 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1000:
 
 /* Line 1464 of yacc.c  */
-#line 3090 "grammar.y"
+#line 3099 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1001:
 
 /* Line 1464 of yacc.c  */
-#line 3092 "grammar.y"
+#line 3101 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
     break;
 
   case 1002:
 
 /* Line 1464 of yacc.c  */
-#line 3094 "grammar.y"
+#line 3103 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
     break;
 
   case 1004:
 
 /* Line 1464 of yacc.c  */
-#line 3100 "grammar.y"
+#line 3109 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1005:
 
 /* Line 1464 of yacc.c  */
-#line 3102 "grammar.y"
+#line 3111 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1006:
 
 /* Line 1464 of yacc.c  */
-#line 3104 "grammar.y"
+#line 3113 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtendedEnd((yyvsp[(2) - (2)].extDecl), (yyvsp[(1) - (2)].declarator)); ;}
     break;
 
   case 1008:
 
 /* Line 1464 of yacc.c  */
-#line 3109 "grammar.y"
+#line 3118 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1009:
 
 /* Line 1464 of yacc.c  */
-#line 3110 "grammar.y"
+#line 3119 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1010:
 
 /* Line 1464 of yacc.c  */
-#line 3111 "grammar.y"
+#line 3120 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1012:
 
 /* Line 1464 of yacc.c  */
-#line 3116 "grammar.y"
+#line 3125 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1013:
 
 /* Line 1464 of yacc.c  */
-#line 3117 "grammar.y"
+#line 3126 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1014:
 
 /* Line 1464 of yacc.c  */
-#line 3118 "grammar.y"
+#line 3127 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1016:
 
 /* Line 1464 of yacc.c  */
-#line 3123 "grammar.y"
+#line 3132 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1017:
 
 /* Line 1464 of yacc.c  */
-#line 3124 "grammar.y"
+#line 3133 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1018:
 
 /* Line 1464 of yacc.c  */
-#line 3125 "grammar.y"
+#line 3134 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1020:
 
 /* Line 1464 of yacc.c  */
-#line 3130 "grammar.y"
+#line 3139 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1021:
 
 /* Line 1464 of yacc.c  */
-#line 3131 "grammar.y"
+#line 3140 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1022:
 
 /* Line 1464 of yacc.c  */
-#line 3132 "grammar.y"
+#line 3141 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1024:
 
 /* Line 1464 of yacc.c  */
-#line 3137 "grammar.y"
+#line 3146 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (2)].pointer), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1025:
 
 /* Line 1464 of yacc.c  */
-#line 3138 "grammar.y"
+#line 3147 "grammar.y"
     { (yyval.declarator) = MkDeclaratorExtended((yyvsp[(1) - (3)].extDecl), MkDeclaratorPointer((yyvsp[(2) - (3)].pointer), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1026:
 
 /* Line 1464 of yacc.c  */
-#line 3139 "grammar.y"
+#line 3148 "grammar.y"
     { (yyval.declarator) = MkDeclaratorPointer((yyvsp[(1) - (3)].pointer), MkDeclaratorExtended((yyvsp[(2) - (3)].extDecl), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1027:
 
 /* Line 1464 of yacc.c  */
-#line 3143 "grammar.y"
+#line 3152 "grammar.y"
     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1028:
 
 /* Line 1464 of yacc.c  */
-#line 3144 "grammar.y"
+#line 3153 "grammar.y"
     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1029:
 
 /* Line 1464 of yacc.c  */
-#line 3146 "grammar.y"
+#line 3155 "grammar.y"
     {
          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list));
          (yyval.initializer).loc = (yyloc);
@@ -20652,28 +20661,28 @@ yyreduce:
   case 1030:
 
 /* Line 1464 of yacc.c  */
-#line 3161 "grammar.y"
+#line 3170 "grammar.y"
     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1031:
 
 /* Line 1464 of yacc.c  */
-#line 3162 "grammar.y"
+#line 3171 "grammar.y"
     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (4)].list)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1032:
 
 /* Line 1464 of yacc.c  */
-#line 3163 "grammar.y"
+#line 3172 "grammar.y"
     { (yyval.initializer) = MkInitializerList((yyvsp[(2) - (2)].list)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1033:
 
 /* Line 1464 of yacc.c  */
-#line 3165 "grammar.y"
+#line 3174 "grammar.y"
     {
          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (5)].list));
          (yyval.initializer).loc = (yyloc);
@@ -20691,7 +20700,7 @@ yyreduce:
   case 1034:
 
 /* Line 1464 of yacc.c  */
-#line 3178 "grammar.y"
+#line 3187 "grammar.y"
     {
          (yyval.initializer) = MkInitializerList((yyvsp[(2) - (3)].list));
          (yyval.initializer).loc = (yyloc);
@@ -20709,140 +20718,140 @@ yyreduce:
   case 1035:
 
 /* Line 1464 of yacc.c  */
-#line 3193 "grammar.y"
+#line 3202 "grammar.y"
     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1036:
 
 /* Line 1464 of yacc.c  */
-#line 3195 "grammar.y"
+#line 3204 "grammar.y"
     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1037:
 
 /* Line 1464 of yacc.c  */
-#line 3199 "grammar.y"
+#line 3208 "grammar.y"
     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1038:
 
 /* Line 1464 of yacc.c  */
-#line 3200 "grammar.y"
+#line 3209 "grammar.y"
     { (yyval.initializer) = MkInitializerAssignment((yyvsp[(1) - (1)].exp)); (yyval.initializer).loc = (yyloc); ;}
     break;
 
   case 1039:
 
 /* Line 1464 of yacc.c  */
-#line 3204 "grammar.y"
+#line 3213 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
     break;
 
   case 1040:
 
 /* Line 1464 of yacc.c  */
-#line 3205 "grammar.y"
+#line 3214 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initializer)); ;}
     break;
 
   case 1041:
 
 /* Line 1464 of yacc.c  */
-#line 3206 "grammar.y"
+#line 3215 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
     break;
 
   case 1042:
 
 /* Line 1464 of yacc.c  */
-#line 3207 "grammar.y"
+#line 3216 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initializer)); ;}
     break;
 
   case 1043:
 
 /* Line 1464 of yacc.c  */
-#line 3210 "grammar.y"
+#line 3219 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
     break;
 
   case 1044:
 
 /* Line 1464 of yacc.c  */
-#line 3211 "grammar.y"
+#line 3220 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].initializer)); ;}
     break;
 
   case 1045:
 
 /* Line 1464 of yacc.c  */
-#line 3215 "grammar.y"
+#line 3224 "grammar.y"
     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
     break;
 
   case 1046:
 
 /* Line 1464 of yacc.c  */
-#line 3216 "grammar.y"
+#line 3225 "grammar.y"
     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (1)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
     break;
 
   case 1047:
 
 /* Line 1464 of yacc.c  */
-#line 3217 "grammar.y"
+#line 3226 "grammar.y"
     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
     break;
 
   case 1048:
 
 /* Line 1464 of yacc.c  */
-#line 3221 "grammar.y"
+#line 3230 "grammar.y"
     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (2)].declarator), null); (yyval.initDeclarator).loc = (yyloc); ;}
     break;
 
   case 1049:
 
 /* Line 1464 of yacc.c  */
-#line 3225 "grammar.y"
+#line 3234 "grammar.y"
     { (yyval.initDeclarator) = MkInitDeclarator((yyvsp[(1) - (3)].declarator), (yyvsp[(3) - (3)].initializer)); (yyval.initDeclarator).loc = (yyloc); (yyval.initDeclarator).initializer.loc.start = (yylsp[(2) - (3)]).end; ;}
     break;
 
   case 1050:
 
 /* Line 1464 of yacc.c  */
-#line 3229 "grammar.y"
+#line 3238 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
     break;
 
   case 1051:
 
 /* Line 1464 of yacc.c  */
-#line 3230 "grammar.y"
+#line 3239 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
     break;
 
   case 1052:
 
 /* Line 1464 of yacc.c  */
-#line 3231 "grammar.y"
+#line 3240 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("uint")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
     break;
 
   case 1053:
 
 /* Line 1464 of yacc.c  */
-#line 3232 "grammar.y"
+#line 3241 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkInitDeclarator(MkDeclaratorIdentifier(MkIdentifier("int64")), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].initDeclarator)); ;}
     break;
 
   case 1054:
 
 /* Line 1464 of yacc.c  */
-#line 3234 "grammar.y"
+#line 3243 "grammar.y"
     {
       char * colon = RSearchString((yyvsp[(1) - (3)].specifier).name, "::", strlen((yyvsp[(1) - (3)].specifier).name), true, false);
       String s = colon ? colon + 2 : (yyvsp[(1) - (3)].specifier).name;
@@ -20856,1484 +20865,1484 @@ yyreduce:
   case 1055:
 
 /* Line 1464 of yacc.c  */
-#line 3242 "grammar.y"
+#line 3251 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
     break;
 
   case 1056:
 
 /* Line 1464 of yacc.c  */
-#line 3251 "grammar.y"
+#line 3260 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].initDeclarator)); ;}
     break;
 
   case 1057:
 
 /* Line 1464 of yacc.c  */
-#line 3252 "grammar.y"
+#line 3261 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (2)].initDeclarator)); ;}
     break;
 
   case 1058:
 
 /* Line 1464 of yacc.c  */
-#line 3253 "grammar.y"
+#line 3262 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
     break;
 
   case 1059:
 
 /* Line 1464 of yacc.c  */
-#line 3254 "grammar.y"
+#line 3263 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].initDeclarator)); ;}
     break;
 
   case 1060:
 
 /* Line 1464 of yacc.c  */
-#line 3258 "grammar.y"
+#line 3267 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
     break;
 
   case 1061:
 
 /* Line 1464 of yacc.c  */
-#line 3259 "grammar.y"
+#line 3268 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1062:
 
 /* Line 1464 of yacc.c  */
-#line 3263 "grammar.y"
+#line 3272 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (1)].list), null); ;}
     break;
 
   case 1063:
 
 /* Line 1464 of yacc.c  */
-#line 3264 "grammar.y"
+#line 3273 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1064:
 
 /* Line 1464 of yacc.c  */
-#line 3269 "grammar.y"
+#line 3278 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1065:
 
 /* Line 1464 of yacc.c  */
-#line 3270 "grammar.y"
+#line 3279 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declarator)); ;}
     break;
 
   case 1066:
 
 /* Line 1464 of yacc.c  */
-#line 3271 "grammar.y"
+#line 3280 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (2)].list), MkDeclaratorPointer(MkPointer(null,null), null)); ;}
     break;
 
   case 1067:
 
 /* Line 1464 of yacc.c  */
-#line 3272 "grammar.y"
+#line 3281 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), MkDeclaratorPointer(MkPointer(null,null), (yyvsp[(3) - (3)].declarator))); ;}
     break;
 
   case 1068:
 
 /* Line 1464 of yacc.c  */
-#line 3273 "grammar.y"
+#line 3282 "grammar.y"
     { (yyval.typeName) = MkTypeNameGuessDecl((yyvsp[(1) - (1)].list), null); ;}
     break;
 
   case 1069:
 
 /* Line 1464 of yacc.c  */
-#line 3275 "grammar.y"
+#line 3284 "grammar.y"
     { (yyval.typeName) = MkTypeName(MkListOne(MkSpecifier(CLASS)), null); ;}
     break;
 
   case 1070:
 
 /* Line 1464 of yacc.c  */
-#line 3293 "grammar.y"
+#line 3302 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
     break;
 
   case 1071:
 
 /* Line 1464 of yacc.c  */
-#line 3294 "grammar.y"
+#line 3303 "grammar.y"
     { (yyval.typeName) = MkTypeName((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator)); ;}
     break;
 
   case 1072:
 
 /* Line 1464 of yacc.c  */
-#line 3298 "grammar.y"
+#line 3307 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
     break;
 
   case 1073:
 
 /* Line 1464 of yacc.c  */
-#line 3299 "grammar.y"
+#line 3308 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1074:
 
 /* Line 1464 of yacc.c  */
-#line 3300 "grammar.y"
+#line 3309 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
     break;
 
   case 1075:
 
 /* Line 1464 of yacc.c  */
-#line 3301 "grammar.y"
+#line 3310 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1076:
 
 /* Line 1464 of yacc.c  */
-#line 3302 "grammar.y"
+#line 3311 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
     break;
 
   case 1077:
 
 /* Line 1464 of yacc.c  */
-#line 3303 "grammar.y"
+#line 3312 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1078:
 
 /* Line 1464 of yacc.c  */
-#line 3305 "grammar.y"
+#line 3314 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1079:
 
 /* Line 1464 of yacc.c  */
-#line 3306 "grammar.y"
+#line 3315 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
     break;
 
   case 1080:
 
 /* Line 1464 of yacc.c  */
-#line 3307 "grammar.y"
+#line 3316 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1081:
 
 /* Line 1464 of yacc.c  */
-#line 3308 "grammar.y"
+#line 3317 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
     break;
 
   case 1082:
 
 /* Line 1464 of yacc.c  */
-#line 3312 "grammar.y"
+#line 3321 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].typeName)); ;}
     break;
 
   case 1083:
 
 /* Line 1464 of yacc.c  */
-#line 3313 "grammar.y"
+#line 3322 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1084:
 
 /* Line 1464 of yacc.c  */
-#line 3314 "grammar.y"
+#line 3323 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1085:
 
 /* Line 1464 of yacc.c  */
-#line 3315 "grammar.y"
+#line 3324 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
     break;
 
   case 1086:
 
 /* Line 1464 of yacc.c  */
-#line 3316 "grammar.y"
+#line 3325 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(MkList(), null)); ListAdd((yyval.list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1087:
 
 /* Line 1464 of yacc.c  */
-#line 3318 "grammar.y"
+#line 3327 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1088:
 
 /* Line 1464 of yacc.c  */
-#line 3319 "grammar.y"
+#line 3328 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].typeName)); ;}
     break;
 
   case 1089:
 
 /* Line 1464 of yacc.c  */
-#line 3320 "grammar.y"
+#line 3329 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (4)].list); ListAdd((yyvsp[(1) - (4)].list), (yyvsp[(4) - (4)].typeName)); ;}
     break;
 
   case 1091:
 
 /* Line 1464 of yacc.c  */
-#line 3325 "grammar.y"
+#line 3334 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
     break;
 
   case 1092:
 
 /* Line 1464 of yacc.c  */
-#line 3326 "grammar.y"
+#line 3335 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
     break;
 
   case 1093:
 
 /* Line 1464 of yacc.c  */
-#line 3327 "grammar.y"
+#line 3336 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
     break;
 
   case 1094:
 
 /* Line 1464 of yacc.c  */
-#line 3328 "grammar.y"
+#line 3337 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), MkTypeName(null, null)); ;}
     break;
 
   case 1095:
 
 /* Line 1464 of yacc.c  */
-#line 3329 "grammar.y"
+#line 3338 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), MkTypeName(null, null)); ;}
     break;
 
   case 1097:
 
 /* Line 1464 of yacc.c  */
-#line 3334 "grammar.y"
+#line 3343 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), null); ;}
     break;
 
   case 1100:
 
 /* Line 1464 of yacc.c  */
-#line 3341 "grammar.y"
+#line 3350 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt(null); FreeAttrib((yyvsp[(1) - (1)].attrib)); ;}
     break;
 
   case 1102:
 
 /* Line 1464 of yacc.c  */
-#line 3343 "grammar.y"
+#line 3352 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt(null); ;}
     break;
 
   case 1103:
 
 /* Line 1464 of yacc.c  */
-#line 3344 "grammar.y"
+#line 3353 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt(null); ;}
     break;
 
   case 1104:
 
 /* Line 1464 of yacc.c  */
-#line 3345 "grammar.y"
+#line 3354 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1112:
 
 /* Line 1464 of yacc.c  */
-#line 3356 "grammar.y"
+#line 3365 "grammar.y"
     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
     break;
 
   case 1113:
 
 /* Line 1464 of yacc.c  */
-#line 3357 "grammar.y"
+#line 3366 "grammar.y"
     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
     break;
 
   case 1114:
 
 /* Line 1464 of yacc.c  */
-#line 3358 "grammar.y"
+#line 3367 "grammar.y"
     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
     break;
 
   case 1115:
 
 /* Line 1464 of yacc.c  */
-#line 3359 "grammar.y"
+#line 3368 "grammar.y"
     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
     break;
 
   case 1116:
 
 /* Line 1464 of yacc.c  */
-#line 3360 "grammar.y"
+#line 3369 "grammar.y"
     { (yyval.stmt) = (yyvsp[(1) - (1)].stmt); Compiler_Error($"syntax error\n"); ;}
     break;
 
   case 1117:
 
 /* Line 1464 of yacc.c  */
-#line 3361 "grammar.y"
+#line 3370 "grammar.y"
     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); Compiler_Error($"syntax error\n"); ;}
     break;
 
   case 1118:
 
 /* Line 1464 of yacc.c  */
-#line 3362 "grammar.y"
+#line 3371 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (1)].list)); Compiler_Error($"syntax error\n"); (yyval.stmt).loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 1119:
 
 /* Line 1464 of yacc.c  */
-#line 3366 "grammar.y"
+#line 3375 "grammar.y"
     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (1)].string), null, null); (yyval.asmField).loc = (yylsp[(1) - (1)]); ;}
     break;
 
   case 1120:
 
 /* Line 1464 of yacc.c  */
-#line 3367 "grammar.y"
+#line 3376 "grammar.y"
     { (yyval.asmField) = MkAsmField((yyvsp[(1) - (4)].string), (yyvsp[(3) - (4)].exp), null); (yyval.asmField).loc = (yyloc); ;}
     break;
 
   case 1121:
 
 /* Line 1464 of yacc.c  */
-#line 3368 "grammar.y"
+#line 3377 "grammar.y"
     { (yyval.asmField) = MkAsmField((yyvsp[(4) - (7)].string), (yyvsp[(6) - (7)].exp), (yyvsp[(2) - (7)].id)); (yyval.asmField).loc = (yyloc); ;}
     break;
 
   case 1122:
 
 /* Line 1464 of yacc.c  */
-#line 3372 "grammar.y"
+#line 3381 "grammar.y"
     { (yyval.list) = MkListOne((yyvsp[(1) - (1)].asmField)); ;}
     break;
 
   case 1123:
 
 /* Line 1464 of yacc.c  */
-#line 3373 "grammar.y"
+#line 3382 "grammar.y"
     { ListAdd((yyval.list), (yyvsp[(3) - (3)].asmField)); ;}
     break;
 
   case 1124:
 
 /* Line 1464 of yacc.c  */
-#line 3374 "grammar.y"
+#line 3383 "grammar.y"
     { (yyval.list) = null; ;}
     break;
 
   case 1125:
 
 /* Line 1464 of yacc.c  */
-#line 3378 "grammar.y"
+#line 3387 "grammar.y"
     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (6)].specifier), (yyvsp[(4) - (6)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1126:
 
 /* Line 1464 of yacc.c  */
-#line 3379 "grammar.y"
+#line 3388 "grammar.y"
     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), (yyvsp[(6) - (8)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1127:
 
 /* Line 1464 of yacc.c  */
-#line 3380 "grammar.y"
+#line 3389 "grammar.y"
     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1128:
 
 /* Line 1464 of yacc.c  */
-#line 3381 "grammar.y"
+#line 3390 "grammar.y"
     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (12)].specifier), (yyvsp[(4) - (12)].string), (yyvsp[(6) - (12)].list), (yyvsp[(8) - (12)].list), (yyvsp[(10) - (12)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1129:
 
 /* Line 1464 of yacc.c  */
-#line 3383 "grammar.y"
+#line 3392 "grammar.y"
     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (8)].specifier), (yyvsp[(4) - (8)].string), null, (yyvsp[(6) - (8)].list), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1130:
 
 /* Line 1464 of yacc.c  */
-#line 3384 "grammar.y"
+#line 3393 "grammar.y"
     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), null, (yyvsp[(6) - (10)].list), (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1131:
 
 /* Line 1464 of yacc.c  */
-#line 3385 "grammar.y"
+#line 3394 "grammar.y"
     { (yyval.stmt) = MkAsmStmt((yyvsp[(2) - (10)].specifier), (yyvsp[(4) - (10)].string), (yyvsp[(6) - (10)].list), null, (yyvsp[(8) - (10)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1132:
 
 /* Line 1464 of yacc.c  */
-#line 3387 "grammar.y"
+#line 3396 "grammar.y"
     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (5)].string), null, null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1133:
 
 /* Line 1464 of yacc.c  */
-#line 3388 "grammar.y"
+#line 3397 "grammar.y"
     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), (yyvsp[(5) - (7)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1134:
 
 /* Line 1464 of yacc.c  */
-#line 3389 "grammar.y"
+#line 3398 "grammar.y"
     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1135:
 
 /* Line 1464 of yacc.c  */
-#line 3390 "grammar.y"
+#line 3399 "grammar.y"
     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (11)].string), (yyvsp[(5) - (11)].list), (yyvsp[(7) - (11)].list), (yyvsp[(9) - (11)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1136:
 
 /* Line 1464 of yacc.c  */
-#line 3392 "grammar.y"
+#line 3401 "grammar.y"
     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (7)].string), null, (yyvsp[(5) - (7)].list), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1137:
 
 /* Line 1464 of yacc.c  */
-#line 3393 "grammar.y"
+#line 3402 "grammar.y"
     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), null, (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1138:
 
 /* Line 1464 of yacc.c  */
-#line 3394 "grammar.y"
+#line 3403 "grammar.y"
     { (yyval.stmt) = MkAsmStmt(null, (yyvsp[(3) - (9)].string), (yyvsp[(5) - (9)].list), null, (yyvsp[(7) - (9)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1139:
 
 /* Line 1464 of yacc.c  */
-#line 3398 "grammar.y"
+#line 3407 "grammar.y"
     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1140:
 
 /* Line 1464 of yacc.c  */
-#line 3399 "grammar.y"
+#line 3408 "grammar.y"
     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1141:
 
 /* Line 1464 of yacc.c  */
-#line 3400 "grammar.y"
+#line 3409 "grammar.y"
     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1142:
 
 /* Line 1464 of yacc.c  */
-#line 3401 "grammar.y"
+#line 3410 "grammar.y"
     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
     break;
 
   case 1143:
 
 /* Line 1464 of yacc.c  */
-#line 3402 "grammar.y"
+#line 3411 "grammar.y"
     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1144:
 
 /* Line 1464 of yacc.c  */
-#line 3404 "grammar.y"
+#line 3413 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1145:
 
 /* Line 1464 of yacc.c  */
-#line 3405 "grammar.y"
+#line 3414 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1146:
 
 /* Line 1464 of yacc.c  */
-#line 3406 "grammar.y"
+#line 3415 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1147:
 
 /* Line 1464 of yacc.c  */
-#line 3407 "grammar.y"
+#line 3416 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
     break;
 
   case 1148:
 
 /* Line 1464 of yacc.c  */
-#line 3408 "grammar.y"
+#line 3417 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1149:
 
 /* Line 1464 of yacc.c  */
-#line 3412 "grammar.y"
+#line 3421 "grammar.y"
     { (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1150:
 
 /* Line 1464 of yacc.c  */
-#line 3413 "grammar.y"
+#line 3422 "grammar.y"
     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1151:
 
 /* Line 1464 of yacc.c  */
-#line 3414 "grammar.y"
+#line 3423 "grammar.y"
     { (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1152:
 
 /* Line 1464 of yacc.c  */
-#line 3415 "grammar.y"
+#line 3424 "grammar.y"
     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), (yyvsp[(3) - (3)].stmt)); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
     break;
 
   case 1153:
 
 /* Line 1464 of yacc.c  */
-#line 3416 "grammar.y"
+#line 3425 "grammar.y"
     { (yyval.stmt) = MkCaseStmt(MkExpDummy(), null); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (2)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (2)]).end; ;}
     break;
 
   case 1154:
 
 /* Line 1464 of yacc.c  */
-#line 3417 "grammar.y"
+#line 3426 "grammar.y"
     { (yyval.stmt) = MkCaseStmt(null, (yyvsp[(3) - (3)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1155:
 
 /* Line 1464 of yacc.c  */
-#line 3418 "grammar.y"
+#line 3427 "grammar.y"
     { (yyval.stmt) = MkCaseStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1156:
 
 /* Line 1464 of yacc.c  */
-#line 3420 "grammar.y"
+#line 3429 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkLabeledStmt((yyvsp[(1) - (3)].id), stmt); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1157:
 
 /* Line 1464 of yacc.c  */
-#line 3421 "grammar.y"
+#line 3430 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1158:
 
 /* Line 1464 of yacc.c  */
-#line 3422 "grammar.y"
+#line 3431 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(4) - (4)].declaration)); stmt.loc = (yylsp[(4) - (4)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt((yyvsp[(2) - (4)].exp), stmt); (yyval.stmt).loc = (yyloc); (yyvsp[(2) - (4)].exp).loc.start = (yylsp[(1) - (4)]).end; ;}
     break;
 
   case 1159:
 
 /* Line 1464 of yacc.c  */
-#line 3423 "grammar.y"
+#line 3432 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(MkExpDummy(), stmt); (yyval.stmt).caseStmt.exp.loc = (yylsp[(2) - (3)]); (yyval.stmt).loc = (yyloc); (yyval.stmt).caseStmt.exp.loc.start = (yylsp[(1) - (3)]).end; ;}
     break;
 
   case 1160:
 
 /* Line 1464 of yacc.c  */
-#line 3424 "grammar.y"
+#line 3433 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(3) - (3)].declaration)); stmt.loc = (yylsp[(3) - (3)]); Compiler_Warning(C89_DECL_WARNING); (yyval.stmt) = MkCaseStmt(null, stmt); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1161:
 
 /* Line 1464 of yacc.c  */
-#line 3428 "grammar.y"
+#line 3437 "grammar.y"
     { (yyval.declMode) = structDeclMode = declMode = publicAccess; ;}
     break;
 
   case 1162:
 
 /* Line 1464 of yacc.c  */
-#line 3429 "grammar.y"
+#line 3438 "grammar.y"
     { (yyval.declMode) = structDeclMode = declMode = privateAccess; ;}
     break;
 
   case 1163:
 
 /* Line 1464 of yacc.c  */
-#line 3430 "grammar.y"
+#line 3439 "grammar.y"
     { (yyval.declMode) = structDeclMode = declMode = defaultAccess; ;}
     break;
 
   case 1164:
 
 /* Line 1464 of yacc.c  */
-#line 3434 "grammar.y"
+#line 3443 "grammar.y"
     { (yyval.declMode) = publicAccess; ;}
     break;
 
   case 1165:
 
 /* Line 1464 of yacc.c  */
-#line 3435 "grammar.y"
+#line 3444 "grammar.y"
     { (yyval.declMode) = privateAccess; ;}
     break;
 
   case 1166:
 
 /* Line 1464 of yacc.c  */
-#line 3439 "grammar.y"
+#line 3448 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1167:
 
 /* Line 1464 of yacc.c  */
-#line 3440 "grammar.y"
+#line 3449 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1168:
 
 /* Line 1464 of yacc.c  */
-#line 3441 "grammar.y"
+#line 3450 "grammar.y"
     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1169:
 
 /* Line 1464 of yacc.c  */
-#line 3442 "grammar.y"
+#line 3451 "grammar.y"
     { (yyval.declaration) = (yyvsp[(1) - (2)].declaration); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1170:
 
 /* Line 1464 of yacc.c  */
-#line 3446 "grammar.y"
+#line 3455 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); ;}
     break;
 
   case 1171:
 
 /* Line 1464 of yacc.c  */
-#line 3447 "grammar.y"
+#line 3456 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
     break;
 
   case 1172:
 
 /* Line 1464 of yacc.c  */
-#line 3448 "grammar.y"
+#line 3457 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].list)); (yyval.declaration).loc = (yyloc); ;}
     break;
 
   case 1173:
 
 /* Line 1464 of yacc.c  */
-#line 3450 "grammar.y"
+#line 3459 "grammar.y"
     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); ;}
     break;
 
   case 1174:
 
 /* Line 1464 of yacc.c  */
-#line 3451 "grammar.y"
+#line 3460 "grammar.y"
     { (yyval.declaration) = MkDeclarationDefine((yyvsp[(2) - (5)].id), (yyvsp[(4) - (5)].exp)); (yyval.declaration).loc = (yyloc); ;}
     break;
 
   case 1175:
 
 /* Line 1464 of yacc.c  */
-#line 3452 "grammar.y"
+#line 3461 "grammar.y"
     { structDeclMode = declMode = staticAccess; (yyval.declaration) = MkDeclarationDefine((yyvsp[(3) - (6)].id), (yyvsp[(5) - (6)].exp)); (yyval.declaration).loc = (yyloc); ;}
     break;
 
   case 1176:
 
 /* Line 1464 of yacc.c  */
-#line 3456 "grammar.y"
+#line 3465 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); yyerrok; ;}
     break;
 
   case 1177:
 
 /* Line 1464 of yacc.c  */
-#line 3460 "grammar.y"
+#line 3469 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), null); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1178:
 
 /* Line 1464 of yacc.c  */
-#line 3461 "grammar.y"
+#line 3470 "grammar.y"
     { structDeclMode = defaultDeclMode;  ;}
     break;
 
   case 1179:
 
 /* Line 1464 of yacc.c  */
-#line 3463 "grammar.y"
+#line 3472 "grammar.y"
     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1180:
 
 /* Line 1464 of yacc.c  */
-#line 3464 "grammar.y"
+#line 3473 "grammar.y"
     { (yyval.declaration) = MkDeclarationInst((yyvsp[(1) - (2)].instance)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1181:
 
 /* Line 1464 of yacc.c  */
-#line 3465 "grammar.y"
+#line 3474 "grammar.y"
     { (yyval.declaration) = MkDeclaration((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); (yyval.declaration).loc = (yyloc); structDeclMode = defaultDeclMode; ;}
     break;
 
   case 1182:
 
 /* Line 1464 of yacc.c  */
-#line 3469 "grammar.y"
+#line 3478 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); /*declMode = defaultDeclMode;*/ ;}
     break;
 
   case 1183:
 
 /* Line 1464 of yacc.c  */
-#line 3470 "grammar.y"
+#line 3479 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
     break;
 
   case 1184:
 
 /* Line 1464 of yacc.c  */
-#line 3471 "grammar.y"
+#line 3480 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); /*declMode = defaultDeclMode; */;}
     break;
 
   case 1185:
 
 /* Line 1464 of yacc.c  */
-#line 3472 "grammar.y"
+#line 3481 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (3)].list); ;}
     break;
 
   case 1186:
 
 /* Line 1464 of yacc.c  */
-#line 3476 "grammar.y"
+#line 3485 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].declaration)); ;}
     break;
 
   case 1187:
 
 /* Line 1464 of yacc.c  */
-#line 3477 "grammar.y"
+#line 3486 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].declaration)); ;}
     break;
 
   case 1188:
 
 /* Line 1464 of yacc.c  */
-#line 3481 "grammar.y"
+#line 3490 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
     break;
 
   case 1189:
 
 /* Line 1464 of yacc.c  */
-#line 3482 "grammar.y"
+#line 3491 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
     break;
 
   case 1190:
 
 /* Line 1464 of yacc.c  */
-#line 3483 "grammar.y"
+#line 3492 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
     break;
 
   case 1191:
 
 /* Line 1464 of yacc.c  */
-#line 3487 "grammar.y"
+#line 3496 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].stmt)); ;}
     break;
 
   case 1192:
 
 /* Line 1464 of yacc.c  */
-#line 3488 "grammar.y"
+#line 3497 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
     break;
 
   case 1193:
 
 /* Line 1464 of yacc.c  */
-#line 3489 "grammar.y"
+#line 3498 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].stmt)); ;}
     break;
 
   case 1194:
 
 /* Line 1464 of yacc.c  */
-#line 3490 "grammar.y"
+#line 3499 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
     break;
 
   case 1195:
 
 /* Line 1464 of yacc.c  */
-#line 3491 "grammar.y"
+#line 3500 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
     break;
 
   case 1196:
 
 /* Line 1464 of yacc.c  */
-#line 3492 "grammar.y"
+#line 3501 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
     break;
 
   case 1197:
 
 /* Line 1464 of yacc.c  */
-#line 3493 "grammar.y"
+#line 3502 "grammar.y"
     { Statement stmt = MkBadDeclStmt((yyvsp[(2) - (2)].declaration)); stmt.loc = (yylsp[(2) - (2)]); Compiler_Warning(C89_DECL_WARNING); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), stmt); /*declMode = defaultDeclMode;*/ ;}
     break;
 
   case 1198:
 
 /* Line 1464 of yacc.c  */
-#line 3497 "grammar.y"
+#line 3506 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
     break;
 
   case 1199:
 
 /* Line 1464 of yacc.c  */
-#line 3498 "grammar.y"
+#line 3507 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
     break;
 
   case 1200:
 
 /* Line 1464 of yacc.c  */
-#line 3499 "grammar.y"
+#line 3508 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
     break;
 
   case 1201:
 
 /* Line 1464 of yacc.c  */
-#line 3500 "grammar.y"
+#line 3509 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
     break;
 
   case 1202:
 
 /* Line 1464 of yacc.c  */
-#line 3504 "grammar.y"
+#line 3513 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt(null, (yyvsp[(1) - (1)].list)); ;}
     break;
 
   case 1203:
 
 /* Line 1464 of yacc.c  */
-#line 3505 "grammar.y"
+#line 3514 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (1)].list), null); ;}
     break;
 
   case 1204:
 
 /* Line 1464 of yacc.c  */
-#line 3506 "grammar.y"
+#line 3515 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
     break;
 
   case 1205:
 
 /* Line 1464 of yacc.c  */
-#line 3507 "grammar.y"
+#line 3516 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].list)); ;}
     break;
 
   case 1206:
 
 /* Line 1464 of yacc.c  */
-#line 3511 "grammar.y"
+#line 3520 "grammar.y"
     { (yyval.context) = PushContext(); ;}
     break;
 
   case 1207:
 
 /* Line 1464 of yacc.c  */
-#line 3515 "grammar.y"
+#line 3524 "grammar.y"
     { (yyval.stmt) = (yyvsp[(1) - (2)].stmt); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1208:
 
 /* Line 1464 of yacc.c  */
-#line 3520 "grammar.y"
+#line 3529 "grammar.y"
     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
     break;
 
   case 1209:
 
 /* Line 1464 of yacc.c  */
-#line 3522 "grammar.y"
+#line 3531 "grammar.y"
     { (yyval.stmt) = MkCompoundStmt(null, null); (yyval.stmt).compound.context = (yyvsp[(1) - (1)].context); PopContext((yyvsp[(1) - (1)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
     break;
 
   case 1210:
 
 /* Line 1464 of yacc.c  */
-#line 3525 "grammar.y"
+#line 3534 "grammar.y"
     { (yyval.stmt) = (yyvsp[(2) - (2)].stmt); (yyval.stmt).compound.context = (yyvsp[(1) - (2)].context); PopContext((yyvsp[(1) - (2)].context)); (yyval.stmt).loc = (yyloc); (yyval.stmt).loc.end.charPos++; (yyval.stmt).loc.end.pos++; ;}
     break;
 
   case 1211:
 
 /* Line 1464 of yacc.c  */
-#line 3530 "grammar.y"
+#line 3539 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt(null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1212:
 
 /* Line 1464 of yacc.c  */
-#line 3531 "grammar.y"
+#line 3540 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1213:
 
 /* Line 1464 of yacc.c  */
-#line 3532 "grammar.y"
+#line 3541 "grammar.y"
     { (yyval.stmt) = MkExpressionStmt((yyvsp[(1) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1214:
 
 /* Line 1464 of yacc.c  */
-#line 3536 "grammar.y"
+#line 3545 "grammar.y"
     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1215:
 
 /* Line 1464 of yacc.c  */
-#line 3537 "grammar.y"
+#line 3546 "grammar.y"
     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1216:
 
 /* Line 1464 of yacc.c  */
-#line 3538 "grammar.y"
+#line 3547 "grammar.y"
     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1217:
 
 /* Line 1464 of yacc.c  */
-#line 3539 "grammar.y"
+#line 3548 "grammar.y"
     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (7)].list), (yyvsp[(5) - (7)].stmt), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1218:
 
 /* Line 1464 of yacc.c  */
-#line 3540 "grammar.y"
+#line 3549 "grammar.y"
     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1219:
 
 /* Line 1464 of yacc.c  */
-#line 3541 "grammar.y"
+#line 3550 "grammar.y"
     { (yyval.stmt) = MkSwitchStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1220:
 
 /* Line 1464 of yacc.c  */
-#line 3545 "grammar.y"
+#line 3554 "grammar.y"
     { (yyval.stmt) = MkIfStmt((yyvsp[(3) - (3)].list), null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1222:
 
 /* Line 1464 of yacc.c  */
-#line 3550 "grammar.y"
+#line 3559 "grammar.y"
     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1223:
 
 /* Line 1464 of yacc.c  */
-#line 3551 "grammar.y"
+#line 3560 "grammar.y"
     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1224:
 
 /* Line 1464 of yacc.c  */
-#line 3552 "grammar.y"
+#line 3561 "grammar.y"
     { (yyval.stmt) = MkWhileStmt(null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1225:
 
 /* Line 1464 of yacc.c  */
-#line 3554 "grammar.y"
+#line 3563 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (7)].stmt), (yyvsp[(5) - (7)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1226:
 
 /* Line 1464 of yacc.c  */
-#line 3555 "grammar.y"
+#line 3564 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1227:
 
 /* Line 1464 of yacc.c  */
-#line 3557 "grammar.y"
+#line 3566 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1228:
 
 /* Line 1464 of yacc.c  */
-#line 3558 "grammar.y"
+#line 3567 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), null, null, (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1229:
 
 /* Line 1464 of yacc.c  */
-#line 3559 "grammar.y"
+#line 3568 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1230:
 
 /* Line 1464 of yacc.c  */
-#line 3560 "grammar.y"
+#line 3569 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1231:
 
 /* Line 1464 of yacc.c  */
-#line 3561 "grammar.y"
+#line 3570 "grammar.y"
     { (yyval.stmt) = MkForStmt(null, null, null, (yyvsp[(4) - (4)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1232:
 
 /* Line 1464 of yacc.c  */
-#line 3563 "grammar.y"
+#line 3572 "grammar.y"
     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (7)].id), (yyvsp[(5) - (7)].list), null, (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1233:
 
 /* Line 1464 of yacc.c  */
-#line 3564 "grammar.y"
+#line 3573 "grammar.y"
     { (yyval.stmt) = MkForEachStmt((yyvsp[(3) - (9)].id), (yyvsp[(5) - (9)].list), (yyvsp[(7) - (9)].list), (yyvsp[(9) - (9)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1234:
 
 /* Line 1464 of yacc.c  */
-#line 3568 "grammar.y"
+#line 3577 "grammar.y"
     { (yyval.stmt) = MkForStmt(null, null, null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1235:
 
 /* Line 1464 of yacc.c  */
-#line 3569 "grammar.y"
+#line 3578 "grammar.y"
     { (yyval.stmt) = MkForStmt(MkExpressionStmt((yyvsp[(3) - (4)].list)), null, null, null); (yyval.stmt).forStmt.init.loc = (yylsp[(3) - (4)]); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1236:
 
 /* Line 1464 of yacc.c  */
-#line 3570 "grammar.y"
+#line 3579 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (4)].stmt), null, null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1237:
 
 /* Line 1464 of yacc.c  */
-#line 3571 "grammar.y"
+#line 3580 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), MkExpressionStmt((yyvsp[(4) - (5)].list)), null, null); (yyval.stmt).loc = (yyloc); (yyval.stmt).forStmt.check.loc = (yylsp[(4) - (5)]); ;}
     break;
 
   case 1238:
 
 /* Line 1464 of yacc.c  */
-#line 3575 "grammar.y"
+#line 3584 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (5)].stmt), (yyvsp[(4) - (5)].stmt), (yyvsp[(5) - (5)].list), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1239:
 
 /* Line 1464 of yacc.c  */
-#line 3576 "grammar.y"
+#line 3585 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), null, (yyvsp[(6) - (6)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1240:
 
 /* Line 1464 of yacc.c  */
-#line 3577 "grammar.y"
+#line 3586 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (7)].stmt), (yyvsp[(4) - (7)].stmt), (yyvsp[(5) - (7)].list), (yyvsp[(7) - (7)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1241:
 
 /* Line 1464 of yacc.c  */
-#line 3578 "grammar.y"
+#line 3587 "grammar.y"
     { (yyval.stmt) = MkForStmt((yyvsp[(3) - (6)].stmt), (yyvsp[(4) - (6)].stmt), (yyvsp[(5) - (6)].list), (yyvsp[(6) - (6)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1242:
 
 /* Line 1464 of yacc.c  */
-#line 3580 "grammar.y"
+#line 3589 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (6)].stmt), (yyvsp[(5) - (6)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1243:
 
 /* Line 1464 of yacc.c  */
-#line 3581 "grammar.y"
+#line 3590 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1244:
 
 /* Line 1464 of yacc.c  */
-#line 3582 "grammar.y"
+#line 3591 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (5)].stmt), (yyvsp[(5) - (5)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1245:
 
 /* Line 1464 of yacc.c  */
-#line 3583 "grammar.y"
+#line 3592 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (4)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1246:
 
 /* Line 1464 of yacc.c  */
-#line 3584 "grammar.y"
+#line 3593 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (3)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1247:
 
 /* Line 1464 of yacc.c  */
-#line 3585 "grammar.y"
+#line 3594 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt((yyvsp[(2) - (2)].stmt), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1248:
 
 /* Line 1464 of yacc.c  */
-#line 3586 "grammar.y"
+#line 3595 "grammar.y"
     { (yyval.stmt) = MkDoWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1249:
 
 /* Line 1464 of yacc.c  */
-#line 3589 "grammar.y"
+#line 3598 "grammar.y"
     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1250:
 
 /* Line 1464 of yacc.c  */
-#line 3593 "grammar.y"
+#line 3602 "grammar.y"
     { (yyval.stmt) = MkWhileStmt(null, null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1251:
 
 /* Line 1464 of yacc.c  */
-#line 3594 "grammar.y"
+#line 3603 "grammar.y"
     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (3)].list), null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1252:
 
 /* Line 1464 of yacc.c  */
-#line 3598 "grammar.y"
+#line 3607 "grammar.y"
     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (5)].list), (yyvsp[(5) - (5)].stmt)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1253:
 
 /* Line 1464 of yacc.c  */
-#line 3599 "grammar.y"
+#line 3608 "grammar.y"
     { (yyval.stmt) = MkWhileStmt((yyvsp[(3) - (4)].list), (yyvsp[(4) - (4)].stmt) ); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1254:
 
 /* Line 1464 of yacc.c  */
-#line 3603 "grammar.y"
+#line 3612 "grammar.y"
     { (yyval.stmt) = MkGotoStmt((yyvsp[(2) - (3)].id)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1255:
 
 /* Line 1464 of yacc.c  */
-#line 3604 "grammar.y"
+#line 3613 "grammar.y"
     { (yyval.stmt) = MkContinueStmt(); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1256:
 
 /* Line 1464 of yacc.c  */
-#line 3605 "grammar.y"
+#line 3614 "grammar.y"
     { (yyval.stmt) = MkBreakStmt(); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1257:
 
 /* Line 1464 of yacc.c  */
-#line 3606 "grammar.y"
+#line 3615 "grammar.y"
     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc = (yylsp[(2) - (2)]); ;}
     break;
 
   case 1258:
 
 /* Line 1464 of yacc.c  */
-#line 3607 "grammar.y"
+#line 3616 "grammar.y"
     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1259:
 
 /* Line 1464 of yacc.c  */
-#line 3608 "grammar.y"
+#line 3617 "grammar.y"
     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (3)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1260:
 
 /* Line 1464 of yacc.c  */
-#line 3609 "grammar.y"
+#line 3618 "grammar.y"
     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1261:
 
 /* Line 1464 of yacc.c  */
-#line 3610 "grammar.y"
+#line 3619 "grammar.y"
     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (3)].exp))); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1262:
 
 /* Line 1464 of yacc.c  */
-#line 3614 "grammar.y"
+#line 3623 "grammar.y"
     { (yyval.stmt) = MkReturnStmt((yyvsp[(2) - (2)].list)); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1263:
 
 /* Line 1464 of yacc.c  */
-#line 3615 "grammar.y"
+#line 3624 "grammar.y"
     { (yyval.stmt) = MkReturnStmt(MkListOne((yyvsp[(2) - (2)].exp))); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1264:
 
 /* Line 1464 of yacc.c  */
-#line 3616 "grammar.y"
+#line 3625 "grammar.y"
     { Expression exp = MkExpDummy(); (yyval.stmt) = MkReturnStmt(MkListOne(exp)); (yyval.stmt).loc = (yyloc); exp.loc.start = exp.loc.end = (yylsp[(1) - (1)]).end; ;}
     break;
 
   case 1265:
 
 /* Line 1464 of yacc.c  */
-#line 3617 "grammar.y"
+#line 3626 "grammar.y"
     { (yyval.stmt) = MkGotoStmt(null); (yyval.stmt).loc = (yyloc); ;}
     break;
 
   case 1266:
 
 /* Line 1464 of yacc.c  */
-#line 3623 "grammar.y"
+#line 3632 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
     break;
 
   case 1267:
 
 /* Line 1464 of yacc.c  */
-#line 3625 "grammar.y"
+#line 3634 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
     break;
 
   case 1268:
 
 /* Line 1464 of yacc.c  */
-#line 3626 "grammar.y"
+#line 3635 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); ;}
     break;
 
   case 1269:
 
 /* Line 1464 of yacc.c  */
-#line 3628 "grammar.y"
+#line 3637 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
     break;
 
   case 1270:
 
 /* Line 1464 of yacc.c  */
-#line 3630 "grammar.y"
+#line 3639 "grammar.y"
     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); ;}
     break;
 
   case 1271:
 
 /* Line 1464 of yacc.c  */
-#line 3631 "grammar.y"
+#line 3640 "grammar.y"
     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc);;}
     break;
 
   case 1272:
 
 /* Line 1464 of yacc.c  */
-#line 3634 "grammar.y"
+#line 3643 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
     break;
 
   case 1273:
 
 /* Line 1464 of yacc.c  */
-#line 3635 "grammar.y"
+#line 3644 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
     break;
 
   case 1274:
 
 /* Line 1464 of yacc.c  */
-#line 3636 "grammar.y"
+#line 3645 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (4)].list), (yyvsp[(2) - (4)].declarator), (yyvsp[(3) - (4)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(4) - (4)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(4) - (4)].stmt).loc.end; ;}
     break;
 
   case 1275:
 
 /* Line 1464 of yacc.c  */
-#line 3637 "grammar.y"
+#line 3646 "grammar.y"
     { (yyval.function) = MkFunction((yyvsp[(1) - (3)].list), (yyvsp[(2) - (3)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
     break;
 
   case 1276:
 
 /* Line 1464 of yacc.c  */
-#line 3638 "grammar.y"
+#line 3647 "grammar.y"
     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (3)].declarator), (yyvsp[(2) - (3)].list)); ProcessFunctionBody((yyval.function), (yyvsp[(3) - (3)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(3) - (3)].stmt).loc.end; ;}
     break;
 
   case 1277:
 
 /* Line 1464 of yacc.c  */
-#line 3639 "grammar.y"
+#line 3648 "grammar.y"
     { (yyval.function) = MkFunction(null, (yyvsp[(1) - (2)].declarator), null); ProcessFunctionBody((yyval.function), (yyvsp[(2) - (2)].stmt)); (yyval.function).loc = (yyloc); (yyval.function).loc.end = (yyvsp[(2) - (2)].stmt).loc.end; ;}
     break;
 
   case 1278:
 
 /* Line 1464 of yacc.c  */
-#line 3643 "grammar.y"
+#line 3652 "grammar.y"
     { (yyval.string) = CopyString(yytext); ;}
     break;
 
   case 1279:
 
 /* Line 1464 of yacc.c  */
-#line 3645 "grammar.y"
+#line 3654 "grammar.y"
     {
       int len1 = strlen((yyvsp[(1) - (2)].string));
       int len2 = strlen(yytext);
@@ -22347,49 +22356,49 @@ yyreduce:
   case 1280:
 
 /* Line 1464 of yacc.c  */
-#line 3656 "grammar.y"
+#line 3665 "grammar.y"
     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1281:
 
 /* Line 1464 of yacc.c  */
-#line 3658 "grammar.y"
+#line 3667 "grammar.y"
     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1282:
 
 /* Line 1464 of yacc.c  */
-#line 3661 "grammar.y"
+#line 3670 "grammar.y"
     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; FreeList((yyvsp[(1) - (2)].list), FreeSpecifier); ;}
     break;
 
   case 1283:
 
 /* Line 1464 of yacc.c  */
-#line 3664 "grammar.y"
+#line 3673 "grammar.y"
     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1284:
 
 /* Line 1464 of yacc.c  */
-#line 3665 "grammar.y"
+#line 3674 "grammar.y"
     { (yyval.external) = MkExternalImport((yyvsp[(2) - (2)].string), normalImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
     break;
 
   case 1285:
 
 /* Line 1464 of yacc.c  */
-#line 3666 "grammar.y"
+#line 3675 "grammar.y"
     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), staticImport, (declMode != defaultAccess) ? declMode : privateAccess);  (yyval.external).loc = (yyloc); ;}
     break;
 
   case 1286:
 
 /* Line 1464 of yacc.c  */
-#line 3668 "grammar.y"
+#line 3677 "grammar.y"
     {
       bool isRemote = !strcmp((yyvsp[(2) - (3)].id).string, "remote");
       (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), isRemote ? remoteImport : normalImport, (declMode != defaultAccess) ? declMode : privateAccess);
@@ -22403,49 +22412,49 @@ yyreduce:
   case 1287:
 
 /* Line 1464 of yacc.c  */
-#line 3677 "grammar.y"
+#line 3686 "grammar.y"
     { (yyval.external) = null; ;}
     break;
 
   case 1288:
 
 /* Line 1464 of yacc.c  */
-#line 3679 "grammar.y"
+#line 3688 "grammar.y"
     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1289:
 
 /* Line 1464 of yacc.c  */
-#line 3681 "grammar.y"
+#line 3690 "grammar.y"
     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1290:
 
 /* Line 1464 of yacc.c  */
-#line 3682 "grammar.y"
+#line 3691 "grammar.y"
     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1291:
 
 /* Line 1464 of yacc.c  */
-#line 3683 "grammar.y"
+#line 3692 "grammar.y"
     { (yyval.external) = MkExternalImport((yyvsp[(3) - (3)].string), normalImport, ((yyvsp[(1) - (3)].declMode) != defaultAccess) ? (yyvsp[(1) - (3)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1292:
 
 /* Line 1464 of yacc.c  */
-#line 3684 "grammar.y"
+#line 3693 "grammar.y"
     { (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), staticImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);  (yyval.external).loc = (yyloc); structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1293:
 
 /* Line 1464 of yacc.c  */
-#line 3686 "grammar.y"
+#line 3695 "grammar.y"
     {
       bool isRemote = !strcmp((yyvsp[(3) - (4)].id).string, "remote");
       (yyval.external) = MkExternalImport((yyvsp[(4) - (4)].string), isRemote ? remoteImport : normalImport, ((yyvsp[(1) - (4)].declMode) != defaultAccess) ? (yyvsp[(1) - (4)].declMode) : privateAccess);
@@ -22460,56 +22469,56 @@ yyreduce:
   case 1294:
 
 /* Line 1464 of yacc.c  */
-#line 3695 "grammar.y"
+#line 3704 "grammar.y"
     { defaultDeclMode = (yyvsp[(1) - (2)].declMode); (yyval.external) = null; ;}
     break;
 
   case 1295:
 
 /* Line 1464 of yacc.c  */
-#line 3696 "grammar.y"
+#line 3705 "grammar.y"
     { defaultDeclMode = staticAccess; (yyval.external) = null; ;}
     break;
 
   case 1296:
 
 /* Line 1464 of yacc.c  */
-#line 3697 "grammar.y"
+#line 3706 "grammar.y"
     { (yyval.external) = MkExternalNameSpace((yyvsp[(2) - (2)].id)); (yyval.external).loc = (yyloc); ;}
     break;
 
   case 1297:
 
 /* Line 1464 of yacc.c  */
-#line 3698 "grammar.y"
+#line 3707 "grammar.y"
     { (yyval.external) = MkExternalNameSpace(MkIdentifier((yyvsp[(2) - (2)].specifier).name)); FreeSpecifier((yyvsp[(2) - (2)].specifier)); (yyval.external).loc = (yyloc); ;}
     break;
 
   case 1298:
 
 /* Line 1464 of yacc.c  */
-#line 3699 "grammar.y"
+#line 3708 "grammar.y"
     { (yyval.external) = MkExternalDBTable((yyvsp[(1) - (1)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(1) - (1)].dbtableDef).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1299:
 
 /* Line 1464 of yacc.c  */
-#line 3700 "grammar.y"
+#line 3709 "grammar.y"
     { (yyval.external) = MkExternalDBTable((yyvsp[(2) - (2)].dbtableDef)); (yyval.external).loc = (yyloc);  (yyvsp[(2) - (2)].dbtableDef).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1300:
 
 /* Line 1464 of yacc.c  */
-#line 3704 "grammar.y"
+#line 3713 "grammar.y"
     { (yyval.external) = MkExternalClass((yyvsp[(1) - (1)]._class));  (yyval.external).loc = (yyvsp[(1) - (1)]._class).loc; (yyvsp[(1) - (1)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1301:
 
 /* Line 1464 of yacc.c  */
-#line 3706 "grammar.y"
+#line 3715 "grammar.y"
     {
       FreeList((yyvsp[(1) - (2)].list), FreeSpecifier);
       (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));
@@ -22522,231 +22531,231 @@ yyreduce:
   case 1302:
 
 /* Line 1464 of yacc.c  */
-#line 3713 "grammar.y"
+#line 3722 "grammar.y"
     { (yyval.external) = MkExternalFunction((yyvsp[(1) - (1)].function)); (yyval.external).loc = (yyvsp[(1) - (1)].function).loc;  (yyvsp[(1) - (1)].function).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1303:
 
 /* Line 1464 of yacc.c  */
-#line 3715 "grammar.y"
+#line 3724 "grammar.y"
     { (yyval.external) = MkExternalClass((yyvsp[(2) - (2)]._class));  (yyval.external).loc = (yyvsp[(2) - (2)]._class).loc; (yyvsp[(2) - (2)]._class).declMode = ((yyvsp[(1) - (2)].declMode) != defaultAccess) ? (yyvsp[(1) - (2)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1304:
 
 /* Line 1464 of yacc.c  */
-#line 3716 "grammar.y"
+#line 3725 "grammar.y"
     { (yyval.external) = MkExternalFunction((yyvsp[(2) - (2)].function)); (yyval.external).loc = (yyvsp[(2) - (2)].function).loc; (yyvsp[(2) - (2)].function).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1305:
 
 /* Line 1464 of yacc.c  */
-#line 3719 "grammar.y"
+#line 3728 "grammar.y"
     { (yyval.external) = MkExternalDeclaration((yyvsp[(1) - (1)].declaration));  (yyval.external).loc = (yyloc); (yyvsp[(1) - (1)].declaration).declMode = declMode; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1306:
 
 /* Line 1464 of yacc.c  */
-#line 3720 "grammar.y"
+#line 3729 "grammar.y"
     { (yyval.external) = MkExternalDeclaration((yyvsp[(2) - (2)].declaration)); (yyval.external).loc = (yyloc); (yyvsp[(2) - (2)].declaration).declMode = (yyvsp[(1) - (2)].declMode); structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1307:
 
 /* Line 1464 of yacc.c  */
-#line 3724 "grammar.y"
+#line 3733 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
     break;
 
   case 1308:
 
 /* Line 1464 of yacc.c  */
-#line 3725 "grammar.y"
+#line 3734 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
     break;
 
   case 1309:
 
 /* Line 1464 of yacc.c  */
-#line 3726 "grammar.y"
+#line 3735 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
     break;
 
   case 1312:
 
 /* Line 1464 of yacc.c  */
-#line 3732 "grammar.y"
+#line 3741 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].external)); ast = (yyval.list); ;}
     break;
 
   case 1313:
 
 /* Line 1464 of yacc.c  */
-#line 3733 "grammar.y"
+#line 3742 "grammar.y"
     { (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].external)); ;}
     break;
 
   case 1314:
 
 /* Line 1464 of yacc.c  */
-#line 3735 "grammar.y"
+#line 3744 "grammar.y"
     { External _class = MkExternalClass((yyvsp[(2) - (2)]._class)); (yyval.list) = (yyvsp[(1) - (2)].list); ListAdd((yyvsp[(1) - (2)].list), _class); _class.loc = (yylsp[(2) - (2)]);  (yyvsp[(2) - (2)]._class).declMode = (declMode != defaultAccess) ? declMode : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1315:
 
 /* Line 1464 of yacc.c  */
-#line 3737 "grammar.y"
+#line 3746 "grammar.y"
     { External _class = MkExternalClass((yyvsp[(3) - (3)]._class)); (yyval.list) = (yyvsp[(1) - (3)].list); ListAdd((yyvsp[(1) - (3)].list), _class); _class.loc = (yylsp[(3) - (3)]);  (yyvsp[(3) - (3)]._class).declMode = ((yyvsp[(2) - (3)].declMode) != defaultAccess) ? (yyvsp[(2) - (3)].declMode) : privateAccess; structDeclMode = declMode = defaultDeclMode; ;}
     break;
 
   case 1318:
 
 /* Line 1464 of yacc.c  */
-#line 3743 "grammar.y"
+#line 3752 "grammar.y"
     { ast = MkList(); ;}
     break;
 
   case 1319:
 
 /* Line 1464 of yacc.c  */
-#line 3747 "grammar.y"
+#line 3756 "grammar.y"
     { Symbol symbol = DeclClassAddNameSpace(globalContext.nextID++, (yyvsp[(3) - (6)].id).string); FreeIdentifier((yyvsp[(3) - (6)].id)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
     break;
 
   case 1320:
 
 /* Line 1464 of yacc.c  */
-#line 3748 "grammar.y"
+#line 3757 "grammar.y"
     { Symbol symbol = DeclClass(globalContext.nextID++, (yyvsp[(3) - (6)].specifier).name); FreeSpecifier((yyvsp[(3) - (6)].specifier)); (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (6)].string), symbol, (yyvsp[(5) - (6)].list)); ;}
     break;
 
   case 1321:
 
 /* Line 1464 of yacc.c  */
-#line 3749 "grammar.y"
+#line 3758 "grammar.y"
     { (yyval.dbtableDef) = MkDBTableDef((yyvsp[(2) - (5)].string), null, (yyvsp[(4) - (5)].list)); ;}
     break;
 
   case 1322:
 
 /* Line 1464 of yacc.c  */
-#line 3753 "grammar.y"
+#line 3762 "grammar.y"
     { (yyval.dbtableEntry) = MkDBFieldEntry(MkTypeName((yyvsp[(1) - (4)].list), null), (yyvsp[(2) - (4)].id), (yyvsp[(3) - (4)].string)); ;}
     break;
 
   case 1323:
 
 /* Line 1464 of yacc.c  */
-#line 3757 "grammar.y"
+#line 3766 "grammar.y"
     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(1) - (1)].id), ascending); ;}
     break;
 
   case 1324:
 
 /* Line 1464 of yacc.c  */
-#line 3758 "grammar.y"
+#line 3767 "grammar.y"
     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), descending); ;}
     break;
 
   case 1325:
 
 /* Line 1464 of yacc.c  */
-#line 3759 "grammar.y"
+#line 3768 "grammar.y"
     { (yyval.dbindexItem) = MkDBIndexItem((yyvsp[(2) - (2)].id), ascending); ;}
     break;
 
   case 1326:
 
 /* Line 1464 of yacc.c  */
-#line 3763 "grammar.y"
+#line 3772 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbindexItem)); ;}
     break;
 
   case 1327:
 
 /* Line 1464 of yacc.c  */
-#line 3764 "grammar.y"
+#line 3773 "grammar.y"
     { ListAdd((yyvsp[(1) - (3)].list), (yyvsp[(3) - (3)].dbindexItem)); ;}
     break;
 
   case 1328:
 
 /* Line 1464 of yacc.c  */
-#line 3768 "grammar.y"
+#line 3777 "grammar.y"
     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (3)].list), null); ;}
     break;
 
   case 1329:
 
 /* Line 1464 of yacc.c  */
-#line 3769 "grammar.y"
+#line 3778 "grammar.y"
     { (yyval.dbtableEntry) = MkDBIndexEntry((yyvsp[(2) - (4)].list), (yyvsp[(3) - (4)].id)); ;}
     break;
 
   case 1330:
 
 /* Line 1464 of yacc.c  */
-#line 3773 "grammar.y"
+#line 3782 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
     break;
 
   case 1331:
 
 /* Line 1464 of yacc.c  */
-#line 3774 "grammar.y"
+#line 3783 "grammar.y"
     { (yyval.list) = MkList(); ListAdd((yyval.list), (yyvsp[(1) - (1)].dbtableEntry)); ;}
     break;
 
   case 1332:
 
 /* Line 1464 of yacc.c  */
-#line 3775 "grammar.y"
+#line 3784 "grammar.y"
     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
     break;
 
   case 1333:
 
 /* Line 1464 of yacc.c  */
-#line 3776 "grammar.y"
+#line 3785 "grammar.y"
     { ListAdd((yyvsp[(1) - (2)].list), (yyvsp[(2) - (2)].dbtableEntry)); ;}
     break;
 
   case 1334:
 
 /* Line 1464 of yacc.c  */
-#line 3780 "grammar.y"
+#line 3789 "grammar.y"
     { (yyval.exp) = MkExpDBOpen((yyvsp[(3) - (6)].exp), (yyvsp[(5) - (6)].exp)); ;}
     break;
 
   case 1335:
 
 /* Line 1464 of yacc.c  */
-#line 3784 "grammar.y"
+#line 3793 "grammar.y"
     { (yyval.exp) = MkExpDBField((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
     break;
 
   case 1336:
 
 /* Line 1464 of yacc.c  */
-#line 3788 "grammar.y"
+#line 3797 "grammar.y"
     { (yyval.exp) = MkExpDBIndex((yyvsp[(3) - (6)].string), (yyvsp[(5) - (6)].id)); ;}
     break;
 
   case 1337:
 
 /* Line 1464 of yacc.c  */
-#line 3792 "grammar.y"
+#line 3801 "grammar.y"
     { (yyval.exp) = MkExpDBTable((yyvsp[(3) - (4)].string)); ;}
     break;
 
 
 
 /* Line 1464 of yacc.c  */
-#line 22750 "grammar.ec"
+#line 22759 "grammar.ec"
       default: break;
     }
   YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
@@ -22965,6 +22974,6 @@ yyreturn:
 
 
 /* Line 1684 of yacc.c  */
-#line 3795 "grammar.y"
+#line 3804 "grammar.y"
 
 
index 5563bca..5a74e98 100644 (file)
@@ -368,6 +368,14 @@ type:
    | identifier identifier
    {
    #ifdef PRECOMPILER
+      if(!$1.string[0])
+      {
+         $$ = MkSpecifierName($1.string);
+         FreeIdentifier($1);
+         FreeIdentifier($2);
+         return;
+      }
+
       // if($1._class && !$1._class.name)
       if($1._class)
       {
@@ -379,6 +387,7 @@ type:
       }
       else
          _DeclClass(0, $1.string);
+
       FreeIdentifier($1);
       FreeIdentifier($2);