diff --git a/cobj/parser.c b/cobj/parser.c index 76f7c825..457804dd 100644 --- a/cobj/parser.c +++ b/cobj/parser.c @@ -1986,164 +1986,164 @@ static const yytype_int16 yyrline[] = { 0, 772, 772, 772, 816, 817, 821, 822, 827, 828, 826, 836, 837, 835, 845, 846, 844, 851, 852, 853, - 856, 857, 885, 911, 943, 942, 983, 1027, 1028, 1032, - 1033, 1036, 1037, 1041, 1048, 1055, 1059, 1063, 1075, 1076, - 1086, 1087, 1096, 1097, 1101, 1102, 1103, 1104, 1113, 1116, - 1117, 1118, 1119, 1123, 1130, 1139, 1142, 1143, 1144, 1145, - 1149, 1150, 1154, 1155, 1156, 1160, 1167, 1168, 1172, 1179, - 1191, 1194, 1195, 1199, 1200, 1204, 1208, 1215, 1216, 1226, - 1229, 1230, 1231, 1235, 1236, 1240, 1241, 1242, 1243, 1244, - 1245, 1246, 1247, 1248, 1249, 1250, 1257, 1268, 1267, 1279, - 1278, 1287, 1301, 1315, 1329, 1345, 1346, 1350, 1351, 1355, - 1366, 1367, 1375, 1374, 1386, 1387, 1388, 1389, 1390, 1398, - 1399, 1404, 1405, 1407, 1406, 1418, 1419, 1423, 1424, 1425, - 1426, 1427, 1428, 1432, 1433, 1434, 1435, 1436, 1437, 1444, - 1455, 1467, 1468, 1472, 1473, 1480, 1489, 1490, 1494, 1495, - 1509, 1524, 1591, 1602, 1609, 1616, 1622, 1629, 1630, 1634, - 1633, 1643, 1642, 1658, 1659, 1662, 1663, 1668, 1667, 1688, - 1689, 1693, 1694, 1695, 1696, 1697, 1698, 1699, 1700, 1701, - 1702, 1703, 1704, 1705, 1706, 1707, 1714, 1718, 1723, 1730, - 1731, 1732, 1735, 1736, 1740, 1747, 1748, 1755, 1775, 1776, - 1782, 1786, 1787, 1788, 1795, 1815, 1862, 1862, 1866, 1870, - 1886, 1887, 1888, 1894, 1904, 1913, 1915, 1916, 1922, 1926, - 1927, 1928, 1931, 1932, 1933, 1937, 1941, 1942, 1948, 1949, - 1953, 1962, 1971, 1980, 1989, 2004, 2014, 2021, 2025, 2063, - 2070, 2071, 2078, 2082, 2083, 2084, 2090, 2097, 2098, 2101, - 2102, 2103, 2104, 2108, 2109, 2113, 2114, 2120, 2145, 2146, - 2147, 2148, 2154, 2161, 2162, 2166, 2169, 2170, 2176, 2177, - 2178, 2182, 2186, 2190, 2194, 2198, 2208, 2209, 2223, 2224, - 2224, 2227, 2226, 2239, 2240, 2244, 2256, 2265, 2269, 2270, - 2280, 2279, 2297, 2298, 2302, 2309, 2316, 2317, 2318, 2319, - 2320, 2321, 2322, 2323, 2324, 2325, 2332, 2336, 2336, 2336, - 2342, 2354, 2379, 2403, 2404, 2411, 2412, 2416, 2417, 2424, - 2431, 2432, 2439, 2443, 2452, 2453, 2459, 2469, 2487, 2488, - 2492, 2493, 2494, 2498, 2505, 2512, 2522, 2529, 2547, 2551, - 2562, 2563, 2563, 2574, 2575, 2579, 2579, 2596, 2597, 2599, - 2603, 2605, 2604, 2630, 2629, 2655, 2659, 2666, 2668, 2690, - 2695, 2701, 2710, 2718, 2719, 2727, 2728, 2729, 2733, 2753, - 2757, 2766, 2767, 2768, 2769, 2770, 2771, 2772, 2773, 2774, - 2775, 2776, 2777, 2778, 2779, 2780, 2787, 2809, 2831, 2832, - 2844, 2864, 2871, 2872, 2876, 2877, 2878, 2879, 2880, 2881, - 2882, 2883, 2884, 2885, 2886, 2887, 2892, 2897, 2898, 2899, - 2900, 2901, 2902, 2903, 2904, 2905, 2906, 2907, 2908, 2909, - 2910, 2911, 2912, 2913, 2914, 2915, 2923, 2931, 2939, 2946, - 2951, 2961, 2962, 2963, 2967, 2984, 2985, 2988, 2989, 2995, - 2995, 2998, 3022, 3038, 3039, 3043, 3044, 3047, 3047, 3050, - 3057, 3058, 3063, 3073, 3080, 3083, 3084, 3085, 3092, 3099, - 3124, 3128, 3128, 3133, 3134, 3138, 3139, 3142, 3143, 3156, - 3168, 3188, 3202, 3204, 3203, 3223, 3224, 3224, 3237, 3239, - 3238, 3250, 3251, 3255, 3256, 3265, 3272, 3275, 3279, 3283, - 3284, 3285, 3292, 3293, 3297, 3300, 3300, 3303, 3304, 3310, - 3315, 3316, 3319, 3320, 3323, 3324, 3327, 3328, 3331, 3332, - 3336, 3337, 3338, 3342, 3343, 3346, 3347, 3351, 3355, 3356, - 3360, 3361, 3362, 3363, 3364, 3365, 3366, 3367, 3368, 3369, - 3370, 3371, 3372, 3373, 3374, 3375, 3379, 3383, 3384, 3385, - 3386, 3387, 3388, 3389, 3393, 3397, 3398, 3399, 3403, 3404, - 3408, 3412, 3417, 3421, 3425, 3429, 3430, 3434, 3435, 3439, - 3440, 3441, 3444, 3444, 3444, 3447, 3451, 3454, 3454, 3457, - 3464, 3465, 3466, 3465, 3483, 3484, 3488, 3489, 3494, 3496, - 3495, 3532, 3533, 3537, 3538, 3539, 3540, 3541, 3542, 3543, - 3544, 3545, 3546, 3547, 3548, 3549, 3550, 3551, 3552, 3553, - 3557, 3561, 3565, 3569, 3570, 3571, 3572, 3573, 3574, 3575, - 3576, 3583, 3587, 3597, 3600, 3604, 3608, 3612, 3620, 3623, - 3627, 3631, 3635, 3643, 3656, 3658, 3668, 3657, 3695, 3697, - 3696, 3703, 3702, 3711, 3712, 3717, 3724, 3726, 3730, 3740, - 3742, 3750, 3758, 3787, 3818, 3820, 3830, 3835, 3846, 3847, - 3847, 3874, 3875, 3879, 3880, 3881, 3882, 3898, 3910, 3941, - 3978, 3990, 3993, 3994, 4003, 4007, 4003, 4020, 4041, 4045, - 4046, 4047, 4048, 4049, 4050, 4051, 4052, 4053, 4054, 4055, - 4056, 4057, 4058, 4059, 4060, 4061, 4062, 4063, 4064, 4065, - 4066, 4067, 4068, 4069, 4070, 4071, 4072, 4073, 4074, 4075, - 4076, 4077, 4078, 4079, 4080, 4081, 4082, 4083, 4084, 4085, - 4086, 4087, 4088, 4089, 4090, 4091, 4092, 4093, 4094, 4117, - 4116, 4129, 4133, 4137, 4141, 4145, 4149, 4153, 4157, 4161, - 4165, 4169, 4173, 4177, 4181, 4185, 4189, 4193, 4200, 4201, - 4202, 4203, 4204, 4205, 4209, 4213, 4214, 4217, 4218, 4222, - 4223, 4227, 4228, 4229, 4230, 4231, 4232, 4233, 4234, 4238, - 4242, 4246, 4251, 4252, 4253, 4254, 4255, 4256, 4260, 4261, - 4270, 4270, 4276, 4280, 4284, 4290, 4291, 4295, 4296, 4305, - 4305, 4310, 4314, 4321, 4322, 4331, 4337, 4338, 4342, 4342, - 4350, 4350, 4360, 4362, 4361, 4370, 4371, 4376, 4383, 4390, - 4392, 4396, 4404, 4415, 4416, 4417, 4422, 4426, 4425, 4437, - 4441, 4440, 4451, 4452, 4461, 4461, 4465, 4466, 4470, 4482, - 4482, 4486, 4487, 4498, 4499, 4500, 4501, 4502, 4505, 4505, - 4513, 4513, 4519, 4526, 4527, 4530, 4530, 4537, 4550, 4563, - 4563, 4574, 4575, 4584, 4584, 4604, 4603, 4616, 4620, 4624, - 4628, 4632, 4636, 4640, 4645, 4649, 4656, 4657, 4658, 4662, - 4663, 4668, 4669, 4670, 4671, 4672, 4673, 4674, 4675, 4676, - 4677, 4681, 4685, 4689, 4694, 4695, 4699, 4700, 4709, 4709, - 4715, 4719, 4723, 4727, 4731, 4738, 4739, 4748, 4748, 4770, - 4769, 4788, 4789, 4800, 4809, 4814, 4822, 4851, 4852, 4858, - 4857, 4873, 4877, 4876, 4891, 4892, 4897, 4898, 4909, 4938, - 4939, 4940, 4943, 4944, 4948, 4949, 4958, 4958, 4963, 4964, - 4972, 4980, 4988, 5006, 5031, 5031, 5044, 5044, 5057, 5057, - 5066, 5070, 5083, 5083, 5096, 5098, 5096, 5109, 5114, 5118, - 5117, 5131, 5132, 5141, 5141, 5149, 5150, 5154, 5155, 5156, - 5160, 5161, 5166, 5167, 5172, 5176, 5177, 5178, 5179, 5180, - 5181, 5182, 5186, 5187, 5196, 5196, 5209, 5208, 5218, 5219, - 5220, 5224, 5225, 5229, 5230, 5231, 5237, 5237, 5242, 5243, - 5247, 5248, 5249, 5250, 5251, 5252, 5258, 5262, 5263, 5267, - 5272, 5276, 5277, 5278, 5279, 5280, 5284, 5310, 5323, 5324, - 5328, 5328, 5336, 5336, 5346, 5346, 5351, 5355, 5367, 5367, - 5373, 5377, 5384, 5385, 5394, 5394, 5398, 5399, 5413, 5414, - 5415, 5416, 5420, 5421, 5425, 5426, 5427, 5439, 5439, 5444, - 5449, 5448, 5458, 5465, 5466, 5470, 5475, 5484, 5487, 5491, - 5496, 5503, 5510, 5511, 5515, 5516, 5521, 5533, 5533, 5562, - 5563, 5567, 5568, 5572, 5576, 5580, 5584, 5591, 5592, 5606, - 5607, 5608, 5612, 5613, 5622, 5622, 5637, 5637, 5648, 5649, - 5658, 5658, 5675, 5676, 5680, 5687, 5688, 5697, 5710, 5710, - 5716, 5721, 5720, 5731, 5732, 5736, 5738, 5737, 5748, 5749, - 5754, 5753, 5764, 5765, 5774, 5774, 5779, 5780, 5781, 5782, - 5783, 5789, 5798, 5802, 5811, 5818, 5819, 5825, 5826, 5830, - 5839, 5840, 5844, 5848, 5860, 5860, 5866, 5865, 5882, 5885, - 5906, 5907, 5910, 5911, 5915, 5916, 5921, 5926, 5934, 5946, - 5951, 5959, 5975, 5976, 5975, 5996, 5997, 6013, 6014, 6015, - 6016, 6017, 6021, 6022, 6031, 6031, 6036, 6036, 6043, 6044, - 6045, 6054, 6054, 6063, 6064, 6068, 6069, 6070, 6074, 6075, - 6079, 6080, 6089, 6089, 6095, 6099, 6103, 6110, 6111, 6120, - 6127, 6128, 6136, 6136, 6149, 6149, 6165, 6165, 6174, 6176, - 6177, 6186, 6186, 6196, 6197, 6202, 6203, 6208, 6215, 6216, - 6221, 6228, 6229, 6233, 6234, 6238, 6239, 6243, 6244, 6253, - 6254, 6255, 6259, 6283, 6286, 6294, 6304, 6309, 6314, 6319, - 6326, 6327, 6330, 6331, 6335, 6335, 6339, 6339, 6343, 6343, - 6346, 6347, 6351, 6358, 6359, 6363, 6375, 6375, 6392, 6393, - 6398, 6401, 6405, 6409, 6416, 6417, 6420, 6421, 6422, 6426, - 6427, 6440, 6448, 6455, 6457, 6456, 6466, 6468, 6467, 6482, - 6486, 6488, 6487, 6498, 6500, 6499, 6516, 6522, 6524, 6523, - 6533, 6535, 6534, 6550, 6555, 6560, 6570, 6569, 6581, 6580, - 6596, 6601, 6606, 6616, 6615, 6627, 6626, 6641, 6642, 6646, - 6651, 6656, 6666, 6665, 6677, 6676, 6693, 6696, 6708, 6715, - 6722, 6722, 6732, 6733, 6735, 6736, 6737, 6738, 6739, 6740, - 6742, 6743, 6744, 6745, 6746, 6747, 6749, 6750, 6752, 6753, - 6754, 6757, 6759, 6760, 6761, 6763, 6764, 6765, 6767, 6768, - 6770, 6771, 6772, 6773, 6774, 6776, 6777, 6778, 6779, 6780, - 6781, 6783, 6784, 6785, 6786, 6787, 6788, 6790, 6791, 6794, - 6794, 6794, 6795, 6795, 6796, 6796, 6797, 6797, 6797, 6798, - 6798, 6798, 6803, 6804, 6807, 6808, 6809, 6813, 6814, 6815, - 6816, 6817, 6818, 6819, 6820, 6821, 6832, 6844, 6859, 6860, - 6865, 6871, 6893, 6913, 6917, 6933, 6947, 6948, 6953, 6959, - 6960, 6965, 6974, 6975, 6976, 6980, 6991, 6992, 6996, 7006, - 7007, 7011, 7012, 7016, 7017, 7023, 7043, 7044, 7048, 7049, - 7053, 7054, 7058, 7059, 7060, 7061, 7062, 7063, 7064, 7065, - 7066, 7070, 7071, 7072, 7073, 7074, 7075, 7076, 7080, 7081, - 7085, 7086, 7090, 7091, 7095, 7096, 7107, 7108, 7112, 7113, - 7114, 7118, 7119, 7120, 7128, 7132, 7133, 7134, 7135, 7139, - 7140, 7144, 7154, 7172, 7199, 7211, 7212, 7222, 7223, 7227, - 7228, 7229, 7230, 7231, 7232, 7233, 7241, 7245, 7249, 7253, - 7257, 7261, 7265, 7269, 7273, 7277, 7281, 7285, 7292, 7293, - 7294, 7298, 7299, 7303, 7304, 7309, 7316, 7323, 7333, 7340, - 7350, 7357, 7371, 7381, 7382, 7386, 7387, 7391, 7392, 7396, - 7397, 7398, 7402, 7403, 7407, 7408, 7412, 7413, 7417, 7418, - 7425, 7425, 7426, 7426, 7427, 7427, 7428, 7428, 7430, 7430, - 7431, 7431, 7432, 7432, 7433, 7433, 7434, 7434, 7435, 7435, - 7436, 7436, 7437, 7437, 7438, 7438, 7439, 7439, 7440, 7440, - 7441, 7441, 7442, 7442, 7443, 7443, 7444, 7444, 7445, 7445, - 7446, 7446, 7447, 7447, 7447, 7448, 7448, 7449, 7449, 7449, - 7450, 7450, 7451, 7451, 7452, 7452, 7453, 7453, 7454, 7454, - 7455, 7455, 7456, 7456, 7456, 7457, 7457, 7458, 7458, 7459, - 7459, 7460, 7460, 7461, 7461, 7462, 7462, 7463, 7463, 7463, - 7464, 7464, 7465, 7465, 7466, 7466, 7467, 7467, 7468, 7468, - 7469, 7469, 7470, 7470, 7472, 7472, 7473, 7473 + 856, 857, 885, 911, 943, 942, 986, 1030, 1031, 1035, + 1036, 1039, 1040, 1044, 1051, 1058, 1062, 1066, 1078, 1079, + 1089, 1090, 1099, 1100, 1104, 1105, 1106, 1107, 1116, 1119, + 1120, 1121, 1122, 1126, 1133, 1142, 1145, 1146, 1147, 1148, + 1152, 1153, 1157, 1158, 1159, 1163, 1170, 1171, 1175, 1182, + 1194, 1197, 1198, 1202, 1203, 1207, 1211, 1218, 1219, 1229, + 1232, 1233, 1234, 1238, 1239, 1243, 1244, 1245, 1246, 1247, + 1248, 1249, 1250, 1251, 1252, 1253, 1260, 1271, 1270, 1282, + 1281, 1290, 1304, 1318, 1332, 1348, 1349, 1353, 1354, 1358, + 1369, 1370, 1378, 1377, 1389, 1390, 1391, 1392, 1393, 1401, + 1402, 1407, 1408, 1410, 1409, 1421, 1422, 1426, 1427, 1428, + 1429, 1430, 1431, 1435, 1436, 1437, 1438, 1439, 1440, 1447, + 1458, 1470, 1471, 1475, 1476, 1483, 1492, 1493, 1497, 1498, + 1512, 1527, 1594, 1605, 1612, 1619, 1625, 1632, 1633, 1637, + 1636, 1646, 1645, 1661, 1662, 1665, 1666, 1671, 1670, 1691, + 1692, 1696, 1697, 1698, 1699, 1700, 1701, 1702, 1703, 1704, + 1705, 1706, 1707, 1708, 1709, 1710, 1717, 1721, 1726, 1733, + 1734, 1735, 1738, 1739, 1743, 1750, 1751, 1758, 1778, 1779, + 1785, 1789, 1790, 1791, 1798, 1818, 1865, 1865, 1869, 1873, + 1889, 1890, 1891, 1897, 1907, 1916, 1918, 1919, 1925, 1929, + 1930, 1931, 1934, 1935, 1936, 1940, 1944, 1945, 1951, 1952, + 1956, 1965, 1974, 1983, 1992, 2007, 2017, 2024, 2028, 2066, + 2073, 2074, 2081, 2085, 2086, 2087, 2093, 2100, 2101, 2104, + 2105, 2106, 2107, 2111, 2112, 2116, 2117, 2123, 2148, 2149, + 2150, 2151, 2157, 2164, 2165, 2169, 2172, 2173, 2179, 2180, + 2181, 2185, 2189, 2193, 2197, 2201, 2211, 2212, 2226, 2227, + 2227, 2230, 2229, 2242, 2243, 2247, 2259, 2268, 2272, 2273, + 2283, 2282, 2300, 2301, 2305, 2312, 2319, 2320, 2321, 2322, + 2323, 2324, 2325, 2326, 2327, 2328, 2335, 2339, 2339, 2339, + 2345, 2357, 2382, 2406, 2407, 2414, 2415, 2419, 2420, 2427, + 2434, 2435, 2442, 2446, 2455, 2456, 2462, 2472, 2490, 2491, + 2495, 2496, 2497, 2501, 2508, 2515, 2525, 2532, 2550, 2554, + 2565, 2566, 2566, 2577, 2578, 2582, 2582, 2599, 2600, 2602, + 2606, 2608, 2607, 2633, 2632, 2658, 2662, 2669, 2671, 2693, + 2698, 2704, 2713, 2721, 2722, 2730, 2731, 2732, 2736, 2756, + 2760, 2769, 2770, 2771, 2772, 2773, 2774, 2775, 2776, 2777, + 2778, 2779, 2780, 2781, 2782, 2783, 2790, 2812, 2834, 2835, + 2847, 2867, 2874, 2875, 2879, 2880, 2881, 2882, 2883, 2884, + 2885, 2886, 2887, 2888, 2889, 2890, 2895, 2900, 2901, 2902, + 2903, 2904, 2905, 2906, 2907, 2908, 2909, 2910, 2911, 2912, + 2913, 2914, 2915, 2916, 2917, 2918, 2926, 2934, 2942, 2949, + 2954, 2964, 2965, 2966, 2970, 2987, 2988, 2991, 2992, 2998, + 2998, 3001, 3025, 3041, 3042, 3046, 3047, 3050, 3050, 3053, + 3060, 3061, 3066, 3076, 3083, 3086, 3087, 3088, 3095, 3102, + 3127, 3131, 3131, 3136, 3137, 3141, 3142, 3145, 3146, 3159, + 3171, 3191, 3205, 3207, 3206, 3226, 3227, 3227, 3240, 3242, + 3241, 3253, 3254, 3258, 3259, 3268, 3275, 3278, 3282, 3286, + 3287, 3288, 3295, 3296, 3300, 3303, 3303, 3306, 3307, 3313, + 3318, 3319, 3322, 3323, 3326, 3327, 3330, 3331, 3334, 3335, + 3339, 3340, 3341, 3345, 3346, 3349, 3350, 3354, 3358, 3359, + 3363, 3364, 3365, 3366, 3367, 3368, 3369, 3370, 3371, 3372, + 3373, 3374, 3375, 3376, 3377, 3378, 3382, 3386, 3387, 3388, + 3389, 3390, 3391, 3392, 3396, 3400, 3401, 3402, 3406, 3407, + 3411, 3415, 3420, 3424, 3428, 3432, 3433, 3437, 3438, 3442, + 3443, 3444, 3447, 3447, 3447, 3450, 3454, 3457, 3457, 3460, + 3467, 3468, 3469, 3468, 3486, 3487, 3491, 3492, 3497, 3499, + 3498, 3535, 3536, 3540, 3541, 3542, 3543, 3544, 3545, 3546, + 3547, 3548, 3549, 3550, 3551, 3552, 3553, 3554, 3555, 3556, + 3560, 3564, 3568, 3572, 3573, 3574, 3575, 3576, 3577, 3578, + 3579, 3586, 3590, 3600, 3603, 3607, 3611, 3615, 3623, 3626, + 3630, 3634, 3638, 3646, 3659, 3661, 3671, 3660, 3698, 3700, + 3699, 3706, 3705, 3714, 3715, 3720, 3727, 3729, 3733, 3743, + 3745, 3753, 3761, 3790, 3821, 3823, 3833, 3838, 3849, 3850, + 3850, 3877, 3878, 3882, 3883, 3884, 3885, 3901, 3913, 3944, + 3981, 3993, 3996, 3997, 4006, 4010, 4006, 4023, 4044, 4048, + 4049, 4050, 4051, 4052, 4053, 4054, 4055, 4056, 4057, 4058, + 4059, 4060, 4061, 4062, 4063, 4064, 4065, 4066, 4067, 4068, + 4069, 4070, 4071, 4072, 4073, 4074, 4075, 4076, 4077, 4078, + 4079, 4080, 4081, 4082, 4083, 4084, 4085, 4086, 4087, 4088, + 4089, 4090, 4091, 4092, 4093, 4094, 4095, 4096, 4097, 4120, + 4119, 4132, 4136, 4140, 4144, 4148, 4152, 4156, 4160, 4164, + 4168, 4172, 4176, 4180, 4184, 4188, 4192, 4196, 4203, 4204, + 4205, 4206, 4207, 4208, 4212, 4216, 4217, 4220, 4221, 4225, + 4226, 4230, 4231, 4232, 4233, 4234, 4235, 4236, 4237, 4241, + 4245, 4249, 4254, 4255, 4256, 4257, 4258, 4259, 4263, 4264, + 4273, 4273, 4279, 4283, 4287, 4293, 4294, 4298, 4299, 4308, + 4308, 4313, 4317, 4324, 4325, 4334, 4340, 4341, 4345, 4345, + 4353, 4353, 4363, 4365, 4364, 4373, 4374, 4379, 4386, 4393, + 4395, 4399, 4407, 4418, 4419, 4420, 4425, 4429, 4428, 4440, + 4444, 4443, 4454, 4455, 4464, 4464, 4468, 4469, 4473, 4485, + 4485, 4489, 4490, 4501, 4502, 4503, 4504, 4505, 4508, 4508, + 4516, 4516, 4522, 4529, 4530, 4533, 4533, 4540, 4553, 4566, + 4566, 4577, 4578, 4587, 4587, 4607, 4606, 4619, 4623, 4627, + 4631, 4635, 4639, 4643, 4648, 4652, 4659, 4660, 4661, 4665, + 4666, 4671, 4672, 4673, 4674, 4675, 4676, 4677, 4678, 4679, + 4680, 4684, 4688, 4692, 4697, 4698, 4702, 4703, 4712, 4712, + 4718, 4722, 4726, 4730, 4734, 4741, 4742, 4751, 4751, 4773, + 4772, 4791, 4792, 4803, 4812, 4817, 4825, 4854, 4855, 4861, + 4860, 4876, 4880, 4879, 4894, 4895, 4900, 4901, 4912, 4941, + 4942, 4943, 4946, 4947, 4951, 4952, 4961, 4961, 4966, 4967, + 4975, 4983, 4991, 5009, 5034, 5034, 5047, 5047, 5060, 5060, + 5069, 5073, 5086, 5086, 5099, 5101, 5099, 5112, 5117, 5121, + 5120, 5134, 5135, 5144, 5144, 5152, 5153, 5157, 5158, 5159, + 5163, 5164, 5169, 5170, 5175, 5179, 5180, 5181, 5182, 5183, + 5184, 5185, 5189, 5190, 5199, 5199, 5212, 5211, 5221, 5222, + 5223, 5227, 5228, 5232, 5233, 5234, 5240, 5240, 5245, 5246, + 5250, 5251, 5252, 5253, 5254, 5255, 5261, 5265, 5266, 5270, + 5275, 5279, 5280, 5281, 5282, 5283, 5287, 5313, 5326, 5327, + 5331, 5331, 5339, 5339, 5349, 5349, 5354, 5358, 5370, 5370, + 5376, 5380, 5387, 5388, 5397, 5397, 5401, 5402, 5416, 5417, + 5418, 5419, 5423, 5424, 5428, 5429, 5430, 5442, 5442, 5447, + 5452, 5451, 5461, 5468, 5469, 5473, 5478, 5487, 5490, 5494, + 5499, 5506, 5513, 5514, 5518, 5519, 5524, 5536, 5536, 5565, + 5566, 5570, 5571, 5575, 5579, 5583, 5587, 5594, 5595, 5609, + 5610, 5611, 5615, 5616, 5625, 5625, 5640, 5640, 5651, 5652, + 5661, 5661, 5678, 5679, 5683, 5690, 5691, 5700, 5713, 5713, + 5719, 5724, 5723, 5734, 5735, 5739, 5741, 5740, 5751, 5752, + 5757, 5756, 5767, 5768, 5777, 5777, 5782, 5783, 5784, 5785, + 5786, 5792, 5801, 5805, 5814, 5821, 5822, 5828, 5829, 5833, + 5842, 5843, 5847, 5851, 5863, 5863, 5869, 5868, 5885, 5888, + 5909, 5910, 5913, 5914, 5918, 5919, 5924, 5929, 5937, 5949, + 5954, 5962, 5978, 5979, 5978, 5999, 6000, 6016, 6017, 6018, + 6019, 6020, 6024, 6025, 6034, 6034, 6039, 6039, 6046, 6047, + 6048, 6057, 6057, 6066, 6067, 6071, 6072, 6073, 6077, 6078, + 6082, 6083, 6092, 6092, 6098, 6102, 6106, 6113, 6114, 6123, + 6130, 6131, 6139, 6139, 6152, 6152, 6168, 6168, 6177, 6179, + 6180, 6189, 6189, 6199, 6200, 6205, 6206, 6211, 6218, 6219, + 6224, 6231, 6232, 6236, 6237, 6241, 6242, 6246, 6247, 6256, + 6257, 6258, 6262, 6286, 6289, 6297, 6307, 6312, 6317, 6322, + 6329, 6330, 6333, 6334, 6338, 6338, 6342, 6342, 6346, 6346, + 6349, 6350, 6354, 6361, 6362, 6366, 6378, 6378, 6395, 6396, + 6401, 6404, 6408, 6412, 6419, 6420, 6423, 6424, 6425, 6429, + 6430, 6443, 6451, 6458, 6460, 6459, 6469, 6471, 6470, 6485, + 6489, 6491, 6490, 6501, 6503, 6502, 6519, 6525, 6527, 6526, + 6536, 6538, 6537, 6553, 6558, 6563, 6573, 6572, 6584, 6583, + 6599, 6604, 6609, 6619, 6618, 6630, 6629, 6644, 6645, 6649, + 6654, 6659, 6669, 6668, 6680, 6679, 6696, 6699, 6711, 6718, + 6725, 6725, 6735, 6736, 6738, 6739, 6740, 6741, 6742, 6743, + 6745, 6746, 6747, 6748, 6749, 6750, 6752, 6753, 6755, 6756, + 6757, 6760, 6762, 6763, 6764, 6766, 6767, 6768, 6770, 6771, + 6773, 6774, 6775, 6776, 6777, 6779, 6780, 6781, 6782, 6783, + 6784, 6786, 6787, 6788, 6789, 6790, 6791, 6793, 6794, 6797, + 6797, 6797, 6798, 6798, 6799, 6799, 6800, 6800, 6800, 6801, + 6801, 6801, 6806, 6807, 6810, 6811, 6812, 6816, 6817, 6818, + 6819, 6820, 6821, 6822, 6823, 6824, 6835, 6847, 6862, 6863, + 6868, 6874, 6896, 6916, 6920, 6936, 6950, 6951, 6956, 6962, + 6963, 6968, 6977, 6978, 6979, 6983, 6994, 6995, 6999, 7009, + 7010, 7014, 7015, 7019, 7020, 7026, 7046, 7047, 7051, 7052, + 7056, 7057, 7061, 7062, 7063, 7064, 7065, 7066, 7067, 7068, + 7069, 7073, 7074, 7075, 7076, 7077, 7078, 7079, 7083, 7084, + 7088, 7089, 7093, 7094, 7098, 7099, 7110, 7111, 7115, 7116, + 7117, 7121, 7122, 7123, 7131, 7135, 7136, 7137, 7138, 7142, + 7143, 7147, 7157, 7175, 7202, 7214, 7215, 7225, 7226, 7230, + 7231, 7232, 7233, 7234, 7235, 7236, 7244, 7248, 7252, 7256, + 7260, 7264, 7268, 7272, 7276, 7280, 7284, 7288, 7295, 7296, + 7297, 7301, 7302, 7306, 7307, 7312, 7319, 7326, 7336, 7343, + 7353, 7360, 7374, 7384, 7385, 7389, 7390, 7394, 7395, 7399, + 7400, 7401, 7405, 7406, 7410, 7411, 7415, 7416, 7420, 7421, + 7428, 7428, 7429, 7429, 7430, 7430, 7431, 7431, 7433, 7433, + 7434, 7434, 7435, 7435, 7436, 7436, 7437, 7437, 7438, 7438, + 7439, 7439, 7440, 7440, 7441, 7441, 7442, 7442, 7443, 7443, + 7444, 7444, 7445, 7445, 7446, 7446, 7447, 7447, 7448, 7448, + 7449, 7449, 7450, 7450, 7450, 7451, 7451, 7452, 7452, 7452, + 7453, 7453, 7454, 7454, 7455, 7455, 7456, 7456, 7457, 7457, + 7458, 7458, 7459, 7459, 7459, 7460, 7460, 7461, 7461, 7462, + 7462, 7463, 7463, 7464, 7464, 7465, 7465, 7466, 7466, 7466, + 7467, 7467, 7468, 7468, 7469, 7469, 7470, 7470, 7471, 7471, + 7472, 7472, 7473, 7473, 7475, 7475, 7476, 7476 }; #endif @@ -5440,6 +5440,9 @@ yyparse (void) } else { stack_progid[depth] = (char *)(CB_NAME (yyvsp[-1])); } + if(strcmp("MAIN", stack_progid[depth]) == 0) { + cb_error (_("PROGRAM-ID should not be MAIN")); + } if (prog_end) { if (!current_program->flag_validated) { current_program->flag_validated = 1; @@ -5468,11 +5471,11 @@ yyparse (void) depth++; current_program->program_id = cb_build_program_id (yyvsp[-1], yyvsp[0]); } -#line 5472 "parser.c" +#line 5475 "parser.c" break; case 26: /* function_division: "FUNCTION-ID" '.' program_name as_literal '.' */ -#line 984 "parser.y" +#line 987 "parser.y" { cb_error (_("FUNCTION-ID is not yet implemented")); current_section = NULL; @@ -5513,138 +5516,138 @@ yyparse (void) current_program->flag_recursive = 1; current_program->flag_initial = 1; } -#line 5517 "parser.c" +#line 5520 "parser.c" break; case 29: /* as_literal: %empty */ -#line 1032 "parser.y" +#line 1035 "parser.y" { yyval = NULL; } -#line 5523 "parser.c" +#line 5526 "parser.c" break; case 30: /* as_literal: AS "Literal" */ -#line 1033 "parser.y" +#line 1036 "parser.y" { yyval = yyvsp[0]; } -#line 5529 "parser.c" +#line 5532 "parser.c" break; case 33: /* program_type_clause: COMMON */ -#line 1042 "parser.y" +#line 1045 "parser.y" { if (!current_program->nested_level) { cb_error (_("COMMON may only be used in a nested program")); } current_program->flag_common = 1; } -#line 5540 "parser.c" +#line 5543 "parser.c" break; case 34: /* program_type_clause: COMMON _init_or_recurs */ -#line 1049 "parser.y" +#line 1052 "parser.y" { if (!current_program->nested_level) { cb_error (_("COMMON may only be used in a nested program")); } current_program->flag_common = 1; } -#line 5551 "parser.c" +#line 5554 "parser.c" break; case 36: /* _init_or_recurs: "INITIAL" */ -#line 1060 "parser.y" +#line 1063 "parser.y" { current_program->flag_initial = 1; } -#line 5559 "parser.c" +#line 5562 "parser.c" break; case 37: /* _init_or_recurs: RECURSIVE */ -#line 1064 "parser.y" +#line 1067 "parser.y" { current_program->flag_recursive = 1; current_program->flag_initial = 1; } -#line 5568 "parser.c" +#line 5571 "parser.c" break; case 41: /* configuration_section: CONFIGURATION SECTION '.' configuration_list */ -#line 1089 "parser.y" +#line 1092 "parser.y" { if (current_program->nested_level) { cb_error (_("CONFIGURATION SECTION not allowed in nested programs")); } } -#line 5578 "parser.c" +#line 5581 "parser.c" break; case 53: /* with_debugging_mode: _with DEBUGGING MODE */ -#line 1124 "parser.y" +#line 1127 "parser.y" { cb_verify (cb_debugging_line, "DEBUGGING MODE"); } -#line 5586 "parser.c" +#line 5589 "parser.c" break; case 54: /* computer_name: "Identifier" */ -#line 1130 "parser.y" +#line 1133 "parser.y" { } -#line 5592 "parser.c" +#line 5595 "parser.c" break; case 65: /* object_computer_memory: MEMORY SIZE _is integer object_char_or_word */ -#line 1161 "parser.y" +#line 1164 "parser.y" { cb_verify (cb_memory_size_clause, "MEMORY SIZE"); } -#line 5600 "parser.c" +#line 5603 "parser.c" break; case 68: /* object_computer_sequence: _program coll_sequence _is reference */ -#line 1173 "parser.y" +#line 1176 "parser.y" { current_program->collating_sequence = yyvsp[0]; } -#line 5608 "parser.c" +#line 5611 "parser.c" break; case 69: /* object_computer_segment: "SEGMENT-LIMIT" _is integer */ -#line 1180 "parser.y" +#line 1183 "parser.y" { /* Ignore */ } -#line 5616 "parser.c" +#line 5619 "parser.c" break; case 75: /* repository_name: FUNCTION repository_literal_list INTRINSIC */ -#line 1205 "parser.y" +#line 1208 "parser.y" { current_program->function_spec_list = yyvsp[-1]; } -#line 5624 "parser.c" +#line 5627 "parser.c" break; case 76: /* repository_name: FUNCTION ALL INTRINSIC */ -#line 1209 "parser.y" +#line 1212 "parser.y" { functions_are_all = 1; } -#line 5632 "parser.c" +#line 5635 "parser.c" break; case 77: /* repository_literal_list: "Literal" */ -#line 1215 "parser.y" +#line 1218 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 5638 "parser.c" +#line 5641 "parser.c" break; case 78: /* repository_literal_list: repository_literal_list "Literal" */ -#line 1217 "parser.y" +#line 1220 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 5644 "parser.c" +#line 5647 "parser.c" break; case 96: /* mnemonic_name_clause: "Identifier" _is CRT */ -#line 1258 "parser.y" +#line 1261 "parser.y" { save_tree_1 = lookup_system_name (CB_NAME (yyvsp[-2])); if (save_tree_1 == cb_error_node) { @@ -5654,11 +5657,11 @@ yyparse (void) } /* current_program->flag_screen = 1; */ } -#line 5658 "parser.c" +#line 5661 "parser.c" break; case 97: /* $@9: %empty */ -#line 1268 "parser.y" +#line 1271 "parser.y" { save_tree_1 = lookup_system_name (CB_NAME (yyvsp[-2])); if (save_tree_1 == cb_error_node) { @@ -5668,11 +5671,11 @@ yyparse (void) } save_tree_2 = yyvsp[0]; } -#line 5672 "parser.c" +#line 5675 "parser.c" break; case 99: /* $@10: %empty */ -#line 1279 "parser.y" +#line 1282 "parser.y" { save_tree_1 = lookup_system_name (CB_NAME (yyvsp[-1])); if (save_tree_1 == cb_error_node) { @@ -5680,11 +5683,11 @@ yyparse (void) } save_tree_2 = NULL; } -#line 5684 "parser.c" +#line 5687 "parser.c" break; case 101: /* mnemonic_name_clause: "ARGUMENT-NUMBER" _is undefined_word */ -#line 1288 "parser.y" +#line 1291 "parser.y" { if (cb_enable_special_names_argument_clause) { save_tree_1 = lookup_system_name ("ARGUMENT-NUMBER"); @@ -5698,11 +5701,11 @@ yyparse (void) cb_error (_("SPECIAL-NAMES with ARGUMENT-NUMBER clause is not yet supported")); } } -#line 5702 "parser.c" +#line 5705 "parser.c" break; case 102: /* mnemonic_name_clause: "ARGUMENT-VALUE" _is undefined_word */ -#line 1302 "parser.y" +#line 1305 "parser.y" { if (cb_enable_special_names_argument_clause) { save_tree_1 = lookup_system_name ("ARGUMENT-VALUE"); @@ -5716,11 +5719,11 @@ yyparse (void) cb_error (_("SPECIAL-NAMES with ARGUMENT-VALUE clause is not yet supported")); } } -#line 5720 "parser.c" +#line 5723 "parser.c" break; case 103: /* mnemonic_name_clause: "ENVIRONMENT-NAME" _is undefined_word */ -#line 1316 "parser.y" +#line 1319 "parser.y" { if (cb_enable_special_names_environment_clause) { save_tree_1 = lookup_system_name ("ENVIRONMENT-NAME"); @@ -5734,11 +5737,11 @@ yyparse (void) cb_error (_("SPECIAL-NAMES with ENVIRONMENT-NAME clause is not yet supported")); } } -#line 5738 "parser.c" +#line 5741 "parser.c" break; case 104: /* mnemonic_name_clause: "ENVIRONMENT-VALUE" _is undefined_word */ -#line 1330 "parser.y" +#line 1333 "parser.y" { if (cb_enable_special_names_environment_clause) { save_tree_1 = lookup_system_name ("ENVIRONMENT-VALUE"); @@ -5752,11 +5755,11 @@ yyparse (void) cb_error (_("SPECIAL-NAMES with ENVIRONMENT-VALUE clause is not yet supported")); } } -#line 5756 "parser.c" +#line 5759 "parser.c" break; case 109: /* special_name_mnemonic_on_off: on_or_off _status _is undefined_word */ -#line 1356 "parser.y" +#line 1359 "parser.y" { if (!save_tree_2 && !cb_switch_no_mnemonic) { cb_error_x (yyvsp[0], _("'%s' with no mnemonic name"), CB_NAME (yyvsp[0])); @@ -5764,186 +5767,186 @@ yyparse (void) cb_define_switch_name (yyvsp[0], save_tree_1, yyvsp[-3], save_tree_2); } } -#line 5768 "parser.c" +#line 5771 "parser.c" break; case 110: /* on_or_off: ON */ -#line 1366 "parser.y" +#line 1369 "parser.y" { yyval = cb_int1; } -#line 5774 "parser.c" +#line 5777 "parser.c" break; case 111: /* on_or_off: OFF */ -#line 1367 "parser.y" +#line 1370 "parser.y" { yyval = cb_int0; } -#line 5780 "parser.c" +#line 5783 "parser.c" break; case 112: /* $@11: %empty */ -#line 1375 "parser.y" +#line 1378 "parser.y" { save_tree_1 = yyvsp[0]; } -#line 5788 "parser.c" +#line 5791 "parser.c" break; case 113: /* alphabet_name_clause: ALPHABET undefined_word $@11 _is alphabet_definition */ -#line 1379 "parser.y" +#line 1382 "parser.y" { current_program->alphabet_name_list = cb_list_add (current_program->alphabet_name_list, yyvsp[0]); } -#line 5797 "parser.c" +#line 5800 "parser.c" break; case 114: /* alphabet_definition: NATIVE */ -#line 1386 "parser.y" +#line 1389 "parser.y" { yyval = cb_build_alphabet_name (save_tree_1, CB_ALPHABET_NATIVE); } -#line 5803 "parser.c" +#line 5806 "parser.c" break; case 115: /* alphabet_definition: "STANDARD-1" */ -#line 1387 "parser.y" +#line 1390 "parser.y" { yyval = cb_build_alphabet_name (save_tree_1, CB_ALPHABET_STANDARD_1); } -#line 5809 "parser.c" +#line 5812 "parser.c" break; case 116: /* alphabet_definition: "STANDARD-2" */ -#line 1388 "parser.y" +#line 1391 "parser.y" { yyval = cb_build_alphabet_name (save_tree_1, CB_ALPHABET_STANDARD_2); } -#line 5815 "parser.c" +#line 5818 "parser.c" break; case 117: /* alphabet_definition: EBCDIC */ -#line 1389 "parser.y" +#line 1392 "parser.y" { yyval = cb_build_alphabet_name (save_tree_1, CB_ALPHABET_EBCDIC); } -#line 5821 "parser.c" +#line 5824 "parser.c" break; case 118: /* alphabet_definition: alphabet_literal_list */ -#line 1391 "parser.y" +#line 1394 "parser.y" { yyval = cb_build_alphabet_name (save_tree_1, CB_ALPHABET_CUSTOM); CB_ALPHABET_NAME (yyval)->custom_list = yyvsp[0]; } -#line 5830 "parser.c" +#line 5833 "parser.c" break; case 119: /* alphabet_literal_list: alphabet_literal */ -#line 1398 "parser.y" +#line 1401 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 5836 "parser.c" +#line 5839 "parser.c" break; case 120: /* alphabet_literal_list: alphabet_literal_list alphabet_literal */ -#line 1400 "parser.y" +#line 1403 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 5842 "parser.c" +#line 5845 "parser.c" break; case 121: /* alphabet_literal: alphabet_lits */ -#line 1404 "parser.y" +#line 1407 "parser.y" { yyval = yyvsp[0]; } -#line 5848 "parser.c" +#line 5851 "parser.c" break; case 122: /* alphabet_literal: alphabet_lits THRU alphabet_lits */ -#line 1405 "parser.y" +#line 1408 "parser.y" { yyval = cb_build_pair (yyvsp[-2], yyvsp[0]); } -#line 5854 "parser.c" +#line 5857 "parser.c" break; case 123: /* @12: %empty */ -#line 1407 "parser.y" +#line 1410 "parser.y" { yyval = cb_list_init (yyvsp[-1]); save_tree_2 = yyval; } -#line 5863 "parser.c" +#line 5866 "parser.c" break; case 124: /* alphabet_literal: alphabet_lits ALSO @12 alphabet_also_sequence */ -#line 1412 "parser.y" +#line 1415 "parser.y" { yyval = yyvsp[-1]; } -#line 5871 "parser.c" +#line 5874 "parser.c" break; case 127: /* alphabet_lits: "Literal" */ -#line 1423 "parser.y" +#line 1426 "parser.y" { yyval = yyvsp[0]; } -#line 5877 "parser.c" +#line 5880 "parser.c" break; case 128: /* alphabet_lits: SPACE */ -#line 1424 "parser.y" +#line 1427 "parser.y" { yyval = cb_space; } -#line 5883 "parser.c" +#line 5886 "parser.c" break; case 129: /* alphabet_lits: ZERO */ -#line 1425 "parser.y" +#line 1428 "parser.y" { yyval = cb_zero; } -#line 5889 "parser.c" +#line 5892 "parser.c" break; case 130: /* alphabet_lits: QUOTE */ -#line 1426 "parser.y" +#line 1429 "parser.y" { yyval = cb_quote; } -#line 5895 "parser.c" +#line 5898 "parser.c" break; case 131: /* alphabet_lits: "HIGH-VALUE" */ -#line 1427 "parser.y" +#line 1430 "parser.y" { yyval = cb_norm_high; } -#line 5901 "parser.c" +#line 5904 "parser.c" break; case 132: /* alphabet_lits: "LOW-VALUE" */ -#line 1428 "parser.y" +#line 1431 "parser.y" { yyval = cb_norm_low; } -#line 5907 "parser.c" +#line 5910 "parser.c" break; case 133: /* alphabet_also_literal: "Literal" */ -#line 1432 "parser.y" +#line 1435 "parser.y" { cb_list_add (save_tree_2, yyvsp[0]); } -#line 5913 "parser.c" +#line 5916 "parser.c" break; case 134: /* alphabet_also_literal: SPACE */ -#line 1433 "parser.y" +#line 1436 "parser.y" { cb_list_add (save_tree_2, cb_space); } -#line 5919 "parser.c" +#line 5922 "parser.c" break; case 135: /* alphabet_also_literal: ZERO */ -#line 1434 "parser.y" +#line 1437 "parser.y" { cb_list_add (save_tree_2, cb_zero); } -#line 5925 "parser.c" +#line 5928 "parser.c" break; case 136: /* alphabet_also_literal: QUOTE */ -#line 1435 "parser.y" +#line 1438 "parser.y" { cb_list_add (save_tree_2, cb_quote); } -#line 5931 "parser.c" +#line 5934 "parser.c" break; case 137: /* alphabet_also_literal: "HIGH-VALUE" */ -#line 1436 "parser.y" +#line 1439 "parser.y" { cb_list_add (save_tree_2, cb_norm_high); } -#line 5937 "parser.c" +#line 5940 "parser.c" break; case 138: /* alphabet_also_literal: "LOW-VALUE" */ -#line 1437 "parser.y" +#line 1440 "parser.y" { cb_list_add (save_tree_2, cb_norm_low); } -#line 5943 "parser.c" +#line 5946 "parser.c" break; case 139: /* symbolic_characters_clause: SYMBOLIC _characters symbolic_characters_list */ -#line 1445 "parser.y" +#line 1448 "parser.y" { if (yyvsp[0]) { current_program->symbolic_list = @@ -5951,11 +5954,11 @@ yyparse (void) } PENDING ("SYMBOLIC CHARACTERS"); } -#line 5955 "parser.c" +#line 5958 "parser.c" break; case 140: /* symbolic_characters_list: char_list _is_are integer_list */ -#line 1456 "parser.y" +#line 1459 "parser.y" { if (cb_list_length (yyvsp[-2]) != cb_list_length (yyvsp[0])) { cb_error (_("Invalid SYMBOLIC clause")); @@ -5964,63 +5967,63 @@ yyparse (void) yyval = NULL; } } -#line 5968 "parser.c" +#line 5971 "parser.c" break; case 141: /* char_list: undefined_word */ -#line 1467 "parser.y" +#line 1470 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 5974 "parser.c" +#line 5977 "parser.c" break; case 142: /* char_list: char_list undefined_word */ -#line 1468 "parser.y" +#line 1471 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 5980 "parser.c" +#line 5983 "parser.c" break; case 143: /* integer_list: integer */ -#line 1472 "parser.y" +#line 1475 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 5986 "parser.c" +#line 5989 "parser.c" break; case 144: /* integer_list: integer_list integer */ -#line 1473 "parser.y" +#line 1476 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 5992 "parser.c" +#line 5995 "parser.c" break; case 145: /* class_name_clause: CLASS undefined_word _is class_item_list */ -#line 1481 "parser.y" +#line 1484 "parser.y" { current_program->class_name_list = cb_list_add (current_program->class_name_list, cb_build_class_name (yyvsp[-2], yyvsp[0])); } -#line 6002 "parser.c" +#line 6005 "parser.c" break; case 146: /* class_item_list: class_item */ -#line 1489 "parser.y" +#line 1492 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 6008 "parser.c" +#line 6011 "parser.c" break; case 147: /* class_item_list: class_item_list class_item */ -#line 1490 "parser.y" +#line 1493 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 6014 "parser.c" +#line 6017 "parser.c" break; case 148: /* class_item: basic_value */ -#line 1494 "parser.y" +#line 1497 "parser.y" { yyval = yyvsp[0]; } -#line 6020 "parser.c" +#line 6023 "parser.c" break; case 149: /* class_item: basic_value THRU basic_value */ -#line 1496 "parser.y" +#line 1499 "parser.y" { /* if (CB_LITERAL ($1)->data[0] < CB_LITERAL ($3)->data[0]) */ if (literal_value (yyvsp[-2]) < literal_value (yyvsp[0])) { @@ -6029,11 +6032,11 @@ yyparse (void) yyval = cb_build_pair (yyvsp[0], yyvsp[-2]); } } -#line 6033 "parser.c" +#line 6036 "parser.c" break; case 150: /* locale_clause: LOCALE undefined_word _is reference */ -#line 1510 "parser.y" +#line 1513 "parser.y" { cb_tree l; @@ -6043,11 +6046,11 @@ yyparse (void) cb_list_add (current_program->locale_list, l); } } -#line 6047 "parser.c" +#line 6050 "parser.c" break; case 151: /* currency_sign_clause: CURRENCY _sign _is "Literal" */ -#line 1525 "parser.y" +#line 1528 "parser.y" { unsigned char *s = CB_LITERAL (yyvsp[0])->data; @@ -6108,44 +6111,44 @@ yyparse (void) } current_program->currency_symbol = s[0]; } -#line 6112 "parser.c" +#line 6115 "parser.c" break; case 152: /* decimal_point_clause: "DECIMAL-POINT" _is COMMA */ -#line 1592 "parser.y" +#line 1595 "parser.y" { current_program->decimal_point = ','; current_program->numeric_separator = '.'; } -#line 6121 "parser.c" +#line 6124 "parser.c" break; case 153: /* cursor_clause: CURSOR _is reference */ -#line 1602 "parser.y" +#line 1605 "parser.y" { current_program->cursor_pos = yyvsp[0]; } -#line 6127 "parser.c" +#line 6130 "parser.c" break; case 154: /* crt_status_clause: CRT STATUS _is reference */ -#line 1609 "parser.y" +#line 1612 "parser.y" { current_program->crt_status = yyvsp[0]; } -#line 6133 "parser.c" +#line 6136 "parser.c" break; case 155: /* screen_control: "SCREEN-CONTROL" _is reference */ -#line 1616 "parser.y" +#line 1619 "parser.y" { PENDING ("SCREEN CONTROL"); } -#line 6139 "parser.c" +#line 6142 "parser.c" break; case 156: /* event_status: "EVENT-STATUS" _is reference */ -#line 1622 "parser.y" +#line 1625 "parser.y" { PENDING ("EVENT STATUS"); } -#line 6145 "parser.c" +#line 6148 "parser.c" break; case 159: /* $@13: %empty */ -#line 1634 "parser.y" +#line 1637 "parser.y" { /* hack for MF compatibility */ if (cb_relaxed_syntax_check) { @@ -6154,11 +6157,11 @@ yyparse (void) cb_error (_("INPUT-OUTPUT SECTION header missing")); } } -#line 6158 "parser.c" +#line 6161 "parser.c" break; case 161: /* $@14: %empty */ -#line 1643 "parser.y" +#line 1646 "parser.y" { /* hack for MF compatibility */ if (cb_relaxed_syntax_check) { @@ -6167,11 +6170,11 @@ yyparse (void) cb_error (_("INPUT-OUTPUT SECTION header missing")); } } -#line 6171 "parser.c" +#line 6174 "parser.c" break; case 167: /* $@15: %empty */ -#line 1668 "parser.y" +#line 1671 "parser.y" { organized_seen = 0; if (yyvsp[0] == cb_error_node) { @@ -6186,78 +6189,78 @@ yyparse (void) current_program->file_list = cb_cons (CB_TREE (current_file), current_program->file_list); } -#line 6190 "parser.c" +#line 6193 "parser.c" break; case 168: /* file_control_entry: SELECT flag_optional undefined_word $@15 select_clause_sequence '.' */ -#line 1683 "parser.y" +#line 1686 "parser.y" { validate_file (current_file, yyvsp[-3]); } -#line 6198 "parser.c" +#line 6201 "parser.c" break; case 186: /* assign_clause: ASSIGN _to _ext_clause _device assignment_name */ -#line 1715 "parser.y" +#line 1718 "parser.y" { current_file->assign = cb_build_assignment_name (current_file, yyvsp[0]); } -#line 6206 "parser.c" +#line 6209 "parser.c" break; case 187: /* assign_clause: ASSIGN _to _ext_clause DISK */ -#line 1719 "parser.y" +#line 1722 "parser.y" { current_file->fileid_assign = 1; current_file->assign = cb_build_assignment_name (current_file, cb_build_reference ("DISK")); } -#line 6215 "parser.c" +#line 6218 "parser.c" break; case 188: /* assign_clause: ASSIGN _to _ext_clause PRINTER */ -#line 1724 "parser.y" +#line 1727 "parser.y" { current_file->fileid_assign = 1; current_file->assign = cb_build_assignment_name (current_file, cb_build_reference ("PRINTER")); } -#line 6224 "parser.c" +#line 6227 "parser.c" break; case 191: /* _device: PRINTER */ -#line 1732 "parser.y" +#line 1735 "parser.y" { current_file->organization = COB_ORG_LINE_SEQUENTIAL; } -#line 6230 "parser.c" +#line 6233 "parser.c" break; case 193: /* _ext_clause: EXTERNAL */ -#line 1737 "parser.y" +#line 1740 "parser.y" { current_file->external_assign = 1; } -#line 6238 "parser.c" +#line 6241 "parser.c" break; case 194: /* _ext_clause: DYNAMIC */ -#line 1741 "parser.y" +#line 1744 "parser.y" { current_file->external_assign = 0; } -#line 6246 "parser.c" +#line 6249 "parser.c" break; case 196: /* assignment_name: DISPLAY */ -#line 1749 "parser.y" +#line 1752 "parser.y" { const char *s; s = "$#@DUMMY@#$"; yyval = cb_build_alphanumeric_literal ((unsigned char *)s, strlen (s)); } -#line 6257 "parser.c" +#line 6260 "parser.c" break; case 197: /* assignment_name: _literal assignment_device_name_list */ -#line 1756 "parser.y" +#line 1759 "parser.y" { if (!yyvsp[-1] || (yyvsp[-1] && CB_TREE_CLASS (yyvsp[-1]) == CB_CLASS_NUMERIC)) { @@ -6274,41 +6277,41 @@ yyparse (void) yyval = yyvsp[-1]; } } -#line 6278 "parser.c" +#line 6281 "parser.c" break; case 198: /* assignment_device_name_list: qualified_word */ -#line 1775 "parser.y" +#line 1778 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 6284 "parser.c" +#line 6287 "parser.c" break; case 199: /* assignment_device_name_list: assignment_device_name_list qualified_word */ -#line 1776 "parser.y" +#line 1779 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 6290 "parser.c" +#line 6293 "parser.c" break; case 201: /* access_mode: SEQUENTIAL */ -#line 1786 "parser.y" +#line 1789 "parser.y" { current_file->access_mode = COB_ACCESS_SEQUENTIAL; } -#line 6296 "parser.c" +#line 6299 "parser.c" break; case 202: /* access_mode: DYNAMIC */ -#line 1787 "parser.y" +#line 1790 "parser.y" { current_file->access_mode = COB_ACCESS_DYNAMIC; } -#line 6302 "parser.c" +#line 6305 "parser.c" break; case 203: /* access_mode: RANDOM */ -#line 1788 "parser.y" +#line 1791 "parser.y" { current_file->access_mode = COB_ACCESS_RANDOM; } -#line 6308 "parser.c" +#line 6311 "parser.c" break; case 204: /* alternative_record_key_clause: ALTERNATE RECORD _key _is reference flag_duplicates */ -#line 1796 "parser.y" +#line 1799 "parser.y" { struct cb_alt_key *p; struct cb_alt_key *l; @@ -6328,11 +6331,11 @@ yyparse (void) l->next = p; } } -#line 6332 "parser.c" +#line 6335 "parser.c" break; case 205: /* alternative_record_key_clause: ALTERNATE RECORD _key _is reference key_is_eq split_key_list flag_duplicates */ -#line 1816 "parser.y" +#line 1819 "parser.y" { #if defined(WITH_CISAM) || defined(WITH_DISAM) || defined(WITH_VBISAM) || defined(WITH_INDEX_EXTFH) struct cb_alt_key *p; @@ -6376,19 +6379,19 @@ yyparse (void) PENDING ("SPLIT KEYS"); #endif } -#line 6380 "parser.c" +#line 6383 "parser.c" break; case 206: /* $@16: %empty */ -#line 1862 "parser.y" +#line 1865 "parser.y" { key_component_list = NULL; } -#line 6388 "parser.c" +#line 6391 "parser.c" break; case 209: /* split_key: reference */ -#line 1871 "parser.y" +#line 1874 "parser.y" { struct cb_key_component *c; struct cb_key_component *comp = cobc_malloc (sizeof (struct cb_key_component)); @@ -6401,80 +6404,80 @@ yyparse (void) c->next = comp; } } -#line 6405 "parser.c" +#line 6408 "parser.c" break; case 210: /* key_is_eq: %empty */ -#line 1886 "parser.y" +#line 1889 "parser.y" { yyval = NULL; } -#line 6411 "parser.c" +#line 6414 "parser.c" break; case 211: /* key_is_eq: SOURCE _is */ -#line 1887 "parser.y" +#line 1890 "parser.y" { yyval = cb_int1; } -#line 6417 "parser.c" +#line 6420 "parser.c" break; case 212: /* key_is_eq: '=' */ -#line 1888 "parser.y" +#line 1891 "parser.y" { yyval = cb_int('='); } -#line 6423 "parser.c" +#line 6426 "parser.c" break; case 213: /* collating_sequence_clause: coll_sequence _is "Identifier" */ -#line 1895 "parser.y" +#line 1898 "parser.y" { PENDING ("COLLATING SEQUENCE"); } -#line 6431 "parser.c" +#line 6434 "parser.c" break; case 214: /* file_status_clause: file_or_sort STATUS _is reference opt_reference */ -#line 1905 "parser.y" +#line 1908 "parser.y" { current_file->file_status = yyvsp[-1]; if (yyvsp[0]) { PENDING ("2nd FILE STATUS"); } } -#line 6442 "parser.c" +#line 6445 "parser.c" break; case 219: /* lock_mode: MANUAL lock_with */ -#line 1926 "parser.y" +#line 1929 "parser.y" { current_file->lock_mode = COB_LOCK_MANUAL; } -#line 6448 "parser.c" +#line 6451 "parser.c" break; case 220: /* lock_mode: AUTOMATIC lock_with */ -#line 1927 "parser.y" +#line 1930 "parser.y" { current_file->lock_mode = COB_LOCK_AUTOMATIC; } -#line 6454 "parser.c" +#line 6457 "parser.c" break; case 221: /* lock_mode: EXCLUSIVE */ -#line 1928 "parser.y" +#line 1931 "parser.y" { current_file->lock_mode = COB_LOCK_EXCLUSIVE; } -#line 6460 "parser.c" +#line 6463 "parser.c" break; case 224: /* lock_with: WITH LOCK ON MULTIPLE lock_records */ -#line 1934 "parser.y" +#line 1937 "parser.y" { current_file->lock_mode |= COB_LOCK_MULTIPLE; } -#line 6468 "parser.c" +#line 6471 "parser.c" break; case 225: /* lock_with: WITH ROLLBACK */ -#line 1937 "parser.y" +#line 1940 "parser.y" { PENDING ("WITH ROLLBACK"); } -#line 6474 "parser.c" +#line 6477 "parser.c" break; case 230: /* organization: INDEXED */ -#line 1954 "parser.y" +#line 1957 "parser.y" { if (organized_seen) { cb_error (_("Invalid or duplicate ORGANIZED clause")); @@ -6483,11 +6486,11 @@ yyparse (void) organized_seen = 1; } } -#line 6487 "parser.c" +#line 6490 "parser.c" break; case 231: /* organization: RECORD _binary SEQUENTIAL */ -#line 1963 "parser.y" +#line 1966 "parser.y" { if (organized_seen) { cb_error (_("Invalid or duplicate ORGANIZED clause")); @@ -6496,11 +6499,11 @@ yyparse (void) organized_seen = 1; } } -#line 6500 "parser.c" +#line 6503 "parser.c" break; case 232: /* organization: SEQUENTIAL */ -#line 1972 "parser.y" +#line 1975 "parser.y" { if (organized_seen) { cb_error (_("Invalid or duplicate ORGANIZED clause")); @@ -6509,11 +6512,11 @@ yyparse (void) organized_seen = 1; } } -#line 6513 "parser.c" +#line 6516 "parser.c" break; case 233: /* organization: RELATIVE */ -#line 1981 "parser.y" +#line 1984 "parser.y" { if (organized_seen) { cb_error (_("Invalid or duplicate ORGANIZED clause")); @@ -6522,11 +6525,11 @@ yyparse (void) organized_seen = 1; } } -#line 6526 "parser.c" +#line 6529 "parser.c" break; case 234: /* organization: LINE SEQUENTIAL */ -#line 1990 "parser.y" +#line 1993 "parser.y" { if (organized_seen) { cb_error (_("Invalid or duplicate ORGANIZED clause")); @@ -6535,33 +6538,33 @@ yyparse (void) organized_seen = 1; } } -#line 6539 "parser.c" +#line 6542 "parser.c" break; case 235: /* padding_character_clause: PADDING _character _is reference_or_literal */ -#line 2005 "parser.y" +#line 2008 "parser.y" { cb_verify (cb_padding_character_clause, "PADDING CHARACTER"); } -#line 6547 "parser.c" +#line 6550 "parser.c" break; case 236: /* record_delimiter_clause: RECORD DELIMITER _is "STANDARD-1" */ -#line 2014 "parser.y" +#line 2017 "parser.y" { /* ignored */ } -#line 6553 "parser.c" +#line 6556 "parser.c" break; case 237: /* record_key_clause: RECORD _key _is reference */ -#line 2022 "parser.y" +#line 2025 "parser.y" { current_file->key = yyvsp[0]; } -#line 6561 "parser.c" +#line 6564 "parser.c" break; case 238: /* record_key_clause: RECORD _key _is reference key_is_eq split_key_list */ -#line 2026 "parser.y" +#line 2029 "parser.y" { /* SPLIT KEY use */ #if defined(WITH_CISAM) || defined(WITH_DISAM) || defined(WITH_VBISAM) || defined(WITH_INDEX_EXTFH) @@ -6593,59 +6596,59 @@ yyparse (void) PENDING ("SPLIT KEYS"); #endif } -#line 6597 "parser.c" +#line 6600 "parser.c" break; case 239: /* relative_key_clause: RELATIVE _key _is reference */ -#line 2063 "parser.y" +#line 2066 "parser.y" { current_file->key = yyvsp[0]; } -#line 6603 "parser.c" +#line 6606 "parser.c" break; case 240: /* reserve_clause: RESERVE integer _area */ -#line 2070 "parser.y" +#line 2073 "parser.y" { /* ignored */ } -#line 6609 "parser.c" +#line 6612 "parser.c" break; case 241: /* reserve_clause: RESERVE NO */ -#line 2071 "parser.y" +#line 2074 "parser.y" { /* ignored */ } -#line 6615 "parser.c" +#line 6618 "parser.c" break; case 242: /* sharing_clause: SHARING _with sharing_option */ -#line 2078 "parser.y" +#line 2081 "parser.y" { current_file->sharing = yyvsp[0]; } -#line 6621 "parser.c" +#line 6624 "parser.c" break; case 243: /* sharing_option: ALL _other */ -#line 2082 "parser.y" +#line 2085 "parser.y" { yyval = NULL; PENDING ("SHARING ALL OTHER"); } -#line 6627 "parser.c" +#line 6630 "parser.c" break; case 244: /* sharing_option: NO _other */ -#line 2083 "parser.y" +#line 2086 "parser.y" { yyval = cb_int1; } -#line 6633 "parser.c" +#line 6636 "parser.c" break; case 245: /* sharing_option: READ ONLY */ -#line 2084 "parser.y" +#line 2087 "parser.y" { yyval = cb_int0; } -#line 6639 "parser.c" +#line 6642 "parser.c" break; case 246: /* nominal_key_clause: NOMINAL _key _is reference */ -#line 2090 "parser.y" +#line 2093 "parser.y" { PENDING ("NOMINAL KEY"); } -#line 6645 "parser.c" +#line 6648 "parser.c" break; case 257: /* same_clause: SAME same_option _area _for file_name_list */ -#line 2121 "parser.y" +#line 2124 "parser.y" { cb_tree l; @@ -6667,95 +6670,95 @@ yyparse (void) break; } } -#line 6671 "parser.c" +#line 6674 "parser.c" break; case 258: /* same_option: %empty */ -#line 2145 "parser.y" +#line 2148 "parser.y" { yyval = cb_int0; } -#line 6677 "parser.c" +#line 6680 "parser.c" break; case 259: /* same_option: RECORD */ -#line 2146 "parser.y" +#line 2149 "parser.y" { yyval = cb_int1; } -#line 6683 "parser.c" +#line 6686 "parser.c" break; case 260: /* same_option: SORT */ -#line 2147 "parser.y" +#line 2150 "parser.y" { yyval = cb_int2; } -#line 6689 "parser.c" +#line 6692 "parser.c" break; case 261: /* same_option: "SORT-MERGE" */ -#line 2148 "parser.y" +#line 2151 "parser.y" { yyval = cb_int2; } -#line 6695 "parser.c" +#line 6698 "parser.c" break; case 262: /* multiple_file_tape_clause: MULTIPLE _file _tape _contains multiple_file_list */ -#line 2155 "parser.y" +#line 2158 "parser.y" { cb_verify (cb_multiple_file_tape_clause, "MULTIPLE FILE TAPE"); } -#line 6703 "parser.c" +#line 6706 "parser.c" break; case 265: /* multiple_file: file_name multiple_file_position */ -#line 2166 "parser.y" +#line 2169 "parser.y" { } -#line 6709 "parser.c" +#line 6712 "parser.c" break; case 271: /* apply_clause: APPLY "COMMITMENT-CONTROL" _on reference_list */ -#line 2183 "parser.y" +#line 2186 "parser.y" { PENDING ("APPLY COMMITMENT-CONTROL"); } -#line 6717 "parser.c" +#line 6720 "parser.c" break; case 272: /* apply_clause: APPLY "CYL-OVERFLOW" _of "Literal" TRACKS ON reference_list */ -#line 2187 "parser.y" +#line 2190 "parser.y" { PENDING ("APPLY CYL-OVERFLOW"); } -#line 6725 "parser.c" +#line 6728 "parser.c" break; case 273: /* apply_clause: APPLY "CORE-INDEX" TO reference ON reference_list */ -#line 2191 "parser.y" +#line 2194 "parser.y" { PENDING ("APPLY CORE-INDEX"); } -#line 6733 "parser.c" +#line 6736 "parser.c" break; case 274: /* apply_clause: APPLY "FORMS-OVERLAY" TO reference ON reference_list */ -#line 2195 "parser.y" +#line 2198 "parser.y" { PENDING ("APPLY FORMS-OVERLAY"); } -#line 6741 "parser.c" +#line 6744 "parser.c" break; case 275: /* apply_clause: APPLY "CLOSE-NOFEED" ON reference_list */ -#line 2199 "parser.y" +#line 2202 "parser.y" { PENDING ("APPLY CLOSE-NOFEED"); } -#line 6749 "parser.c" +#line 6752 "parser.c" break; case 279: /* $@17: %empty */ -#line 2224 "parser.y" +#line 2227 "parser.y" { current_storage = CB_STORAGE_FILE; } -#line 6755 "parser.c" +#line 6758 "parser.c" break; case 281: /* $@18: %empty */ -#line 2227 "parser.y" +#line 2230 "parser.y" { /* hack for MF compatibility */ if (cb_relaxed_syntax_check) { @@ -6765,11 +6768,11 @@ yyparse (void) } current_storage = CB_STORAGE_FILE; } -#line 6769 "parser.c" +#line 6772 "parser.c" break; case 285: /* file_description: file_type file_description_entry record_description_list */ -#line 2246 "parser.y" +#line 2249 "parser.y" { if (yyvsp[0] && yyvsp[0] != cb_error_node) { finalize_file (current_file, CB_FIELD (yyvsp[0])); @@ -6777,11 +6780,11 @@ yyparse (void) cb_error (_("RECORD description missing or invalid")); } } -#line 6781 "parser.c" +#line 6784 "parser.c" break; case 286: /* file_description_sequence_without_type: file_description_entry record_description_list */ -#line 2258 "parser.y" +#line 2261 "parser.y" { if (yyvsp[0] && yyvsp[0] != cb_error_node) { finalize_file (current_file, CB_FIELD (yyvsp[0])); @@ -6789,23 +6792,23 @@ yyparse (void) cb_error (_("RECORD description missing or invalid")); } } -#line 6793 "parser.c" +#line 6796 "parser.c" break; case 288: /* file_type: FD */ -#line 2269 "parser.y" +#line 2272 "parser.y" { yyval = cb_int0; } -#line 6799 "parser.c" +#line 6802 "parser.c" break; case 289: /* file_type: SD */ -#line 2270 "parser.y" +#line 2273 "parser.y" { yyval = cb_int1; } -#line 6805 "parser.c" +#line 6808 "parser.c" break; case 290: /* @19: %empty */ -#line 2280 "parser.y" +#line 2283 "parser.y" { if (yyvsp[0] == cb_error_node) { YYERROR; @@ -6816,48 +6819,48 @@ yyparse (void) current_file->organization = COB_ORG_SORT; } } -#line 6820 "parser.c" +#line 6823 "parser.c" break; case 291: /* file_description_entry: file_name @19 file_description_clause_sequence '.' */ -#line 2291 "parser.y" +#line 2294 "parser.y" { /* Shut up bison */ dummy_tree = yyvsp[-2]; } -#line 6829 "parser.c" +#line 6832 "parser.c" break; case 294: /* file_description_clause: _is EXTERNAL */ -#line 2303 "parser.y" +#line 2306 "parser.y" { if (current_file->global) { cb_error (_("File cannot have both EXTERNAL and GLOBAL clauses")); } current_file->external = 1; } -#line 6840 "parser.c" +#line 6843 "parser.c" break; case 295: /* file_description_clause: _is GLOBAL */ -#line 2310 "parser.y" +#line 2313 "parser.y" { if (current_file->external) { cb_error (_("File cannot have both EXTERNAL and GLOBAL clauses")); } current_file->global = 1; } -#line 6851 "parser.c" +#line 6854 "parser.c" break; case 306: /* block_contains_clause: BLOCK _contains integer opt_to_integer _records_or_characters */ -#line 2333 "parser.y" +#line 2336 "parser.y" { /* ignored */ } -#line 6857 "parser.c" +#line 6860 "parser.c" break; case 310: /* record_clause: RECORD _contains integer _characters */ -#line 2343 "parser.y" +#line 2346 "parser.y" { if (current_file->organization == COB_ORG_LINE_SEQUENTIAL) { cb_warning (_("RECORD clause ignored for LINE SEQUENTIAL")); @@ -6869,11 +6872,11 @@ yyparse (void) } } } -#line 6873 "parser.c" +#line 6876 "parser.c" break; case 311: /* record_clause: RECORD _contains integer TO integer _characters */ -#line 2355 "parser.y" +#line 2358 "parser.y" { int error_ind = 0; @@ -6898,11 +6901,11 @@ yyparse (void) } } } -#line 6902 "parser.c" +#line 6905 "parser.c" break; case 312: /* record_clause: RECORD _is VARYING _in _size opt_from_integer opt_to_integer _characters record_depending */ -#line 2381 "parser.y" +#line 2384 "parser.y" { int error_ind = 0; @@ -6923,77 +6926,77 @@ yyparse (void) cb_error (_("RECORD clause invalid")); } } -#line 6927 "parser.c" +#line 6930 "parser.c" break; case 314: /* record_depending: DEPENDING _on reference */ -#line 2405 "parser.y" +#line 2408 "parser.y" { current_file->record_depending = yyvsp[0]; } -#line 6935 "parser.c" +#line 6938 "parser.c" break; case 315: /* opt_from_integer: %empty */ -#line 2411 "parser.y" +#line 2414 "parser.y" { yyval = NULL; } -#line 6941 "parser.c" +#line 6944 "parser.c" break; case 316: /* opt_from_integer: _from integer */ -#line 2412 "parser.y" +#line 2415 "parser.y" { yyval = yyvsp[0]; } -#line 6947 "parser.c" +#line 6950 "parser.c" break; case 317: /* opt_to_integer: %empty */ -#line 2416 "parser.y" +#line 2419 "parser.y" { yyval = NULL; } -#line 6953 "parser.c" +#line 6956 "parser.c" break; case 318: /* opt_to_integer: TO integer */ -#line 2417 "parser.y" +#line 2420 "parser.y" { yyval = yyvsp[0]; } -#line 6959 "parser.c" +#line 6962 "parser.c" break; case 319: /* label_records_clause: LABEL records label_option */ -#line 2425 "parser.y" +#line 2428 "parser.y" { cb_verify (cb_label_records_clause, "LABEL RECORDS"); } -#line 6967 "parser.c" +#line 6970 "parser.c" break; case 322: /* value_of_clause: VALUE OF "Identifier" _is valueof_name */ -#line 2440 "parser.y" +#line 2443 "parser.y" { cb_verify (cb_value_of_clause, "VALUE OF"); } -#line 6975 "parser.c" +#line 6978 "parser.c" break; case 323: /* value_of_clause: VALUE OF "FILE-ID" _is valueof_name */ -#line 2444 "parser.y" +#line 2447 "parser.y" { if (!current_file->assign) { current_file->assign = cb_build_assignment_name (current_file, yyvsp[0]); } } -#line 6985 "parser.c" +#line 6988 "parser.c" break; case 326: /* data_records_clause: DATA records no_reference_list */ -#line 2460 "parser.y" +#line 2463 "parser.y" { cb_verify (cb_data_records_clause, "DATA RECORDS"); } -#line 6993 "parser.c" +#line 6996 "parser.c" break; case 327: /* linage_clause: LINAGE _is reference_or_literal _lines linage_sequence */ -#line 2471 "parser.y" +#line 2474 "parser.y" { if (current_file->organization != COB_ORG_LINE_SEQUENTIAL && current_file->organization != COB_ORG_SEQUENTIAL) { @@ -7008,41 +7011,41 @@ yyparse (void) current_linage++; } } -#line 7012 "parser.c" +#line 7015 "parser.c" break; case 333: /* linage_footing: _with FOOTING _at reference_or_literal _lines */ -#line 2499 "parser.y" +#line 2502 "parser.y" { current_file->latfoot = yyvsp[-1]; } -#line 7020 "parser.c" +#line 7023 "parser.c" break; case 334: /* linage_top: _at TOP reference_or_literal _lines */ -#line 2506 "parser.y" +#line 2509 "parser.y" { current_file->lattop = yyvsp[-1]; } -#line 7028 "parser.c" +#line 7031 "parser.c" break; case 335: /* linage_bottom: _at BOTTOM reference_or_literal */ -#line 2513 "parser.y" +#line 2516 "parser.y" { current_file->latbot = yyvsp[0]; } -#line 7036 "parser.c" +#line 7039 "parser.c" break; case 336: /* recording_mode_clause: RECORDING _mode _is "Identifier" */ -#line 2522 "parser.y" +#line 2525 "parser.y" { /* ignore */ } -#line 7042 "parser.c" +#line 7045 "parser.c" break; case 337: /* code_set_clause: "CODE-SET" _is "Identifier" */ -#line 2530 "parser.y" +#line 2533 "parser.y" { if (yyvsp[0] != cb_error_node) { cb_tree x; @@ -7055,66 +7058,66 @@ yyparse (void) } } } -#line 7059 "parser.c" +#line 7062 "parser.c" break; case 338: /* report_clause: REPORT _is report_name */ -#line 2548 "parser.y" +#line 2551 "parser.y" { cb_warning (_("file descriptor REPORT IS")); } -#line 7067 "parser.c" +#line 7070 "parser.c" break; case 339: /* report_clause: REPORTS _are report_name */ -#line 2552 "parser.y" +#line 2555 "parser.y" { cb_warning (_("file descriptor REPORTS ARE")); } -#line 7075 "parser.c" +#line 7078 "parser.c" break; case 341: /* $@20: %empty */ -#line 2563 "parser.y" +#line 2566 "parser.y" { current_storage = CB_STORAGE_WORKING; } -#line 7081 "parser.c" +#line 7084 "parser.c" break; case 342: /* working_storage_section: "WORKING-STORAGE" SECTION '.' $@20 record_description_list */ -#line 2565 "parser.y" +#line 2568 "parser.y" { if (yyvsp[0]) { current_program->working_storage = cb_field_add (current_program->working_storage, CB_FIELD (yyvsp[0])); } } -#line 7092 "parser.c" +#line 7095 "parser.c" break; case 343: /* record_description_list: %empty */ -#line 2574 "parser.y" +#line 2577 "parser.y" { yyval = NULL; } -#line 7098 "parser.c" +#line 7101 "parser.c" break; case 344: /* record_description_list: record_description_list_1 */ -#line 2575 "parser.y" +#line 2578 "parser.y" { yyval = yyvsp[0]; } -#line 7104 "parser.c" +#line 7107 "parser.c" break; case 345: /* $@21: %empty */ -#line 2579 "parser.y" +#line 2582 "parser.y" { current_field = NULL; description_field = NULL; cb_clear_real_field (); } -#line 7114 "parser.c" +#line 7117 "parser.c" break; case 346: /* record_description_list_1: $@21 record_description_list_2 */ -#line 2585 "parser.y" +#line 2588 "parser.y" { struct cb_field *p; @@ -7123,11 +7126,11 @@ yyparse (void) } yyval = CB_TREE (description_field); } -#line 7127 "parser.c" +#line 7130 "parser.c" break; case 351: /* $@22: %empty */ -#line 2605 "parser.y" +#line 2608 "parser.y" { cb_tree x; @@ -7139,11 +7142,11 @@ yyparse (void) current_field = CB_FIELD (x); } } -#line 7143 "parser.c" +#line 7146 "parser.c" break; case 352: /* data_description: level_number entry_name $@22 data_description_clause_sequence _maybe_next_level_number */ -#line 2617 "parser.y" +#line 2620 "parser.y" { if (!qualifier && (current_field->level == 66 || current_field->flag_item_78)) { cb_error (_("Item requires a data name")); @@ -7156,11 +7159,11 @@ yyparse (void) description_field = current_field; } } -#line 7160 "parser.c" +#line 7163 "parser.c" break; case 353: /* $@23: %empty */ -#line 2630 "parser.y" +#line 2633 "parser.y" { cb_tree x; @@ -7172,11 +7175,11 @@ yyparse (void) current_field = CB_FIELD (x); } } -#line 7176 "parser.c" +#line 7179 "parser.c" break; case 354: /* data_description: level_number_88 entry_name $@23 value_cond_clause */ -#line 2642 "parser.y" +#line 2645 "parser.y" { if (!qualifier) { cb_error (_("Item requires a data name")); @@ -7187,11 +7190,11 @@ yyparse (void) } } -#line 7191 "parser.c" +#line 7194 "parser.c" break; case 358: /* _maybe_next_level_number: "Literal" */ -#line 2669 "parser.y" +#line 2672 "parser.y" { if (CB_TREE_CLASS (yyvsp[0]) == CB_CLASS_NUMERIC) { cb_tree x = cb_build_reference ((char *)CB_LITERAL(yyvsp[0])->data); @@ -7209,78 +7212,78 @@ yyparse (void) cb_unget_token (LITERAL, yyvsp[0]); } } -#line 7213 "parser.c" +#line 7216 "parser.c" break; case 359: /* entry_name: %empty */ -#line 2690 "parser.y" +#line 2693 "parser.y" { yyval = cb_build_filler (); qualifier = NULL; non_const_word = 0; } -#line 7223 "parser.c" +#line 7226 "parser.c" break; case 360: /* entry_name: FILLER */ -#line 2696 "parser.y" +#line 2699 "parser.y" { yyval = cb_build_filler (); qualifier = NULL; non_const_word = 0; } -#line 7233 "parser.c" +#line 7236 "parser.c" break; case 361: /* entry_name: "Identifier" */ -#line 2702 "parser.y" +#line 2705 "parser.y" { yyval = yyvsp[0]; qualifier = yyvsp[0]; non_const_word = 0; } -#line 7243 "parser.c" +#line 7246 "parser.c" break; case 362: /* const_name: "Identifier" */ -#line 2711 "parser.y" +#line 2714 "parser.y" { yyval = yyvsp[0]; qualifier = yyvsp[0]; non_const_word = 0; } -#line 7253 "parser.c" +#line 7256 "parser.c" break; case 364: /* const_global: _is GLOBAL */ -#line 2720 "parser.y" +#line 2723 "parser.y" { current_field->flag_is_global = 1; cb_error (_("CONSTANT with GLOBAL clause is not yet supported")); } -#line 7262 "parser.c" +#line 7265 "parser.c" break; case 365: /* lit_or_length: literal */ -#line 2727 "parser.y" +#line 2730 "parser.y" { yyval = yyvsp[0]; } -#line 7268 "parser.c" +#line 7271 "parser.c" break; case 366: /* lit_or_length: LENGTH _of identifier_1 */ -#line 2728 "parser.y" +#line 2731 "parser.y" { yyval = cb_build_const_length (yyvsp[0]); } -#line 7274 "parser.c" +#line 7277 "parser.c" break; case 367: /* lit_or_length: "BYTE-LENGTH" _of identifier_1 */ -#line 2729 "parser.y" +#line 2732 "parser.y" { yyval = cb_build_const_length (yyvsp[0]); } -#line 7280 "parser.c" +#line 7283 "parser.c" break; case 368: /* constant_entry: level_number const_name CONSTANT const_global _as lit_or_length */ -#line 2734 "parser.y" +#line 2737 "parser.y" { cb_tree x; int level; @@ -7296,29 +7299,29 @@ yyparse (void) /* Ignore return value */ cb_validate_78_item (CB_FIELD (x)); } -#line 7300 "parser.c" +#line 7303 "parser.c" break; case 369: /* data_description_clause_sequence: %empty */ -#line 2753 "parser.y" +#line 2756 "parser.y" { /* required to check redefines */ yyval = NULL; } -#line 7309 "parser.c" +#line 7312 "parser.c" break; case 370: /* data_description_clause_sequence: data_description_clause_sequence data_description_clause */ -#line 2759 "parser.y" +#line 2762 "parser.y" { /* required to check redefines */ yyval = cb_true; } -#line 7318 "parser.c" +#line 7321 "parser.c" break; case 386: /* redefines_clause: REDEFINES identifier_1 */ -#line 2788 "parser.y" +#line 2791 "parser.y" { if (yyvsp[-2] != NULL) { /* hack for MF compatibility */ @@ -7334,11 +7337,11 @@ yyparse (void) YYERROR; } } -#line 7338 "parser.c" +#line 7341 "parser.c" break; case 387: /* external_clause: _is EXTERNAL as_extname */ -#line 2810 "parser.y" +#line 2813 "parser.y" { if (current_storage != CB_STORAGE_WORKING) { cb_error (_("EXTERNAL not allowed here")); @@ -7357,28 +7360,28 @@ yyparse (void) has_external = 1; } } -#line 7361 "parser.c" +#line 7364 "parser.c" break; case 388: /* as_extname: %empty */ -#line 2831 "parser.y" +#line 2834 "parser.y" { current_field->ename = NULL; } -#line 7367 "parser.c" +#line 7370 "parser.c" break; case 389: /* as_extname: AS "Literal" */ -#line 2833 "parser.y" +#line 2836 "parser.y" { struct cb_field *x; x = CB_FIELD(cb_build_field (cb_build_reference ((char *)(CB_LITERAL (yyvsp[0])->data)))); current_field->ename = x->name; } -#line 7378 "parser.c" +#line 7381 "parser.c" break; case 390: /* global_clause: _is GLOBAL */ -#line 2845 "parser.y" +#line 2848 "parser.y" { if (current_field->level != 1 && current_field->level != 77) { cb_error (_("GLOBAL only allowed at 01/77 level")); @@ -7392,209 +7395,209 @@ yyparse (void) current_field->flag_is_global = 1; } } -#line 7396 "parser.c" +#line 7399 "parser.c" break; case 391: /* picture_clause: PICTURE */ -#line 2864 "parser.y" +#line 2867 "parser.y" { current_field->pic = CB_PICTURE (yyvsp[0]); } -#line 7402 "parser.c" +#line 7405 "parser.c" break; case 394: /* usage: BINARY */ -#line 2876 "parser.y" +#line 2879 "parser.y" { current_field->usage = CB_USAGE_BINARY; } -#line 7408 "parser.c" +#line 7411 "parser.c" break; case 395: /* usage: COMP */ -#line 2877 "parser.y" +#line 2880 "parser.y" { current_field->usage = CB_USAGE_BINARY; } -#line 7414 "parser.c" +#line 7417 "parser.c" break; case 396: /* usage: "COMP-1" */ -#line 2878 "parser.y" +#line 2881 "parser.y" { current_field->usage = CB_USAGE_FLOAT; } -#line 7420 "parser.c" +#line 7423 "parser.c" break; case 397: /* usage: "COMP-2" */ -#line 2879 "parser.y" +#line 2882 "parser.y" { current_field->usage = CB_USAGE_DOUBLE; } -#line 7426 "parser.c" +#line 7429 "parser.c" break; case 398: /* usage: "COMP-3" */ -#line 2880 "parser.y" +#line 2883 "parser.y" { current_field->usage = CB_USAGE_PACKED; } -#line 7432 "parser.c" +#line 7435 "parser.c" break; case 399: /* usage: "COMP-4" */ -#line 2881 "parser.y" +#line 2884 "parser.y" { current_field->usage = CB_USAGE_BINARY; } -#line 7438 "parser.c" +#line 7441 "parser.c" break; case 400: /* usage: "COMP-5" */ -#line 2882 "parser.y" +#line 2885 "parser.y" { current_field->usage = CB_USAGE_COMP_5; } -#line 7444 "parser.c" +#line 7447 "parser.c" break; case 401: /* usage: "COMP-X" */ -#line 2883 "parser.y" +#line 2886 "parser.y" { current_field->usage = CB_USAGE_COMP_X; } -#line 7450 "parser.c" +#line 7453 "parser.c" break; case 402: /* usage: DISPLAY */ -#line 2884 "parser.y" +#line 2887 "parser.y" { current_field->usage = CB_USAGE_DISPLAY; } -#line 7456 "parser.c" +#line 7459 "parser.c" break; case 403: /* usage: INDEX */ -#line 2885 "parser.y" +#line 2888 "parser.y" { current_field->usage = CB_USAGE_INDEX; } -#line 7462 "parser.c" +#line 7465 "parser.c" break; case 404: /* usage: "PACKED-DECIMAL" */ -#line 2886 "parser.y" +#line 2889 "parser.y" { current_field->usage = CB_USAGE_PACKED; } -#line 7468 "parser.c" +#line 7471 "parser.c" break; case 405: /* usage: POINTER */ -#line 2888 "parser.y" +#line 2891 "parser.y" { current_field->usage = CB_USAGE_POINTER; current_field->flag_is_pointer = 1; } -#line 7477 "parser.c" +#line 7480 "parser.c" break; case 406: /* usage: "PROGRAM-POINTER" */ -#line 2893 "parser.y" +#line 2896 "parser.y" { current_field->usage = CB_USAGE_PROGRAM_POINTER; current_field->flag_is_pointer = 1; } -#line 7486 "parser.c" +#line 7489 "parser.c" break; case 407: /* usage: "SIGNED-SHORT" */ -#line 2897 "parser.y" +#line 2900 "parser.y" { current_field->usage = CB_USAGE_SIGNED_SHORT; } -#line 7492 "parser.c" +#line 7495 "parser.c" break; case 408: /* usage: "SIGNED-INT" */ -#line 2898 "parser.y" +#line 2901 "parser.y" { current_field->usage = CB_USAGE_SIGNED_INT; } -#line 7498 "parser.c" +#line 7501 "parser.c" break; case 409: /* usage: "SIGNED-LONG" */ -#line 2899 "parser.y" +#line 2902 "parser.y" { current_field->usage = CB_USAGE_SIGNED_LONG; } -#line 7504 "parser.c" +#line 7507 "parser.c" break; case 410: /* usage: "UNSIGNED-SHORT" */ -#line 2900 "parser.y" +#line 2903 "parser.y" { current_field->usage = CB_USAGE_UNSIGNED_SHORT; } -#line 7510 "parser.c" +#line 7513 "parser.c" break; case 411: /* usage: "UNSIGNED-INT" */ -#line 2901 "parser.y" +#line 2904 "parser.y" { current_field->usage = CB_USAGE_UNSIGNED_INT; } -#line 7516 "parser.c" +#line 7519 "parser.c" break; case 412: /* usage: "UNSIGNED-LONG" */ -#line 2902 "parser.y" +#line 2905 "parser.y" { current_field->usage = CB_USAGE_UNSIGNED_LONG; } -#line 7522 "parser.c" +#line 7525 "parser.c" break; case 413: /* usage: "BINARY-CHAR" SIGNED */ -#line 2903 "parser.y" +#line 2906 "parser.y" { current_field->usage = CB_USAGE_SIGNED_CHAR; } -#line 7528 "parser.c" +#line 7531 "parser.c" break; case 414: /* usage: "BINARY-CHAR" UNSIGNED */ -#line 2904 "parser.y" +#line 2907 "parser.y" { current_field->usage = CB_USAGE_UNSIGNED_CHAR; } -#line 7534 "parser.c" +#line 7537 "parser.c" break; case 415: /* usage: "BINARY-CHAR" */ -#line 2905 "parser.y" +#line 2908 "parser.y" { current_field->usage = CB_USAGE_SIGNED_CHAR; } -#line 7540 "parser.c" +#line 7543 "parser.c" break; case 416: /* usage: "BINARY-SHORT" SIGNED */ -#line 2906 "parser.y" +#line 2909 "parser.y" { current_field->usage = CB_USAGE_SIGNED_SHORT; } -#line 7546 "parser.c" +#line 7549 "parser.c" break; case 417: /* usage: "BINARY-SHORT" UNSIGNED */ -#line 2907 "parser.y" +#line 2910 "parser.y" { current_field->usage = CB_USAGE_UNSIGNED_SHORT; } -#line 7552 "parser.c" +#line 7555 "parser.c" break; case 418: /* usage: "BINARY-SHORT" */ -#line 2908 "parser.y" +#line 2911 "parser.y" { current_field->usage = CB_USAGE_SIGNED_SHORT; } -#line 7558 "parser.c" +#line 7561 "parser.c" break; case 419: /* usage: "BINARY-LONG" SIGNED */ -#line 2909 "parser.y" +#line 2912 "parser.y" { current_field->usage = CB_USAGE_SIGNED_INT; } -#line 7564 "parser.c" +#line 7567 "parser.c" break; case 420: /* usage: "BINARY-LONG" UNSIGNED */ -#line 2910 "parser.y" +#line 2913 "parser.y" { current_field->usage = CB_USAGE_UNSIGNED_INT; } -#line 7570 "parser.c" +#line 7573 "parser.c" break; case 421: /* usage: "BINARY-LONG" */ -#line 2911 "parser.y" +#line 2914 "parser.y" { current_field->usage = CB_USAGE_SIGNED_INT; } -#line 7576 "parser.c" +#line 7579 "parser.c" break; case 422: /* usage: "BINARY-DOUBLE" SIGNED */ -#line 2912 "parser.y" +#line 2915 "parser.y" { current_field->usage = CB_USAGE_SIGNED_LONG; } -#line 7582 "parser.c" +#line 7585 "parser.c" break; case 423: /* usage: "BINARY-DOUBLE" UNSIGNED */ -#line 2913 "parser.y" +#line 2916 "parser.y" { current_field->usage = CB_USAGE_UNSIGNED_LONG; } -#line 7588 "parser.c" +#line 7591 "parser.c" break; case 424: /* usage: "BINARY-DOUBLE" */ -#line 2914 "parser.y" +#line 2917 "parser.y" { current_field->usage = CB_USAGE_SIGNED_LONG; } -#line 7594 "parser.c" +#line 7597 "parser.c" break; case 425: /* usage: "BINARY-C-LONG" SIGNED */ -#line 2916 "parser.y" +#line 2919 "parser.y" { if (sizeof(long) == 4) { current_field->usage = CB_USAGE_SIGNED_INT; @@ -7602,11 +7605,11 @@ yyparse (void) current_field->usage = CB_USAGE_SIGNED_LONG; } } -#line 7606 "parser.c" +#line 7609 "parser.c" break; case 426: /* usage: "BINARY-C-LONG" UNSIGNED */ -#line 2924 "parser.y" +#line 2927 "parser.y" { if (sizeof(long) == 4) { current_field->usage = CB_USAGE_UNSIGNED_INT; @@ -7614,11 +7617,11 @@ yyparse (void) current_field->usage = CB_USAGE_UNSIGNED_LONG; } } -#line 7618 "parser.c" +#line 7621 "parser.c" break; case 427: /* usage: "BINARY-C-LONG" */ -#line 2932 "parser.y" +#line 2935 "parser.y" { if (sizeof(long) == 4) { current_field->usage = CB_USAGE_SIGNED_INT; @@ -7626,35 +7629,35 @@ yyparse (void) current_field->usage = CB_USAGE_SIGNED_LONG; } } -#line 7630 "parser.c" +#line 7633 "parser.c" break; case 428: /* usage: NATIONAL */ -#line 2939 "parser.y" +#line 2942 "parser.y" { PENDING ("USAGE NATIONAL");} -#line 7636 "parser.c" +#line 7639 "parser.c" break; case 429: /* sign_clause: _sign_is LEADING flag_separate */ -#line 2947 "parser.y" +#line 2950 "parser.y" { current_field->flag_sign_separate = CB_INTEGER (yyvsp[0])->val; current_field->flag_sign_leading = 1; } -#line 7645 "parser.c" +#line 7648 "parser.c" break; case 430: /* sign_clause: _sign_is TRAILING flag_separate */ -#line 2952 "parser.y" +#line 2955 "parser.y" { current_field->flag_sign_separate = CB_INTEGER (yyvsp[0])->val; current_field->flag_sign_leading = 0; } -#line 7654 "parser.c" +#line 7657 "parser.c" break; case 434: /* occurs_clause: OCCURS integer occurs_to_integer _times occurs_depending occurs_key_spec */ -#line 2969 "parser.y" +#line 2972 "parser.y" { if (current_field->occurs_depending && !(yyvsp[-3])) { cb_verify (cb_odo_without_to, "ODO without TO clause"); @@ -7667,31 +7670,31 @@ yyparse (void) } current_field->flag_occurs = 1; } -#line 7671 "parser.c" +#line 7674 "parser.c" break; case 435: /* occurs_to_integer: %empty */ -#line 2984 "parser.y" +#line 2987 "parser.y" { yyval = NULL; } -#line 7677 "parser.c" +#line 7680 "parser.c" break; case 436: /* occurs_to_integer: TO integer */ -#line 2985 "parser.y" +#line 2988 "parser.y" { yyval = yyvsp[0]; } -#line 7683 "parser.c" +#line 7686 "parser.c" break; case 438: /* occurs_depending: DEPENDING _on reference */ -#line 2990 "parser.y" +#line 2993 "parser.y" { current_field->occurs_depending = yyvsp[0]; } -#line 7691 "parser.c" +#line 7694 "parser.c" break; case 441: /* occurs_keys: occurs_key_list */ -#line 2999 "parser.y" +#line 3002 "parser.y" { if (yyvsp[0]) { cb_tree l; @@ -7712,11 +7715,11 @@ yyparse (void) current_field->nkeys = nkeys; } } -#line 7716 "parser.c" +#line 7719 "parser.c" break; case 442: /* occurs_key: ascending_or_descending _key _is reference_list */ -#line 3023 "parser.y" +#line 3026 "parser.y" { cb_tree l; @@ -7729,81 +7732,81 @@ yyparse (void) } yyval = yyvsp[0]; } -#line 7733 "parser.c" +#line 7736 "parser.c" break; case 443: /* occurs_key_list: occurs_key */ -#line 3038 "parser.y" +#line 3041 "parser.y" { yyval = yyvsp[0]; } -#line 7739 "parser.c" +#line 7742 "parser.c" break; case 444: /* occurs_key_list: occurs_key_list occurs_key */ -#line 3039 "parser.y" +#line 3042 "parser.y" { yyval = cb_list_append (yyvsp[-1], yyvsp[0]); } -#line 7745 "parser.c" +#line 7748 "parser.c" break; case 445: /* ascending_or_descending: ASCENDING */ -#line 3043 "parser.y" +#line 3046 "parser.y" { yyval = cb_int (COB_ASCENDING); } -#line 7751 "parser.c" +#line 7754 "parser.c" break; case 446: /* ascending_or_descending: DESCENDING */ -#line 3044 "parser.y" +#line 3047 "parser.y" { yyval = cb_int (COB_DESCENDING); } -#line 7757 "parser.c" +#line 7760 "parser.c" break; case 449: /* occurs_indexed: INDEXED _by occurs_index_list */ -#line 3051 "parser.y" +#line 3054 "parser.y" { current_field->index_list = yyvsp[0]; } -#line 7765 "parser.c" +#line 7768 "parser.c" break; case 450: /* occurs_index_list: occurs_index */ -#line 3057 "parser.y" +#line 3060 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 7771 "parser.c" +#line 7774 "parser.c" break; case 451: /* occurs_index_list: occurs_index_list occurs_index */ -#line 3059 "parser.y" +#line 3062 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 7777 "parser.c" +#line 7780 "parser.c" break; case 452: /* occurs_index: "Identifier" */ -#line 3064 "parser.y" +#line 3067 "parser.y" { yyval = cb_build_index (yyvsp[0], cb_int1, 1, current_field); } -#line 7785 "parser.c" +#line 7788 "parser.c" break; case 453: /* justified_clause: JUSTIFIED _right */ -#line 3073 "parser.y" +#line 3076 "parser.y" { current_field->flag_justified = 1; } -#line 7791 "parser.c" +#line 7794 "parser.c" break; case 454: /* synchronized_clause: SYNCHRONIZED left_or_right */ -#line 3080 "parser.y" +#line 3083 "parser.y" { current_field->flag_synchronized = 1; } -#line 7797 "parser.c" +#line 7800 "parser.c" break; case 458: /* blank_clause: BLANK _when ZERO */ -#line 3092 "parser.y" +#line 3095 "parser.y" { current_field->flag_blank_zero = 1; } -#line 7803 "parser.c" +#line 7806 "parser.c" break; case 459: /* based_clause: BASED */ -#line 3100 "parser.y" +#line 3103 "parser.y" { if (current_storage != CB_STORAGE_WORKING && current_storage != CB_STORAGE_LINKAGE && @@ -7823,58 +7826,58 @@ yyparse (void) current_field->flag_item_based = 1; } } -#line 7827 "parser.c" +#line 7830 "parser.c" break; case 460: /* value_clause: VALUE _is literal */ -#line 3124 "parser.y" +#line 3127 "parser.y" { current_field->values = cb_list_init (yyvsp[0]); } -#line 7833 "parser.c" +#line 7836 "parser.c" break; case 461: /* $@24: %empty */ -#line 3128 "parser.y" +#line 3131 "parser.y" { current_field->values = yyvsp[0]; } -#line 7839 "parser.c" +#line 7842 "parser.c" break; case 463: /* value_item_list: value_item */ -#line 3133 "parser.y" +#line 3136 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 7845 "parser.c" +#line 7848 "parser.c" break; case 464: /* value_item_list: value_item_list value_item */ -#line 3134 "parser.y" +#line 3137 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 7851 "parser.c" +#line 7854 "parser.c" break; case 465: /* value_item: literal */ -#line 3138 "parser.y" +#line 3141 "parser.y" { yyval = yyvsp[0]; } -#line 7857 "parser.c" +#line 7860 "parser.c" break; case 466: /* value_item: literal THRU literal */ -#line 3139 "parser.y" +#line 3142 "parser.y" { yyval = cb_build_pair (yyvsp[-2], yyvsp[0]); } -#line 7863 "parser.c" +#line 7866 "parser.c" break; case 468: /* false_is: "FALSE" _is literal */ -#line 3144 "parser.y" +#line 3147 "parser.y" { if (current_field->level != 88) { cb_error (_("FALSE clause only allowed for 88 level")); } current_field->false_88 = cb_list_init (yyvsp[0]); } -#line 7874 "parser.c" +#line 7877 "parser.c" break; case 469: /* renames_clause: RENAMES qualified_word */ -#line 3157 "parser.y" +#line 3160 "parser.y" { if (cb_ref (yyvsp[0]) != cb_error_node) { if (CB_FIELD (cb_ref (yyvsp[0]))->level == 01 || @@ -7886,11 +7889,11 @@ yyparse (void) } } } -#line 7890 "parser.c" +#line 7893 "parser.c" break; case 470: /* renames_clause: RENAMES qualified_word THRU qualified_word */ -#line 3169 "parser.y" +#line 3172 "parser.y" { if (cb_ref (yyvsp[-2]) != cb_error_node && cb_ref (yyvsp[0]) != cb_error_node) { if (CB_FIELD (cb_ref (yyvsp[-2]))->level == 01 || @@ -7905,11 +7908,11 @@ yyparse (void) } } } -#line 7909 "parser.c" +#line 7912 "parser.c" break; case 471: /* any_length_clause: ANY LENGTH */ -#line 3189 "parser.y" +#line 3192 "parser.y" { if (current_field->flag_item_based) { cb_error (_("BASED and ANY LENGTH are mutually exclusive")); @@ -7917,107 +7920,107 @@ yyparse (void) current_field->flag_any_length = 1; } } -#line 7921 "parser.c" +#line 7924 "parser.c" break; case 473: /* $@25: %empty */ -#line 3204 "parser.y" +#line 3207 "parser.y" { current_storage = CB_STORAGE_LOCAL; if (current_program->nested_level) { cb_error (_("LOCAL-STORAGE not allowed in nested programs")); } } -#line 7932 "parser.c" +#line 7935 "parser.c" break; case 474: /* local_storage_section: "LOCAL-STORAGE" SECTION '.' $@25 record_description_list */ -#line 3211 "parser.y" +#line 3214 "parser.y" { if (yyvsp[0]) { current_program->local_storage = CB_FIELD (yyvsp[0]); } } -#line 7942 "parser.c" +#line 7945 "parser.c" break; case 476: /* $@26: %empty */ -#line 3224 "parser.y" +#line 3227 "parser.y" { current_storage = CB_STORAGE_LINKAGE; } -#line 7948 "parser.c" +#line 7951 "parser.c" break; case 477: /* linkage_section: LINKAGE SECTION '.' $@26 record_description_list */ -#line 3226 "parser.y" +#line 3229 "parser.y" { if (yyvsp[0]) { current_program->linkage_storage = CB_FIELD (yyvsp[0]); } } -#line 7958 "parser.c" +#line 7961 "parser.c" break; case 479: /* $@27: %empty */ -#line 3239 "parser.y" +#line 3242 "parser.y" { cb_error (_("REPORT SECTION not supported")); current_storage = CB_STORAGE_REPORT; } -#line 7967 "parser.c" +#line 7970 "parser.c" break; case 486: /* report_description_options: %empty */ -#line 3272 "parser.y" +#line 3275 "parser.y" { cb_warning (_("Report description using defaults")); } -#line 7975 "parser.c" +#line 7978 "parser.c" break; case 488: /* report_description_option: _is GLOBAL */ -#line 3280 "parser.y" +#line 3283 "parser.y" { cb_error (_("GLOBAL is not allowed with RD")); } -#line 7983 "parser.c" +#line 7986 "parser.c" break; case 497: /* identifier_list: identifier */ -#line 3303 "parser.y" +#line 3306 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 7989 "parser.c" +#line 7992 "parser.c" break; case 498: /* identifier_list: identifier_list identifier */ -#line 3304 "parser.y" +#line 3307 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 7995 "parser.c" +#line 7998 "parser.c" break; case 520: /* report_group_option: type_clause */ -#line 3360 "parser.y" +#line 3363 "parser.y" { cb_warning (_("looking for Report line TYPE")); } -#line 8001 "parser.c" +#line 8004 "parser.c" break; case 571: /* $@28: %empty */ -#line 3465 "parser.y" +#line 3468 "parser.y" { current_storage = CB_STORAGE_SCREEN; } -#line 8007 "parser.c" +#line 8010 "parser.c" break; case 572: /* $@29: %empty */ -#line 3466 "parser.y" +#line 3469 "parser.y" { current_field = NULL; description_field = NULL; cb_clear_real_field (); } -#line 8017 "parser.c" +#line 8020 "parser.c" break; case 573: /* screen_section: SCREEN SECTION '.' $@28 $@29 opt_screen_description_list */ -#line 3472 "parser.y" +#line 3475 "parser.y" { struct cb_field *p; @@ -8027,11 +8030,11 @@ yyparse (void) current_program->screen_storage = description_field; current_program->flag_screen = 1; } -#line 8031 "parser.c" +#line 8034 "parser.c" break; case 579: /* $@30: %empty */ -#line 3496 "parser.y" +#line 3499 "parser.y" { cb_tree x; @@ -8048,11 +8051,11 @@ yyparse (void) current_field->screen_backg = current_field->parent->screen_backg; } } -#line 8052 "parser.c" +#line 8055 "parser.c" break; case 580: /* screen_description: level_number entry_name $@30 screen_options '.' */ -#line 3513 "parser.y" +#line 3516 "parser.y" { if (!qualifier && (current_field->level == 88 || current_field->level == 77 || current_field->level == 66 || @@ -8070,259 +8073,259 @@ yyparse (void) description_field = current_field; } } -#line 8074 "parser.c" +#line 8077 "parser.c" break; case 583: /* screen_option: "BLANK-LINE" */ -#line 3537 "parser.y" +#line 3540 "parser.y" { current_field->screen_flag |= COB_SCREEN_BLANK_LINE; } -#line 8080 "parser.c" +#line 8083 "parser.c" break; case 584: /* screen_option: "BLANK-SCREEN" */ -#line 3538 "parser.y" +#line 3541 "parser.y" { current_field->screen_flag |= COB_SCREEN_BLANK_SCREEN; } -#line 8086 "parser.c" +#line 8089 "parser.c" break; case 585: /* screen_option: BELL */ -#line 3539 "parser.y" +#line 3542 "parser.y" { current_field->screen_flag |= COB_SCREEN_BELL; } -#line 8092 "parser.c" +#line 8095 "parser.c" break; case 586: /* screen_option: BLINK */ -#line 3540 "parser.y" +#line 3543 "parser.y" { current_field->screen_flag |= COB_SCREEN_BLINK; } -#line 8098 "parser.c" +#line 8101 "parser.c" break; case 587: /* screen_option: ERASE EOL */ -#line 3541 "parser.y" +#line 3544 "parser.y" { current_field->screen_flag |= COB_SCREEN_ERASE_EOL; } -#line 8104 "parser.c" +#line 8107 "parser.c" break; case 588: /* screen_option: ERASE EOS */ -#line 3542 "parser.y" +#line 3545 "parser.y" { current_field->screen_flag |= COB_SCREEN_ERASE_EOS; } -#line 8110 "parser.c" +#line 8113 "parser.c" break; case 589: /* screen_option: HIGHLIGHT */ -#line 3543 "parser.y" +#line 3546 "parser.y" { current_field->screen_flag |= COB_SCREEN_HIGHLIGHT; } -#line 8116 "parser.c" +#line 8119 "parser.c" break; case 590: /* screen_option: LOWLIGHT */ -#line 3544 "parser.y" +#line 3547 "parser.y" { current_field->screen_flag |= COB_SCREEN_LOWLIGHT; } -#line 8122 "parser.c" +#line 8125 "parser.c" break; case 591: /* screen_option: "REVERSE-VIDEO" */ -#line 3545 "parser.y" +#line 3548 "parser.y" { current_field->screen_flag |= COB_SCREEN_REVERSE; } -#line 8128 "parser.c" +#line 8131 "parser.c" break; case 592: /* screen_option: UNDERLINE */ -#line 3546 "parser.y" +#line 3549 "parser.y" { current_field->screen_flag |= COB_SCREEN_UNDERLINE; } -#line 8134 "parser.c" +#line 8137 "parser.c" break; case 593: /* screen_option: OVERLINE */ -#line 3547 "parser.y" +#line 3550 "parser.y" { current_field->screen_flag |= COB_SCREEN_OVERLINE; } -#line 8140 "parser.c" +#line 8143 "parser.c" break; case 594: /* screen_option: AUTO */ -#line 3548 "parser.y" +#line 3551 "parser.y" { current_field->screen_flag |= COB_SCREEN_AUTO; } -#line 8146 "parser.c" +#line 8149 "parser.c" break; case 595: /* screen_option: SECURE */ -#line 3549 "parser.y" +#line 3552 "parser.y" { current_field->screen_flag |= COB_SCREEN_SECURE; } -#line 8152 "parser.c" +#line 8155 "parser.c" break; case 596: /* screen_option: REQUIRED */ -#line 3550 "parser.y" +#line 3553 "parser.y" { current_field->screen_flag |= COB_SCREEN_REQUIRED; } -#line 8158 "parser.c" +#line 8161 "parser.c" break; case 597: /* screen_option: FULL */ -#line 3551 "parser.y" +#line 3554 "parser.y" { current_field->screen_flag |= COB_SCREEN_FULL; } -#line 8164 "parser.c" +#line 8167 "parser.c" break; case 598: /* screen_option: PROMPT */ -#line 3552 "parser.y" +#line 3555 "parser.y" { current_field->screen_flag |= COB_SCREEN_PROMPT; } -#line 8170 "parser.c" +#line 8173 "parser.c" break; case 599: /* screen_option: LINE _number _is screen_line_plus_minus num_id_or_lit */ -#line 3554 "parser.y" +#line 3557 "parser.y" { current_field->screen_line = yyvsp[0]; } -#line 8178 "parser.c" +#line 8181 "parser.c" break; case 600: /* screen_option: COLUMN _number _is screen_col_plus_minus num_id_or_lit */ -#line 3558 "parser.y" +#line 3561 "parser.y" { current_field->screen_column = yyvsp[0]; } -#line 8186 "parser.c" +#line 8189 "parser.c" break; case 601: /* screen_option: "FOREGROUND-COLOR" _is num_id_or_lit */ -#line 3562 "parser.y" +#line 3565 "parser.y" { current_field->screen_foreg = yyvsp[0]; } -#line 8194 "parser.c" +#line 8197 "parser.c" break; case 602: /* screen_option: "BACKGROUND-COLOR" _is num_id_or_lit */ -#line 3566 "parser.y" +#line 3569 "parser.y" { current_field->screen_backg = yyvsp[0]; } -#line 8202 "parser.c" +#line 8205 "parser.c" break; case 610: /* screen_option: USING identifier */ -#line 3577 "parser.y" +#line 3580 "parser.y" { current_field->screen_from = yyvsp[0]; current_field->screen_to = yyvsp[0]; current_field->screen_flag |= COB_SCREEN_PROMPT; current_field->screen_flag |= COB_SCREEN_INPUT; } -#line 8213 "parser.c" +#line 8216 "parser.c" break; case 611: /* screen_option: FROM id_or_lit_or_func */ -#line 3584 "parser.y" +#line 3587 "parser.y" { current_field->screen_from = yyvsp[0]; } -#line 8221 "parser.c" +#line 8224 "parser.c" break; case 612: /* screen_option: TO identifier */ -#line 3588 "parser.y" +#line 3591 "parser.y" { current_field->screen_to = yyvsp[0]; current_field->screen_flag |= COB_SCREEN_PROMPT; current_field->screen_flag |= COB_SCREEN_INPUT; } -#line 8231 "parser.c" +#line 8234 "parser.c" break; case 613: /* screen_line_plus_minus: %empty */ -#line 3597 "parser.y" +#line 3600 "parser.y" { /* Nothing */ } -#line 8239 "parser.c" +#line 8242 "parser.c" break; case 614: /* screen_line_plus_minus: PLUS */ -#line 3601 "parser.y" +#line 3604 "parser.y" { current_field->screen_flag |= COB_SCREEN_LINE_PLUS; } -#line 8247 "parser.c" +#line 8250 "parser.c" break; case 615: /* screen_line_plus_minus: '+' */ -#line 3605 "parser.y" +#line 3608 "parser.y" { current_field->screen_flag |= COB_SCREEN_LINE_PLUS; } -#line 8255 "parser.c" +#line 8258 "parser.c" break; case 616: /* screen_line_plus_minus: MINUS */ -#line 3609 "parser.y" +#line 3612 "parser.y" { current_field->screen_flag |= COB_SCREEN_LINE_MINUS; } -#line 8263 "parser.c" +#line 8266 "parser.c" break; case 617: /* screen_line_plus_minus: '-' */ -#line 3613 "parser.y" +#line 3616 "parser.y" { current_field->screen_flag |= COB_SCREEN_LINE_MINUS; } -#line 8271 "parser.c" +#line 8274 "parser.c" break; case 618: /* screen_col_plus_minus: %empty */ -#line 3620 "parser.y" +#line 3623 "parser.y" { /* Nothing */ } -#line 8279 "parser.c" +#line 8282 "parser.c" break; case 619: /* screen_col_plus_minus: PLUS */ -#line 3624 "parser.y" +#line 3627 "parser.y" { current_field->screen_flag |= COB_SCREEN_COLUMN_PLUS; } -#line 8287 "parser.c" +#line 8290 "parser.c" break; case 620: /* screen_col_plus_minus: '+' */ -#line 3628 "parser.y" +#line 3631 "parser.y" { current_field->screen_flag |= COB_SCREEN_COLUMN_PLUS; } -#line 8295 "parser.c" +#line 8298 "parser.c" break; case 621: /* screen_col_plus_minus: MINUS */ -#line 3632 "parser.y" +#line 3635 "parser.y" { current_field->screen_flag |= COB_SCREEN_COLUMN_MINUS; } -#line 8303 "parser.c" +#line 8306 "parser.c" break; case 622: /* screen_col_plus_minus: '-' */ -#line 3636 "parser.y" +#line 3639 "parser.y" { current_field->screen_flag |= COB_SCREEN_COLUMN_MINUS; } -#line 8311 "parser.c" +#line 8314 "parser.c" break; case 623: /* screen_occurs_clause: OCCURS integer _times */ -#line 3644 "parser.y" +#line 3647 "parser.y" { current_field->occurs_max = cb_get_int (yyvsp[-1]); current_field->occurs_min = current_field->occurs_max; current_field->indexes++; current_field->flag_occurs = 1; } -#line 8322 "parser.c" +#line 8325 "parser.c" break; case 625: /* $@31: %empty */ -#line 3658 "parser.y" +#line 3661 "parser.y" { current_section = NULL; current_paragraph = NULL; @@ -8332,11 +8335,11 @@ yyparse (void) cb_define_system_name ("SYSERR"); cb_set_in_procedure (); } -#line 8336 "parser.c" +#line 8339 "parser.c" break; case 626: /* $@32: %empty */ -#line 3668 "parser.y" +#line 3671 "parser.y" { if (current_program->flag_main && !current_program->flag_chained && yyvsp[-4]) { cb_error (_("Executable program requested but PROCEDURE/ENTRY has USING clause")); @@ -8346,11 +8349,11 @@ yyparse (void) emit_entry (current_program->source_name, 1, yyvsp[-4]); } } -#line 8350 "parser.c" +#line 8353 "parser.c" break; case 627: /* procedure_division: PROCEDURE DIVISION procedure_using_chaining procedure_returning '.' $@31 procedure_declaratives $@32 procedure_list */ -#line 3678 "parser.y" +#line 3681 "parser.y" { if (current_paragraph) { if (current_paragraph->exit_label) { @@ -8365,76 +8368,76 @@ yyparse (void) emit_statement (cb_build_perform_exit (current_section)); } } -#line 8369 "parser.c" +#line 8372 "parser.c" break; case 628: /* procedure_using_chaining: %empty */ -#line 3695 "parser.y" +#line 3698 "parser.y" { yyval = NULL; } -#line 8375 "parser.c" +#line 8378 "parser.c" break; case 629: /* $@33: %empty */ -#line 3697 "parser.y" +#line 3700 "parser.y" { call_mode = CB_CALL_BY_REFERENCE; size_mode = CB_SIZE_4; } -#line 8384 "parser.c" +#line 8387 "parser.c" break; case 630: /* procedure_using_chaining: USING $@33 procedure_param_list */ -#line 3701 "parser.y" +#line 3704 "parser.y" { yyval = yyvsp[0]; } -#line 8390 "parser.c" +#line 8393 "parser.c" break; case 631: /* $@34: %empty */ -#line 3703 "parser.y" +#line 3706 "parser.y" { call_mode = CB_CALL_BY_REFERENCE; current_program->flag_chained = 1; } -#line 8399 "parser.c" +#line 8402 "parser.c" break; case 632: /* procedure_using_chaining: CHAINING $@34 procedure_param_list */ -#line 3707 "parser.y" +#line 3710 "parser.y" { yyval = yyvsp[0]; } -#line 8405 "parser.c" +#line 8408 "parser.c" break; case 633: /* procedure_param_list: procedure_param */ -#line 3711 "parser.y" +#line 3714 "parser.y" { yyval = yyvsp[0]; } -#line 8411 "parser.c" +#line 8414 "parser.c" break; case 634: /* procedure_param_list: procedure_param_list procedure_param */ -#line 3713 "parser.y" +#line 3716 "parser.y" { yyval = cb_list_append (yyvsp[-1], yyvsp[0]); } -#line 8417 "parser.c" +#line 8420 "parser.c" break; case 635: /* procedure_param: procedure_type size_optional procedure_optional "Identifier" */ -#line 3718 "parser.y" +#line 3721 "parser.y" { yyval = cb_build_pair (cb_int (call_mode), cb_build_identifier (yyvsp[0])); CB_SIZES (yyval) = size_mode; } -#line 8426 "parser.c" +#line 8429 "parser.c" break; case 637: /* procedure_type: _by REFERENCE */ -#line 3727 "parser.y" +#line 3730 "parser.y" { call_mode = CB_CALL_BY_REFERENCE; } -#line 8434 "parser.c" +#line 8437 "parser.c" break; case 638: /* procedure_type: _by VALUE */ -#line 3731 "parser.y" +#line 3734 "parser.y" { if (current_program->flag_chained) { cb_error (_("BY VALUE not allowed in CHAINED program")); @@ -8442,11 +8445,11 @@ yyparse (void) call_mode = CB_CALL_BY_VALUE; } } -#line 8446 "parser.c" +#line 8449 "parser.c" break; case 640: /* size_optional: SIZE _is AUTO */ -#line 3743 "parser.y" +#line 3746 "parser.y" { if (call_mode != CB_CALL_BY_VALUE) { cb_error (_("SIZE only allowed for BY VALUE items")); @@ -8454,11 +8457,11 @@ yyparse (void) size_mode = CB_SIZE_AUTO; } } -#line 8458 "parser.c" +#line 8461 "parser.c" break; case 641: /* size_optional: SIZE _is DEFAULT */ -#line 3751 "parser.y" +#line 3754 "parser.y" { if (call_mode != CB_CALL_BY_VALUE) { cb_error (_("SIZE only allowed for BY VALUE items")); @@ -8466,11 +8469,11 @@ yyparse (void) size_mode = CB_SIZE_4; } } -#line 8470 "parser.c" +#line 8473 "parser.c" break; case 642: /* size_optional: UNSIGNED SIZE _is integer */ -#line 3759 "parser.y" +#line 3762 "parser.y" { unsigned char *s = CB_LITERAL (yyvsp[0])->data; @@ -8499,11 +8502,11 @@ yyparse (void) } } } -#line 8503 "parser.c" +#line 8506 "parser.c" break; case 643: /* size_optional: SIZE _is integer */ -#line 3788 "parser.y" +#line 3791 "parser.y" { unsigned char *s = CB_LITERAL (yyvsp[0])->data; @@ -8532,31 +8535,31 @@ yyparse (void) } } } -#line 8536 "parser.c" +#line 8539 "parser.c" break; case 645: /* procedure_optional: OPTIONAL */ -#line 3821 "parser.y" +#line 3824 "parser.y" { if (call_mode != CB_CALL_BY_REFERENCE) { cb_error (_("OPTIONAL only allowed for BY REFERENCE items")); } } -#line 8546 "parser.c" +#line 8549 "parser.c" break; case 646: /* procedure_returning: %empty */ -#line 3830 "parser.y" +#line 3833 "parser.y" { if (current_program->prog_type == CB_FUNCTION_TYPE) { cb_error (_("RETURNING clause is required for a FUNCTION")); } } -#line 8556 "parser.c" +#line 8559 "parser.c" break; case 647: /* procedure_returning: RETURNING "Identifier" */ -#line 3836 "parser.y" +#line 3839 "parser.y" { if (cb_ref (yyvsp[0]) != cb_error_node) { current_program->returning = yyvsp[0]; @@ -8565,17 +8568,17 @@ yyparse (void) } } } -#line 8569 "parser.c" +#line 8572 "parser.c" break; case 649: /* $@35: %empty */ -#line 3847 "parser.y" +#line 3850 "parser.y" { in_declaratives = 1; } -#line 8575 "parser.c" +#line 8578 "parser.c" break; case 650: /* procedure_declaratives: DECLARATIVES '.' $@35 procedure_list END DECLARATIVES '.' */ -#line 3850 "parser.y" +#line 3853 "parser.y" { in_declaratives = 0; if (current_paragraph) { @@ -8593,11 +8596,11 @@ yyparse (void) current_section = NULL; } } -#line 8597 "parser.c" +#line 8600 "parser.c" break; case 656: /* procedure: statements '.' */ -#line 3883 "parser.y" +#line 3886 "parser.y" { if (next_label_list) { cb_tree label; @@ -8613,19 +8616,19 @@ yyparse (void) } /* check_unreached = 0; */ } -#line 8617 "parser.c" +#line 8620 "parser.c" break; case 657: /* procedure: error */ -#line 3899 "parser.y" +#line 3902 "parser.y" { check_unreached = 0; } -#line 8625 "parser.c" +#line 8628 "parser.c" break; case 658: /* section_header: section_name SECTION opt_segment '.' */ -#line 3911 "parser.y" +#line 3914 "parser.y" { non_const_word = 0; check_unreached = 0; @@ -8653,11 +8656,11 @@ yyparse (void) current_paragraph = NULL; emit_statement (CB_TREE (current_section)); } -#line 8657 "parser.c" +#line 8660 "parser.c" break; case 659: /* paragraph_header: "Identifier" '.' */ -#line 3942 "parser.y" +#line 3945 "parser.y" { cb_tree label; @@ -8691,11 +8694,11 @@ yyparse (void) } emit_statement (CB_TREE (current_paragraph)); } -#line 8695 "parser.c" +#line 8698 "parser.c" break; case 660: /* invalid_statement: section_name */ -#line 3979 "parser.y" +#line 3982 "parser.y" { non_const_word = 0; check_unreached = 0; @@ -8704,51 +8707,51 @@ yyparse (void) } YYERROR; } -#line 8708 "parser.c" +#line 8711 "parser.c" break; case 661: /* section_name: "Identifier" */ -#line 3990 "parser.y" +#line 3993 "parser.y" { yyval = cb_build_section_name (yyvsp[0], 0); } -#line 8714 "parser.c" +#line 8717 "parser.c" break; case 663: /* opt_segment: "Literal" */ -#line 3994 "parser.y" +#line 3997 "parser.y" { /* ignore */ } -#line 8720 "parser.c" +#line 8723 "parser.c" break; case 664: /* @36: %empty */ -#line 4003 "parser.y" +#line 4006 "parser.y" { yyval = current_program->exec_list; current_program->exec_list = NULL; } -#line 8729 "parser.c" +#line 8732 "parser.c" break; case 665: /* @37: %empty */ -#line 4007 "parser.y" +#line 4010 "parser.y" { yyval = CB_TREE (current_statement); current_statement = NULL; } -#line 8738 "parser.c" +#line 8741 "parser.c" break; case 666: /* statement_list: @36 @37 statements */ -#line 4012 "parser.y" +#line 4015 "parser.y" { yyval = cb_list_reverse (current_program->exec_list); current_program->exec_list = yyvsp[-2]; current_statement = CB_STATEMENT (yyvsp[-1]); } -#line 8748 "parser.c" +#line 8751 "parser.c" break; case 667: /* statements: %empty */ -#line 4020 "parser.y" +#line 4023 "parser.y" { cb_tree label; @@ -8769,11 +8772,11 @@ yyparse (void) cb_cons (CB_TREE (current_paragraph), current_section->children); } } -#line 8773 "parser.c" +#line 8776 "parser.c" break; case 718: /* statement: "NEXT SENTENCE" */ -#line 4095 "parser.y" +#line 4098 "parser.y" { if (cb_verify (cb_next_sentence_phrase, "NEXT SENTENCE")) { cb_tree label; @@ -8787,11 +8790,11 @@ yyparse (void) } check_unreached = 0; } -#line 8791 "parser.c" +#line 8794 "parser.c" break; case 719: /* $@38: %empty */ -#line 4117 "parser.y" +#line 4120 "parser.y" { BEGIN_STATEMENT ("ACCEPT", TERM_ACCEPT); dispattrs = 0; @@ -8799,489 +8802,489 @@ yyparse (void) bgc = NULL; scroll = NULL; } -#line 8803 "parser.c" +#line 8806 "parser.c" break; case 721: /* accept_body: identifier opt_at_line_column opt_accp_attr on_accp_exception */ -#line 4130 "parser.y" +#line 4133 "parser.y" { cb_emit_accept (yyvsp[-3], yyvsp[-2], fgc, bgc, scroll, dispattrs); } -#line 8811 "parser.c" +#line 8814 "parser.c" break; case 722: /* accept_body: identifier FROM ESCAPE KEY */ -#line 4134 "parser.y" +#line 4137 "parser.y" { PENDING ("ACCEPT .. FROM ESCAPE KEY"); } -#line 8819 "parser.c" +#line 8822 "parser.c" break; case 723: /* accept_body: identifier FROM LINES */ -#line 4138 "parser.y" +#line 4141 "parser.y" { cb_emit_accept_line_or_col (yyvsp[-2], 0); } -#line 8827 "parser.c" +#line 8830 "parser.c" break; case 724: /* accept_body: identifier FROM COLUMNS */ -#line 4142 "parser.y" +#line 4145 "parser.y" { cb_emit_accept_line_or_col (yyvsp[-2], 1); } -#line 8835 "parser.c" +#line 8838 "parser.c" break; case 725: /* accept_body: identifier FROM DATE */ -#line 4146 "parser.y" +#line 4149 "parser.y" { cb_emit_accept_date (yyvsp[-2]); } -#line 8843 "parser.c" +#line 8846 "parser.c" break; case 726: /* accept_body: identifier FROM DATE YYYYMMDD */ -#line 4150 "parser.y" +#line 4153 "parser.y" { cb_emit_accept_date_yyyymmdd (yyvsp[-3]); } -#line 8851 "parser.c" +#line 8854 "parser.c" break; case 727: /* accept_body: identifier FROM DAY */ -#line 4154 "parser.y" +#line 4157 "parser.y" { cb_emit_accept_day (yyvsp[-2]); } -#line 8859 "parser.c" +#line 8862 "parser.c" break; case 728: /* accept_body: identifier FROM DAY YYYYDDD */ -#line 4158 "parser.y" +#line 4161 "parser.y" { cb_emit_accept_day_yyyyddd (yyvsp[-3]); } -#line 8867 "parser.c" +#line 8870 "parser.c" break; case 729: /* accept_body: identifier FROM "DAY-OF-WEEK" */ -#line 4162 "parser.y" +#line 4165 "parser.y" { cb_emit_accept_day_of_week (yyvsp[-2]); } -#line 8875 "parser.c" +#line 8878 "parser.c" break; case 730: /* accept_body: identifier FROM TIME */ -#line 4166 "parser.y" +#line 4169 "parser.y" { cb_emit_accept_time (yyvsp[-2]); } -#line 8883 "parser.c" +#line 8886 "parser.c" break; case 731: /* accept_body: identifier FROM "COMMAND-LINE" */ -#line 4170 "parser.y" +#line 4173 "parser.y" { cb_emit_accept_command_line (yyvsp[-2]); } -#line 8891 "parser.c" +#line 8894 "parser.c" break; case 732: /* accept_body: identifier FROM "ENVIRONMENT-VALUE" on_accp_exception */ -#line 4174 "parser.y" +#line 4177 "parser.y" { cb_emit_accept_environment (yyvsp[-3]); } -#line 8899 "parser.c" +#line 8902 "parser.c" break; case 733: /* accept_body: identifier FROM ENVIRONMENT simple_value on_accp_exception */ -#line 4178 "parser.y" +#line 4181 "parser.y" { cb_emit_get_environment (yyvsp[-1], yyvsp[-4]); } -#line 8907 "parser.c" +#line 8910 "parser.c" break; case 734: /* accept_body: identifier FROM "ARGUMENT-NUMBER" */ -#line 4182 "parser.y" +#line 4185 "parser.y" { cb_emit_accept_arg_number (yyvsp[-2]); } -#line 8915 "parser.c" +#line 8918 "parser.c" break; case 735: /* accept_body: identifier FROM "ARGUMENT-VALUE" on_accp_exception */ -#line 4186 "parser.y" +#line 4189 "parser.y" { cb_emit_accept_arg_value (yyvsp[-3]); } -#line 8923 "parser.c" +#line 8926 "parser.c" break; case 736: /* accept_body: identifier FROM mnemonic_name */ -#line 4190 "parser.y" +#line 4193 "parser.y" { cb_emit_accept_mnemonic (yyvsp[-2], yyvsp[0]); } -#line 8931 "parser.c" +#line 8934 "parser.c" break; case 737: /* accept_body: identifier FROM "Identifier" */ -#line 4194 "parser.y" +#line 4197 "parser.y" { cb_emit_accept_name (yyvsp[-2], yyvsp[0]); } -#line 8939 "parser.c" +#line 8942 "parser.c" break; case 738: /* opt_at_line_column: %empty */ -#line 4200 "parser.y" +#line 4203 "parser.y" { yyval = NULL; } -#line 8945 "parser.c" +#line 8948 "parser.c" break; case 739: /* opt_at_line_column: _at line_number column_number */ -#line 4201 "parser.y" +#line 4204 "parser.y" { yyval = cb_build_pair (yyvsp[-1], yyvsp[0]); } -#line 8951 "parser.c" +#line 8954 "parser.c" break; case 740: /* opt_at_line_column: _at column_number line_number */ -#line 4202 "parser.y" +#line 4205 "parser.y" { yyval = cb_build_pair (yyvsp[0], yyvsp[-1]); } -#line 8957 "parser.c" +#line 8960 "parser.c" break; case 741: /* opt_at_line_column: _at line_number */ -#line 4203 "parser.y" +#line 4206 "parser.y" { yyval = cb_build_pair (yyvsp[0], NULL); } -#line 8963 "parser.c" +#line 8966 "parser.c" break; case 742: /* opt_at_line_column: _at column_number */ -#line 4204 "parser.y" +#line 4207 "parser.y" { yyval = cb_build_pair (NULL, yyvsp[0]); } -#line 8969 "parser.c" +#line 8972 "parser.c" break; case 743: /* opt_at_line_column: AT simple_value */ -#line 4205 "parser.y" +#line 4208 "parser.y" { yyval = yyvsp[0]; } -#line 8975 "parser.c" +#line 8978 "parser.c" break; case 744: /* line_number: LINE _number id_or_lit */ -#line 4209 "parser.y" +#line 4212 "parser.y" { yyval = yyvsp[0]; } -#line 8981 "parser.c" +#line 8984 "parser.c" break; case 745: /* column_number: COLUMN _number id_or_lit */ -#line 4213 "parser.y" +#line 4216 "parser.y" { yyval = yyvsp[0]; } -#line 8987 "parser.c" +#line 8990 "parser.c" break; case 746: /* column_number: POSITION _number id_or_lit */ -#line 4214 "parser.y" +#line 4217 "parser.y" { yyval = yyvsp[0]; } -#line 8993 "parser.c" +#line 8996 "parser.c" break; case 751: /* accp_attr: BELL */ -#line 4227 "parser.y" +#line 4230 "parser.y" { dispattrs |= COB_SCREEN_BELL; } -#line 8999 "parser.c" +#line 9002 "parser.c" break; case 752: /* accp_attr: BLINK */ -#line 4228 "parser.y" +#line 4231 "parser.y" { dispattrs |= COB_SCREEN_BLINK; } -#line 9005 "parser.c" +#line 9008 "parser.c" break; case 753: /* accp_attr: HIGHLIGHT */ -#line 4229 "parser.y" +#line 4232 "parser.y" { dispattrs |= COB_SCREEN_HIGHLIGHT; } -#line 9011 "parser.c" +#line 9014 "parser.c" break; case 754: /* accp_attr: LOWLIGHT */ -#line 4230 "parser.y" +#line 4233 "parser.y" { dispattrs |= COB_SCREEN_LOWLIGHT; } -#line 9017 "parser.c" +#line 9020 "parser.c" break; case 755: /* accp_attr: "REVERSE-VIDEO" */ -#line 4231 "parser.y" +#line 4234 "parser.y" { dispattrs |= COB_SCREEN_REVERSE; } -#line 9023 "parser.c" +#line 9026 "parser.c" break; case 756: /* accp_attr: UNDERLINE */ -#line 4232 "parser.y" +#line 4235 "parser.y" { dispattrs |= COB_SCREEN_UNDERLINE; } -#line 9029 "parser.c" +#line 9032 "parser.c" break; case 757: /* accp_attr: OVERLINE */ -#line 4233 "parser.y" +#line 4236 "parser.y" { dispattrs |= COB_SCREEN_OVERLINE; } -#line 9035 "parser.c" +#line 9038 "parser.c" break; case 758: /* accp_attr: "FOREGROUND-COLOR" _is num_id_or_lit */ -#line 4235 "parser.y" +#line 4238 "parser.y" { fgc = yyvsp[0]; } -#line 9043 "parser.c" +#line 9046 "parser.c" break; case 759: /* accp_attr: "BACKGROUND-COLOR" _is num_id_or_lit */ -#line 4239 "parser.y" +#line 4242 "parser.y" { bgc = yyvsp[0]; } -#line 9051 "parser.c" +#line 9054 "parser.c" break; case 760: /* accp_attr: SCROLL UP _opt_scroll_lines */ -#line 4243 "parser.y" +#line 4246 "parser.y" { scroll = yyvsp[0]; } -#line 9059 "parser.c" +#line 9062 "parser.c" break; case 761: /* accp_attr: SCROLL DOWN _opt_scroll_lines */ -#line 4247 "parser.y" +#line 4250 "parser.y" { dispattrs |= COB_SCREEN_SCROLL_DOWN; scroll = yyvsp[0]; } -#line 9068 "parser.c" +#line 9071 "parser.c" break; case 762: /* accp_attr: AUTO */ -#line 4251 "parser.y" +#line 4254 "parser.y" { dispattrs |= COB_SCREEN_AUTO; } -#line 9074 "parser.c" +#line 9077 "parser.c" break; case 763: /* accp_attr: FULL */ -#line 4252 "parser.y" +#line 4255 "parser.y" { dispattrs |= COB_SCREEN_FULL; } -#line 9080 "parser.c" +#line 9083 "parser.c" break; case 764: /* accp_attr: REQUIRED */ -#line 4253 "parser.y" +#line 4256 "parser.y" { dispattrs |= COB_SCREEN_REQUIRED; } -#line 9086 "parser.c" +#line 9089 "parser.c" break; case 765: /* accp_attr: SECURE */ -#line 4254 "parser.y" +#line 4257 "parser.y" { dispattrs |= COB_SCREEN_SECURE; } -#line 9092 "parser.c" +#line 9095 "parser.c" break; case 766: /* accp_attr: UPDATE */ -#line 4255 "parser.y" +#line 4258 "parser.y" { dispattrs |= COB_SCREEN_UPDATE; } -#line 9098 "parser.c" +#line 9101 "parser.c" break; case 767: /* accp_attr: PROMPT */ -#line 4256 "parser.y" +#line 4259 "parser.y" { dispattrs |= COB_SCREEN_PROMPT; } -#line 9104 "parser.c" +#line 9107 "parser.c" break; case 768: /* end_accept: %empty */ -#line 4260 "parser.y" +#line 4263 "parser.y" { terminator_warning (TERM_ACCEPT); } -#line 9110 "parser.c" +#line 9113 "parser.c" break; case 769: /* end_accept: "END-ACCEPT" */ -#line 4261 "parser.y" +#line 4264 "parser.y" { terminator_clear (TERM_ACCEPT); } -#line 9116 "parser.c" +#line 9119 "parser.c" break; case 770: /* $@39: %empty */ -#line 4270 "parser.y" +#line 4273 "parser.y" { BEGIN_STATEMENT ("ADD", TERM_ADD); } -#line 9122 "parser.c" +#line 9125 "parser.c" break; case 772: /* add_body: x_list TO arithmetic_x_list on_size_error */ -#line 4277 "parser.y" +#line 4280 "parser.y" { cb_emit_arithmetic (yyvsp[-1], '+', cb_build_binary_list (yyvsp[-3], '+')); } -#line 9130 "parser.c" +#line 9133 "parser.c" break; case 773: /* add_body: x_list add_to GIVING arithmetic_x_list on_size_error */ -#line 4281 "parser.y" +#line 4284 "parser.y" { cb_emit_arithmetic (yyvsp[-1], 0, cb_build_binary_list (yyvsp[-4], '+')); } -#line 9138 "parser.c" +#line 9141 "parser.c" break; case 774: /* add_body: CORRESPONDING identifier TO identifier flag_rounded on_size_error */ -#line 4285 "parser.y" +#line 4288 "parser.y" { cb_emit_corresponding (cb_build_add, yyvsp[-2], yyvsp[-4], yyvsp[-1]); } -#line 9146 "parser.c" +#line 9149 "parser.c" break; case 776: /* add_to: TO x */ -#line 4291 "parser.y" +#line 4294 "parser.y" { cb_list_add (yyvsp[-2], yyvsp[0]); } -#line 9152 "parser.c" +#line 9155 "parser.c" break; case 777: /* end_add: %empty */ -#line 4295 "parser.y" +#line 4298 "parser.y" { terminator_warning (TERM_ADD); } -#line 9158 "parser.c" +#line 9161 "parser.c" break; case 778: /* end_add: "END-ADD" */ -#line 4296 "parser.y" +#line 4299 "parser.y" { terminator_clear (TERM_ADD); } -#line 9164 "parser.c" +#line 9167 "parser.c" break; case 779: /* $@40: %empty */ -#line 4305 "parser.y" +#line 4308 "parser.y" { BEGIN_STATEMENT ("ALLOCATE", 0); } -#line 9170 "parser.c" +#line 9173 "parser.c" break; case 781: /* allocate_body: "Identifier" flag_initialized allocate_returning */ -#line 4311 "parser.y" +#line 4314 "parser.y" { cb_emit_allocate (yyvsp[-2], yyvsp[0], NULL, yyvsp[-1]); } -#line 9178 "parser.c" +#line 9181 "parser.c" break; case 782: /* allocate_body: expr CHARACTERS flag_initialized RETURNING target_x */ -#line 4315 "parser.y" +#line 4318 "parser.y" { cb_emit_allocate (NULL, yyvsp[0], yyvsp[-4], yyvsp[-2]); } -#line 9186 "parser.c" +#line 9189 "parser.c" break; case 783: /* allocate_returning: %empty */ -#line 4321 "parser.y" +#line 4324 "parser.y" { yyval = NULL; } -#line 9192 "parser.c" +#line 9195 "parser.c" break; case 784: /* allocate_returning: RETURNING target_x */ -#line 4322 "parser.y" +#line 4325 "parser.y" { yyval = yyvsp[0]; } -#line 9198 "parser.c" +#line 9201 "parser.c" break; case 785: /* alter_statement: ALTER alter_options */ -#line 4332 "parser.y" +#line 4335 "parser.y" { cb_error (_("ALTER statement is obsolete and unsupported")); } -#line 9206 "parser.c" +#line 9209 "parser.c" break; case 790: /* $@41: %empty */ -#line 4350 "parser.y" +#line 4353 "parser.y" { BEGIN_STATEMENT ("CALL", TERM_CALL); } -#line 9212 "parser.c" +#line 9215 "parser.c" break; case 791: /* call_statement: CALL $@41 id_or_lit_or_func call_using call_returning call_on_exception call_not_on_exception end_call */ -#line 4354 "parser.y" +#line 4357 "parser.y" { cb_emit_call (yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1]); } -#line 9220 "parser.c" +#line 9223 "parser.c" break; case 792: /* call_using: %empty */ -#line 4360 "parser.y" +#line 4363 "parser.y" { yyval = NULL; } -#line 9226 "parser.c" +#line 9229 "parser.c" break; case 793: /* $@42: %empty */ -#line 4362 "parser.y" +#line 4365 "parser.y" { call_mode = CB_CALL_BY_REFERENCE; size_mode = CB_SIZE_4; } -#line 9235 "parser.c" +#line 9238 "parser.c" break; case 794: /* call_using: USING $@42 call_param_list */ -#line 4366 "parser.y" +#line 4369 "parser.y" { yyval = yyvsp[0]; } -#line 9241 "parser.c" +#line 9244 "parser.c" break; case 795: /* call_param_list: call_param */ -#line 4370 "parser.y" +#line 4373 "parser.y" { yyval = yyvsp[0]; } -#line 9247 "parser.c" +#line 9250 "parser.c" break; case 796: /* call_param_list: call_param_list call_param */ -#line 4372 "parser.y" +#line 4375 "parser.y" { yyval = cb_list_append (yyvsp[-1], yyvsp[0]); } -#line 9253 "parser.c" +#line 9256 "parser.c" break; case 797: /* call_param: call_type OMITTED */ -#line 4377 "parser.y" +#line 4380 "parser.y" { if (call_mode != CB_CALL_BY_REFERENCE) { cb_error (_("OMITTED only allowed with BY REFERENCE")); } yyval = cb_build_pair (cb_int (call_mode), cb_null); } -#line 9264 "parser.c" +#line 9267 "parser.c" break; case 798: /* call_param: call_type size_optional x */ -#line 4384 "parser.y" +#line 4387 "parser.y" { yyval = cb_build_pair (cb_int (call_mode), yyvsp[0]); CB_SIZES (yyval) = size_mode; } -#line 9273 "parser.c" +#line 9276 "parser.c" break; case 800: /* call_type: _by REFERENCE */ -#line 4393 "parser.y" +#line 4396 "parser.y" { call_mode = CB_CALL_BY_REFERENCE; } -#line 9281 "parser.c" +#line 9284 "parser.c" break; case 801: /* call_type: _by CONTENT */ -#line 4397 "parser.y" +#line 4400 "parser.y" { if (current_program->flag_chained) { cb_error (_("BY CONTENT not allowed in CHAINED program")); @@ -9289,11 +9292,11 @@ yyparse (void) call_mode = CB_CALL_BY_CONTENT; } } -#line 9293 "parser.c" +#line 9296 "parser.c" break; case 802: /* call_type: _by VALUE */ -#line 4405 "parser.y" +#line 4408 "parser.y" { if (current_program->flag_chained) { cb_error (_("BY VALUE not allowed in CHAINED program")); @@ -9301,236 +9304,236 @@ yyparse (void) call_mode = CB_CALL_BY_VALUE; } } -#line 9305 "parser.c" +#line 9308 "parser.c" break; case 803: /* call_returning: %empty */ -#line 4415 "parser.y" +#line 4418 "parser.y" { yyval = NULL; } -#line 9311 "parser.c" +#line 9314 "parser.c" break; case 804: /* call_returning: RETURNING identifier */ -#line 4416 "parser.y" +#line 4419 "parser.y" { yyval = yyvsp[0]; } -#line 9317 "parser.c" +#line 9320 "parser.c" break; case 805: /* call_returning: GIVING identifier */ -#line 4417 "parser.y" +#line 4420 "parser.y" { yyval = yyvsp[0]; } -#line 9323 "parser.c" +#line 9326 "parser.c" break; case 806: /* call_on_exception: %empty */ -#line 4422 "parser.y" +#line 4425 "parser.y" { yyval = NULL; } -#line 9331 "parser.c" +#line 9334 "parser.c" break; case 807: /* $@43: %empty */ -#line 4426 "parser.y" +#line 4429 "parser.y" { check_unreached = 0; } -#line 9339 "parser.c" +#line 9342 "parser.c" break; case 808: /* call_on_exception: exception_or_overflow $@43 statement_list */ -#line 4430 "parser.y" +#line 4433 "parser.y" { yyval = yyvsp[0]; } -#line 9347 "parser.c" +#line 9350 "parser.c" break; case 809: /* call_not_on_exception: %empty */ -#line 4437 "parser.y" +#line 4440 "parser.y" { yyval = NULL; } -#line 9355 "parser.c" +#line 9358 "parser.c" break; case 810: /* $@44: %empty */ -#line 4441 "parser.y" +#line 4444 "parser.y" { check_unreached = 0; } -#line 9363 "parser.c" +#line 9366 "parser.c" break; case 811: /* call_not_on_exception: not_exception_or_overflow $@44 statement_list */ -#line 4445 "parser.y" +#line 4448 "parser.y" { yyval = yyvsp[0]; } -#line 9371 "parser.c" +#line 9374 "parser.c" break; case 812: /* end_call: %empty */ -#line 4451 "parser.y" +#line 4454 "parser.y" { terminator_warning (TERM_CALL); } -#line 9377 "parser.c" +#line 9380 "parser.c" break; case 813: /* end_call: "END-CALL" */ -#line 4452 "parser.y" +#line 4455 "parser.y" { terminator_clear (TERM_CALL); } -#line 9383 "parser.c" +#line 9386 "parser.c" break; case 814: /* $@45: %empty */ -#line 4461 "parser.y" +#line 4464 "parser.y" { BEGIN_STATEMENT ("CANCEL", 0); } -#line 9389 "parser.c" +#line 9392 "parser.c" break; case 817: /* cancel_list: cancel_list id_or_lit */ -#line 4467 "parser.y" +#line 4470 "parser.y" { cb_emit_cancel (yyvsp[0]); } -#line 9397 "parser.c" +#line 9400 "parser.c" break; case 818: /* cancel_list: ALL */ -#line 4471 "parser.y" +#line 4474 "parser.y" { cb_emit_cancel_all (); } -#line 9405 "parser.c" +#line 9408 "parser.c" break; case 819: /* $@46: %empty */ -#line 4482 "parser.y" +#line 4485 "parser.y" { BEGIN_STATEMENT ("CLOSE", 0); } -#line 9411 "parser.c" +#line 9414 "parser.c" break; case 822: /* close_list: close_list file_name close_option */ -#line 4489 "parser.y" +#line 4492 "parser.y" { BEGIN_IMPLICIT_STATEMENT (yyvsp[-1]); if (yyvsp[-1] != cb_error_node) { cb_emit_close (yyvsp[-1], yyvsp[0]); } } -#line 9422 "parser.c" +#line 9425 "parser.c" break; case 823: /* close_option: %empty */ -#line 4498 "parser.y" +#line 4501 "parser.y" { yyval = cb_int (COB_CLOSE_NORMAL); } -#line 9428 "parser.c" +#line 9431 "parser.c" break; case 824: /* close_option: reel_or_unit */ -#line 4499 "parser.y" +#line 4502 "parser.y" { yyval = cb_int (COB_CLOSE_UNIT); } -#line 9434 "parser.c" +#line 9437 "parser.c" break; case 825: /* close_option: reel_or_unit _for REMOVAL */ -#line 4500 "parser.y" +#line 4503 "parser.y" { yyval = cb_int (COB_CLOSE_UNIT_REMOVAL); } -#line 9440 "parser.c" +#line 9443 "parser.c" break; case 826: /* close_option: _with NO REWIND */ -#line 4501 "parser.y" +#line 4504 "parser.y" { yyval = cb_int (COB_CLOSE_NO_REWIND); } -#line 9446 "parser.c" +#line 9449 "parser.c" break; case 827: /* close_option: _with LOCK */ -#line 4502 "parser.y" +#line 4505 "parser.y" { yyval = cb_int (COB_CLOSE_LOCK); } -#line 9452 "parser.c" +#line 9455 "parser.c" break; case 830: /* $@47: %empty */ -#line 4513 "parser.y" +#line 4516 "parser.y" { BEGIN_STATEMENT ("COMPUTE", TERM_COMPUTE); } -#line 9458 "parser.c" +#line 9461 "parser.c" break; case 832: /* compute_body: arithmetic_x_list comp_equal expr on_size_error */ -#line 4520 "parser.y" +#line 4523 "parser.y" { cb_emit_arithmetic (yyvsp[-3], 0, yyvsp[-1]); } -#line 9466 "parser.c" +#line 9469 "parser.c" break; case 833: /* end_compute: %empty */ -#line 4526 "parser.y" +#line 4529 "parser.y" { terminator_warning (TERM_COMPUTE); } -#line 9472 "parser.c" +#line 9475 "parser.c" break; case 834: /* end_compute: "END-COMPUTE" */ -#line 4527 "parser.y" +#line 4530 "parser.y" { terminator_clear (TERM_COMPUTE); } -#line 9478 "parser.c" +#line 9481 "parser.c" break; case 837: /* commit_statement: COMMIT */ -#line 4538 "parser.y" +#line 4541 "parser.y" { BEGIN_STATEMENT ("COMMIT", 0); cb_emit_commit (); } -#line 9487 "parser.c" +#line 9490 "parser.c" break; case 838: /* continue_statement: CONTINUE */ -#line 4551 "parser.y" +#line 4554 "parser.y" { BEGIN_STATEMENT ("CONTINUE", 0); cb_emit_continue (); } -#line 9496 "parser.c" +#line 9499 "parser.c" break; case 839: /* $@48: %empty */ -#line 4563 "parser.y" +#line 4566 "parser.y" { BEGIN_STATEMENT ("DELETE", TERM_DELETE); } -#line 9502 "parser.c" +#line 9505 "parser.c" break; case 840: /* delete_statement: DELETE $@48 file_name _record opt_invalid_key end_delete */ -#line 4566 "parser.y" +#line 4569 "parser.y" { if (yyvsp[-3] != cb_error_node) { cb_emit_delete (yyvsp[-3]); } } -#line 9512 "parser.c" +#line 9515 "parser.c" break; case 841: /* end_delete: %empty */ -#line 4574 "parser.y" +#line 4577 "parser.y" { terminator_warning (TERM_DELETE); } -#line 9518 "parser.c" +#line 9521 "parser.c" break; case 842: /* end_delete: "END-DELETE" */ -#line 4575 "parser.y" +#line 4578 "parser.y" { terminator_clear (TERM_DELETE); } -#line 9524 "parser.c" +#line 9527 "parser.c" break; case 843: /* $@49: %empty */ -#line 4584 "parser.y" +#line 4587 "parser.y" { BEGIN_STATEMENT ("DELETE-FILE", 0); } -#line 9530 "parser.c" +#line 9533 "parser.c" break; case 844: /* delete_file_statement: DELETE $@49 "FILE" file_name_list */ -#line 4586 "parser.y" +#line 4589 "parser.y" { cb_tree l; for (l = yyvsp[0]; l; l = CB_CHAIN (l)) { @@ -9540,11 +9543,11 @@ yyparse (void) } } } -#line 9544 "parser.c" +#line 9547 "parser.c" break; case 845: /* $@50: %empty */ -#line 4604 "parser.y" +#line 4607 "parser.y" { BEGIN_STATEMENT ("DISPLAY", TERM_DISPLAY); dispattrs = 0; @@ -9552,277 +9555,277 @@ yyparse (void) bgc = NULL; scroll = NULL; } -#line 9556 "parser.c" +#line 9559 "parser.c" break; case 847: /* display_body: id_or_lit "UPON ENVIRONMENT-NAME" on_disp_exception */ -#line 4617 "parser.y" +#line 4620 "parser.y" { cb_emit_env_name (yyvsp[-2]); } -#line 9564 "parser.c" +#line 9567 "parser.c" break; case 848: /* display_body: id_or_lit "UPON ENVIRONMENT-VALUE" on_disp_exception */ -#line 4621 "parser.y" +#line 4624 "parser.y" { cb_emit_env_value (yyvsp[-2]); } -#line 9572 "parser.c" +#line 9575 "parser.c" break; case 849: /* display_body: id_or_lit "UPON ARGUMENT-NUMBER" on_disp_exception */ -#line 4625 "parser.y" +#line 4628 "parser.y" { cb_emit_arg_number (yyvsp[-2]); } -#line 9580 "parser.c" +#line 9583 "parser.c" break; case 850: /* display_body: id_or_lit "UPON COMMAND-LINE" on_disp_exception */ -#line 4629 "parser.y" +#line 4632 "parser.y" { cb_emit_command_line (yyvsp[-2]); } -#line 9588 "parser.c" +#line 9591 "parser.c" break; case 851: /* display_body: x_list opt_at_line_column with_clause on_disp_exception */ -#line 4633 "parser.y" +#line 4636 "parser.y" { cb_emit_display (yyvsp[-3], cb_int0, yyvsp[-1], yyvsp[-2], fgc, bgc, scroll, dispattrs); } -#line 9596 "parser.c" +#line 9599 "parser.c" break; case 852: /* display_body: x_list opt_at_line_column UPON mnemonic_name with_clause on_disp_exception */ -#line 4637 "parser.y" +#line 4640 "parser.y" { cb_emit_display_mnemonic (yyvsp[-5], yyvsp[-2], yyvsp[-1], yyvsp[-4], fgc, bgc, scroll, dispattrs); } -#line 9604 "parser.c" +#line 9607 "parser.c" break; case 853: /* display_body: x_list opt_at_line_column UPON "Identifier" with_clause on_disp_exception */ -#line 4641 "parser.y" +#line 4644 "parser.y" { cb_tree word = cb_build_display_upon_direct (yyvsp[-2]); cb_emit_display (yyvsp[-5], word, yyvsp[-1], yyvsp[-4], fgc, bgc, scroll, dispattrs); } -#line 9613 "parser.c" +#line 9616 "parser.c" break; case 854: /* display_body: x_list opt_at_line_column UPON PRINTER with_clause on_disp_exception */ -#line 4646 "parser.y" +#line 4649 "parser.y" { cb_emit_display (yyvsp[-5], cb_int0, yyvsp[-1], yyvsp[-4], fgc, bgc, scroll, dispattrs); } -#line 9621 "parser.c" +#line 9624 "parser.c" break; case 855: /* display_body: x_list opt_at_line_column UPON CRT with_clause on_disp_exception */ -#line 4650 "parser.y" +#line 4653 "parser.y" { cb_emit_display (yyvsp[-5], cb_int0, yyvsp[-1], yyvsp[-4], fgc, bgc, scroll, dispattrs); } -#line 9629 "parser.c" +#line 9632 "parser.c" break; case 856: /* with_clause: %empty */ -#line 4656 "parser.y" +#line 4659 "parser.y" { yyval = cb_int1; } -#line 9635 "parser.c" +#line 9638 "parser.c" break; case 857: /* with_clause: _with "NO ADVANCING" */ -#line 4657 "parser.y" +#line 4660 "parser.y" { yyval = cb_int0; } -#line 9641 "parser.c" +#line 9644 "parser.c" break; case 858: /* with_clause: WITH disp_attrs */ -#line 4658 "parser.y" +#line 4661 "parser.y" { yyval = cb_int1; } -#line 9647 "parser.c" +#line 9650 "parser.c" break; case 861: /* disp_attr: BELL */ -#line 4668 "parser.y" +#line 4671 "parser.y" { dispattrs |= COB_SCREEN_BELL; } -#line 9653 "parser.c" +#line 9656 "parser.c" break; case 862: /* disp_attr: BLINK */ -#line 4669 "parser.y" +#line 4672 "parser.y" { dispattrs |= COB_SCREEN_BLINK; } -#line 9659 "parser.c" +#line 9662 "parser.c" break; case 863: /* disp_attr: ERASE EOL */ -#line 4670 "parser.y" +#line 4673 "parser.y" { dispattrs |= COB_SCREEN_ERASE_EOL; } -#line 9665 "parser.c" +#line 9668 "parser.c" break; case 864: /* disp_attr: ERASE EOS */ -#line 4671 "parser.y" +#line 4674 "parser.y" { dispattrs |= COB_SCREEN_ERASE_EOS; } -#line 9671 "parser.c" +#line 9674 "parser.c" break; case 865: /* disp_attr: HIGHLIGHT */ -#line 4672 "parser.y" +#line 4675 "parser.y" { dispattrs |= COB_SCREEN_HIGHLIGHT; } -#line 9677 "parser.c" +#line 9680 "parser.c" break; case 866: /* disp_attr: LOWLIGHT */ -#line 4673 "parser.y" +#line 4676 "parser.y" { dispattrs |= COB_SCREEN_LOWLIGHT; } -#line 9683 "parser.c" +#line 9686 "parser.c" break; case 867: /* disp_attr: "REVERSE-VIDEO" */ -#line 4674 "parser.y" +#line 4677 "parser.y" { dispattrs |= COB_SCREEN_REVERSE; } -#line 9689 "parser.c" +#line 9692 "parser.c" break; case 868: /* disp_attr: UNDERLINE */ -#line 4675 "parser.y" +#line 4678 "parser.y" { dispattrs |= COB_SCREEN_UNDERLINE; } -#line 9695 "parser.c" +#line 9698 "parser.c" break; case 869: /* disp_attr: OVERLINE */ -#line 4676 "parser.y" +#line 4679 "parser.y" { dispattrs |= COB_SCREEN_OVERLINE; } -#line 9701 "parser.c" +#line 9704 "parser.c" break; case 870: /* disp_attr: "FOREGROUND-COLOR" _is num_id_or_lit */ -#line 4678 "parser.y" +#line 4681 "parser.y" { fgc = yyvsp[0]; } -#line 9709 "parser.c" +#line 9712 "parser.c" break; case 871: /* disp_attr: "BACKGROUND-COLOR" _is num_id_or_lit */ -#line 4682 "parser.y" +#line 4685 "parser.y" { bgc = yyvsp[0]; } -#line 9717 "parser.c" +#line 9720 "parser.c" break; case 872: /* disp_attr: SCROLL UP _opt_scroll_lines */ -#line 4686 "parser.y" +#line 4689 "parser.y" { scroll = yyvsp[0]; } -#line 9725 "parser.c" +#line 9728 "parser.c" break; case 873: /* disp_attr: SCROLL DOWN _opt_scroll_lines */ -#line 4690 "parser.y" +#line 4693 "parser.y" { dispattrs |= COB_SCREEN_SCROLL_DOWN; scroll = yyvsp[0]; } -#line 9734 "parser.c" +#line 9737 "parser.c" break; case 874: /* disp_attr: "BLANK-LINE" */ -#line 4694 "parser.y" +#line 4697 "parser.y" { dispattrs |= COB_SCREEN_BLANK_LINE; } -#line 9740 "parser.c" +#line 9743 "parser.c" break; case 875: /* disp_attr: "BLANK-SCREEN" */ -#line 4695 "parser.y" +#line 4698 "parser.y" { dispattrs |= COB_SCREEN_BLANK_SCREEN; } -#line 9746 "parser.c" +#line 9749 "parser.c" break; case 876: /* end_display: %empty */ -#line 4699 "parser.y" +#line 4702 "parser.y" { terminator_warning (TERM_DISPLAY); } -#line 9752 "parser.c" +#line 9755 "parser.c" break; case 877: /* end_display: "END-DISPLAY" */ -#line 4700 "parser.y" +#line 4703 "parser.y" { terminator_clear (TERM_DISPLAY); } -#line 9758 "parser.c" +#line 9761 "parser.c" break; case 878: /* $@51: %empty */ -#line 4709 "parser.y" +#line 4712 "parser.y" { BEGIN_STATEMENT ("DIVIDE", TERM_DIVIDE); } -#line 9764 "parser.c" +#line 9767 "parser.c" break; case 880: /* divide_body: x INTO arithmetic_x_list on_size_error */ -#line 4716 "parser.y" +#line 4719 "parser.y" { cb_emit_arithmetic (yyvsp[-1], '/', yyvsp[-3]); } -#line 9772 "parser.c" +#line 9775 "parser.c" break; case 881: /* divide_body: x INTO x GIVING arithmetic_x_list on_size_error */ -#line 4720 "parser.y" +#line 4723 "parser.y" { cb_emit_arithmetic (yyvsp[-1], 0, cb_build_binary_op (yyvsp[-3], '/', yyvsp[-5])); } -#line 9780 "parser.c" +#line 9783 "parser.c" break; case 882: /* divide_body: x BY x GIVING arithmetic_x_list on_size_error */ -#line 4724 "parser.y" +#line 4727 "parser.y" { cb_emit_arithmetic (yyvsp[-1], 0, cb_build_binary_op (yyvsp[-5], '/', yyvsp[-3])); } -#line 9788 "parser.c" +#line 9791 "parser.c" break; case 883: /* divide_body: x INTO x GIVING arithmetic_x REMAINDER arithmetic_x on_size_error */ -#line 4728 "parser.y" +#line 4731 "parser.y" { cb_emit_divide (yyvsp[-5], yyvsp[-7], yyvsp[-3], yyvsp[-1]); } -#line 9796 "parser.c" +#line 9799 "parser.c" break; case 884: /* divide_body: x BY x GIVING arithmetic_x REMAINDER arithmetic_x on_size_error */ -#line 4732 "parser.y" +#line 4735 "parser.y" { cb_emit_divide (yyvsp[-7], yyvsp[-5], yyvsp[-3], yyvsp[-1]); } -#line 9804 "parser.c" +#line 9807 "parser.c" break; case 885: /* end_divide: %empty */ -#line 4738 "parser.y" +#line 4741 "parser.y" { terminator_warning (TERM_DIVIDE); } -#line 9810 "parser.c" +#line 9813 "parser.c" break; case 886: /* end_divide: "END-DIVIDE" */ -#line 4739 "parser.y" +#line 4742 "parser.y" { terminator_clear (TERM_DIVIDE); } -#line 9816 "parser.c" +#line 9819 "parser.c" break; case 887: /* $@52: %empty */ -#line 4748 "parser.y" +#line 4751 "parser.y" { BEGIN_STATEMENT ("ENTRY", 0); } -#line 9822 "parser.c" +#line 9825 "parser.c" break; case 888: /* entry_statement: ENTRY $@52 "Literal" call_using */ -#line 4750 "parser.y" +#line 4753 "parser.y" { if (current_program->nested_level) { cb_error (_("ENTRY is invalid in nested program")); @@ -9834,11 +9837,11 @@ yyparse (void) } check_unreached = 0; } -#line 9838 "parser.c" +#line 9841 "parser.c" break; case 889: /* $@53: %empty */ -#line 4770 "parser.y" +#line 4773 "parser.y" { BEGIN_STATEMENT ("EVALUATE", TERM_EVALUATE); eval_level++; @@ -9848,37 +9851,37 @@ yyparse (void) eval_inc = 0; eval_inc2 = 0; } -#line 9852 "parser.c" +#line 9855 "parser.c" break; case 890: /* evaluate_statement: EVALUATE $@53 evaluate_subject_list evaluate_condition_list end_evaluate */ -#line 4781 "parser.y" +#line 4784 "parser.y" { cb_emit_evaluate (yyvsp[-2], yyvsp[-1]); eval_level--; } -#line 9861 "parser.c" +#line 9864 "parser.c" break; case 891: /* evaluate_subject_list: evaluate_subject */ -#line 4788 "parser.y" +#line 4791 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 9867 "parser.c" +#line 9870 "parser.c" break; case 892: /* evaluate_subject_list: evaluate_subject_list _also evaluate_subject */ -#line 4791 "parser.y" +#line 4794 "parser.y" { if (!cb_allow_missing_also_clause_in_evaluate && yyvsp[-1] != cb_int1) { cb_error (_("Invalid expression")); } yyval = cb_list_add (yyvsp[-2], yyvsp[0]); } -#line 9878 "parser.c" +#line 9881 "parser.c" break; case 893: /* evaluate_subject: expr */ -#line 4801 "parser.y" +#line 4804 "parser.y" { yyval = yyvsp[0]; if (CB_REFERENCE_P (yyvsp[0])) { @@ -9887,29 +9890,29 @@ yyparse (void) eval_check[eval_level][eval_inc++] = 1; } } -#line 9891 "parser.c" +#line 9894 "parser.c" break; case 894: /* evaluate_subject: "TRUE" */ -#line 4810 "parser.y" +#line 4813 "parser.y" { yyval = cb_true; eval_check[eval_level][eval_inc++] = 2; } -#line 9900 "parser.c" +#line 9903 "parser.c" break; case 895: /* evaluate_subject: "FALSE" */ -#line 4815 "parser.y" +#line 4818 "parser.y" { yyval = cb_false; eval_check[eval_level][eval_inc++] = 3; } -#line 9909 "parser.c" +#line 9912 "parser.c" break; case 896: /* evaluate_condition_list: evaluate_case_list evaluate_other */ -#line 4823 "parser.y" +#line 4826 "parser.y" { yyval = yyvsp[-1]; if (yyvsp[0]) { @@ -9935,31 +9938,31 @@ yyparse (void) yyval = cb_list_add (yyval, yyvsp[0]); } } -#line 9939 "parser.c" +#line 9942 "parser.c" break; case 897: /* evaluate_case_list: evaluate_case */ -#line 4851 "parser.y" +#line 4854 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 9945 "parser.c" +#line 9948 "parser.c" break; case 898: /* evaluate_case_list: evaluate_case_list evaluate_case */ -#line 4853 "parser.y" +#line 4856 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 9951 "parser.c" +#line 9954 "parser.c" break; case 899: /* $@54: %empty */ -#line 4858 "parser.y" +#line 4861 "parser.y" { check_unreached = 0; } -#line 9959 "parser.c" +#line 9962 "parser.c" break; case 900: /* evaluate_case: evaluate_when_list $@54 statement_list */ -#line 4862 "parser.y" +#line 4865 "parser.y" { if (!cb_allow_empty_imperative_statement && yyvsp[0] == NULL) { cb_error (_("syntax error")); @@ -9967,27 +9970,27 @@ yyparse (void) yyval = cb_cons (yyvsp[0], yyvsp[-2]); eval_inc2 = 0; } -#line 9971 "parser.c" +#line 9974 "parser.c" break; case 901: /* evaluate_other: %empty */ -#line 4873 "parser.y" +#line 4876 "parser.y" { yyval = NULL; } -#line 9979 "parser.c" +#line 9982 "parser.c" break; case 902: /* $@55: %empty */ -#line 4877 "parser.y" +#line 4880 "parser.y" { check_unreached = 0; } -#line 9987 "parser.c" +#line 9990 "parser.c" break; case 903: /* evaluate_other: "WHEN OTHER" $@55 statement_list */ -#line 4881 "parser.y" +#line 4884 "parser.y" { if (!cb_allow_empty_imperative_statement && yyvsp[0] == NULL) { cb_error (_("syntax error")); @@ -9995,40 +9998,40 @@ yyparse (void) yyval = cb_cons (yyvsp[0], NULL); eval_inc2 = 0; } -#line 9999 "parser.c" +#line 10002 "parser.c" break; case 904: /* evaluate_when_list: WHEN evaluate_object_list */ -#line 4891 "parser.y" +#line 4894 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 10005 "parser.c" +#line 10008 "parser.c" break; case 905: /* evaluate_when_list: evaluate_when_list WHEN evaluate_object_list */ -#line 4893 "parser.y" +#line 4896 "parser.y" { yyval = cb_list_add (yyvsp[-2], yyvsp[0]); } -#line 10011 "parser.c" +#line 10014 "parser.c" break; case 906: /* evaluate_object_list: evaluate_object */ -#line 4897 "parser.y" +#line 4900 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 10017 "parser.c" +#line 10020 "parser.c" break; case 907: /* evaluate_object_list: evaluate_object_list _also evaluate_object */ -#line 4900 "parser.y" +#line 4903 "parser.y" { if (!cb_allow_missing_also_clause_in_evaluate && yyvsp[-1] != cb_int1) { cb_error (_("Invalid expression")); } yyval = cb_list_add (yyvsp[-2], yyvsp[0]); } -#line 10028 "parser.c" +#line 10031 "parser.c" break; case 908: /* evaluate_object: partial_expr opt_evaluate_thru_expr */ -#line 4910 "parser.y" +#line 4913 "parser.y" { cb_tree not; cb_tree e1; @@ -10057,65 +10060,65 @@ yyparse (void) eval_inc2++; } } -#line 10061 "parser.c" +#line 10064 "parser.c" break; case 909: /* evaluate_object: ANY */ -#line 4938 "parser.y" +#line 4941 "parser.y" { yyval = cb_any; eval_inc2++; } -#line 10067 "parser.c" +#line 10070 "parser.c" break; case 910: /* evaluate_object: "TRUE" */ -#line 4939 "parser.y" +#line 4942 "parser.y" { yyval = cb_true; eval_inc2++; } -#line 10073 "parser.c" +#line 10076 "parser.c" break; case 911: /* evaluate_object: "FALSE" */ -#line 4940 "parser.y" +#line 4943 "parser.y" { yyval = cb_false; eval_inc2++; } -#line 10079 "parser.c" +#line 10082 "parser.c" break; case 912: /* opt_evaluate_thru_expr: %empty */ -#line 4943 "parser.y" +#line 4946 "parser.y" { yyval = NULL; } -#line 10085 "parser.c" +#line 10088 "parser.c" break; case 913: /* opt_evaluate_thru_expr: THRU expr */ -#line 4944 "parser.y" +#line 4947 "parser.y" { yyval = yyvsp[0]; } -#line 10091 "parser.c" +#line 10094 "parser.c" break; case 914: /* end_evaluate: %empty */ -#line 4948 "parser.y" +#line 4951 "parser.y" { terminator_warning (TERM_EVALUATE); } -#line 10097 "parser.c" +#line 10100 "parser.c" break; case 915: /* end_evaluate: "END-EVALUATE" */ -#line 4949 "parser.y" +#line 4952 "parser.y" { terminator_clear (TERM_EVALUATE); } -#line 10103 "parser.c" +#line 10106 "parser.c" break; case 916: /* $@56: %empty */ -#line 4958 "parser.y" +#line 4961 "parser.y" { BEGIN_STATEMENT ("EXIT", 0); } -#line 10109 "parser.c" +#line 10112 "parser.c" break; case 918: /* exit_body: %empty */ -#line 4963 "parser.y" +#line 4966 "parser.y" { /* nothing */ } -#line 10115 "parser.c" +#line 10118 "parser.c" break; case 919: /* exit_body: PROGRAM */ -#line 4965 "parser.y" +#line 4968 "parser.y" { if (in_declaratives && use_global_ind) { cb_error (_("EXIT PROGRAM is not allowed within a USE GLOBAL procedure")); @@ -10123,11 +10126,11 @@ yyparse (void) check_unreached = 1; cb_emit_exit (0); } -#line 10127 "parser.c" +#line 10130 "parser.c" break; case 920: /* exit_body: PERFORM */ -#line 4973 "parser.y" +#line 4976 "parser.y" { if (!perform_stack) { cb_error (_("EXIT PERFORM is only valid with inline PERFORM")); @@ -10135,11 +10138,11 @@ yyparse (void) cb_emit_java_break (); } } -#line 10139 "parser.c" +#line 10142 "parser.c" break; case 921: /* exit_body: PERFORM CYCLE */ -#line 4981 "parser.y" +#line 4984 "parser.y" { if (!perform_stack) { cb_error (_("EXIT PERFORM is only valid with inline PERFORM")); @@ -10147,11 +10150,11 @@ yyparse (void) cb_emit_java_continue (); } } -#line 10151 "parser.c" +#line 10154 "parser.c" break; case 922: /* exit_body: SECTION */ -#line 4989 "parser.y" +#line 4992 "parser.y" { cb_tree plabel; char name[64]; @@ -10169,11 +10172,11 @@ yyparse (void) cb_emit_goto (cb_list_init (current_section->exit_label_ref), NULL); } } -#line 10173 "parser.c" +#line 10176 "parser.c" break; case 923: /* exit_body: PARAGRAPH */ -#line 5007 "parser.y" +#line 5010 "parser.y" { cb_tree plabel; char name[64]; @@ -10191,461 +10194,461 @@ yyparse (void) cb_emit_goto (cb_list_init (current_paragraph->exit_label_ref), NULL); } } -#line 10195 "parser.c" +#line 10198 "parser.c" break; case 924: /* $@57: %empty */ -#line 5031 "parser.y" +#line 5034 "parser.y" { BEGIN_STATEMENT ("FREE", 0); } -#line 10201 "parser.c" +#line 10204 "parser.c" break; case 925: /* free_statement: FREE $@57 target_x_list */ -#line 5033 "parser.y" +#line 5036 "parser.y" { cb_emit_free (yyvsp[0]); } -#line 10209 "parser.c" +#line 10212 "parser.c" break; case 926: /* $@58: %empty */ -#line 5044 "parser.y" +#line 5047 "parser.y" { BEGIN_STATEMENT ("GENERATE", 0); } -#line 10215 "parser.c" +#line 10218 "parser.c" break; case 927: /* generate_statement: GENERATE $@58 identifier */ -#line 5046 "parser.y" +#line 5049 "parser.y" { PENDING("GENERATE"); } -#line 10223 "parser.c" +#line 10226 "parser.c" break; case 928: /* $@59: %empty */ -#line 5057 "parser.y" +#line 5060 "parser.y" { BEGIN_STATEMENT ("GO TO", 0); } -#line 10229 "parser.c" +#line 10232 "parser.c" break; case 929: /* goto_statement: GO _to $@59 procedure_name_list goto_depending */ -#line 5059 "parser.y" +#line 5062 "parser.y" { cb_emit_goto (yyvsp[-1], yyvsp[0]); } -#line 10237 "parser.c" +#line 10240 "parser.c" break; case 930: /* goto_depending: %empty */ -#line 5066 "parser.y" +#line 5069 "parser.y" { check_unreached = 1; yyval = NULL; } -#line 10246 "parser.c" +#line 10249 "parser.c" break; case 931: /* goto_depending: DEPENDING _on identifier */ -#line 5071 "parser.y" +#line 5074 "parser.y" { check_unreached = 0; yyval = yyvsp[0]; } -#line 10255 "parser.c" +#line 10258 "parser.c" break; case 932: /* $@60: %empty */ -#line 5083 "parser.y" +#line 5086 "parser.y" { BEGIN_STATEMENT ("GOBACK", 0); } -#line 10261 "parser.c" +#line 10264 "parser.c" break; case 933: /* goback_statement: GOBACK $@60 */ -#line 5084 "parser.y" +#line 5087 "parser.y" { check_unreached = 1; cb_emit_exit (1); } -#line 10270 "parser.c" +#line 10273 "parser.c" break; case 934: /* $@61: %empty */ -#line 5096 "parser.y" +#line 5099 "parser.y" { BEGIN_STATEMENT ("IF", TERM_IF); } -#line 10276 "parser.c" +#line 10279 "parser.c" break; case 935: /* $@62: %empty */ -#line 5098 "parser.y" +#line 5101 "parser.y" { check_unreached = 0; } -#line 10284 "parser.c" +#line 10287 "parser.c" break; case 936: /* if_statement: IF $@61 condition _then $@62 statement_list if_else_sentence end_if */ -#line 5103 "parser.y" +#line 5106 "parser.y" { if (!cb_allow_empty_imperative_statement && yyvsp[-2] == NULL) { cb_error (_("syntax error")); } cb_emit_if (yyvsp[-5], yyvsp[-2], yyvsp[-1]); } -#line 10295 "parser.c" +#line 10298 "parser.c" break; case 938: /* if_else_sentence: %empty */ -#line 5114 "parser.y" +#line 5117 "parser.y" { yyval = NULL; } -#line 10303 "parser.c" +#line 10306 "parser.c" break; case 939: /* $@63: %empty */ -#line 5118 "parser.y" +#line 5121 "parser.y" { check_unreached = 0; } -#line 10311 "parser.c" +#line 10314 "parser.c" break; case 940: /* if_else_sentence: ELSE $@63 statement_list */ -#line 5122 "parser.y" +#line 5125 "parser.y" { if (!cb_allow_empty_imperative_statement && yyvsp[0] == NULL) { cb_error (_("syntax error")); } yyval = yyvsp[0]; } -#line 10322 "parser.c" +#line 10325 "parser.c" break; case 941: /* end_if: %empty */ -#line 5131 "parser.y" +#line 5134 "parser.y" { terminator_warning (TERM_IF); } -#line 10328 "parser.c" +#line 10331 "parser.c" break; case 942: /* end_if: "END-IF" */ -#line 5132 "parser.y" +#line 5135 "parser.y" { terminator_clear (TERM_IF); } -#line 10334 "parser.c" +#line 10337 "parser.c" break; case 943: /* $@64: %empty */ -#line 5141 "parser.y" +#line 5144 "parser.y" { BEGIN_STATEMENT ("INITIALIZE", 0); } -#line 10340 "parser.c" +#line 10343 "parser.c" break; case 944: /* initialize_statement: INITIALIZE $@64 target_x_list initialize_filler initialize_value initialize_replacing initialize_default */ -#line 5143 "parser.y" +#line 5146 "parser.y" { cb_emit_initialize (yyvsp[-4], yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); } -#line 10348 "parser.c" +#line 10351 "parser.c" break; case 945: /* initialize_filler: %empty */ -#line 5149 "parser.y" +#line 5152 "parser.y" { yyval = NULL; } -#line 10354 "parser.c" +#line 10357 "parser.c" break; case 946: /* initialize_filler: _with FILLER */ -#line 5150 "parser.y" +#line 5153 "parser.y" { yyval = cb_true; } -#line 10360 "parser.c" +#line 10363 "parser.c" break; case 947: /* initialize_value: %empty */ -#line 5154 "parser.y" +#line 5157 "parser.y" { yyval = NULL; } -#line 10366 "parser.c" +#line 10369 "parser.c" break; case 948: /* initialize_value: ALL _to VALUE */ -#line 5155 "parser.y" +#line 5158 "parser.y" { yyval = cb_true; } -#line 10372 "parser.c" +#line 10375 "parser.c" break; case 949: /* initialize_value: initialize_category _to VALUE */ -#line 5156 "parser.y" +#line 5159 "parser.y" { yyval = yyvsp[-2]; } -#line 10378 "parser.c" +#line 10381 "parser.c" break; case 950: /* initialize_replacing: %empty */ -#line 5160 "parser.y" +#line 5163 "parser.y" { yyval = NULL; } -#line 10384 "parser.c" +#line 10387 "parser.c" break; case 951: /* initialize_replacing: REPLACING initialize_replacing_list */ -#line 5162 "parser.y" +#line 5165 "parser.y" { yyval = yyvsp[0]; } -#line 10390 "parser.c" +#line 10393 "parser.c" break; case 952: /* initialize_replacing_list: initialize_replacing_item */ -#line 5166 "parser.y" +#line 5169 "parser.y" { yyval = yyvsp[0]; } -#line 10396 "parser.c" +#line 10399 "parser.c" break; case 953: /* initialize_replacing_list: initialize_replacing_list initialize_replacing_item */ -#line 5168 "parser.y" +#line 5171 "parser.y" { yyval = cb_list_append (yyvsp[-1], yyvsp[0]); } -#line 10402 "parser.c" +#line 10405 "parser.c" break; case 954: /* initialize_replacing_item: initialize_category _data BY x */ -#line 5172 "parser.y" +#line 5175 "parser.y" { yyval = cb_build_pair (yyvsp[-3], yyvsp[0]); } -#line 10408 "parser.c" +#line 10411 "parser.c" break; case 955: /* initialize_category: ALPHABETIC */ -#line 5176 "parser.y" +#line 5179 "parser.y" { yyval = cb_int (CB_CATEGORY_ALPHABETIC); } -#line 10414 "parser.c" +#line 10417 "parser.c" break; case 956: /* initialize_category: ALPHANUMERIC */ -#line 5177 "parser.y" +#line 5180 "parser.y" { yyval = cb_int (CB_CATEGORY_ALPHANUMERIC); } -#line 10420 "parser.c" +#line 10423 "parser.c" break; case 957: /* initialize_category: NUMERIC */ -#line 5178 "parser.y" +#line 5181 "parser.y" { yyval = cb_int (CB_CATEGORY_NUMERIC); } -#line 10426 "parser.c" +#line 10429 "parser.c" break; case 958: /* initialize_category: "ALPHANUMERIC-EDITED" */ -#line 5179 "parser.y" +#line 5182 "parser.y" { yyval = cb_int (CB_CATEGORY_ALPHANUMERIC_EDITED); } -#line 10432 "parser.c" +#line 10435 "parser.c" break; case 959: /* initialize_category: "NUMERIC-EDITED" */ -#line 5180 "parser.y" +#line 5183 "parser.y" { yyval = cb_int (CB_CATEGORY_NUMERIC_EDITED); } -#line 10438 "parser.c" +#line 10441 "parser.c" break; case 960: /* initialize_category: NATIONAL */ -#line 5181 "parser.y" +#line 5184 "parser.y" { yyval = cb_int (CB_CATEGORY_NATIONAL); } -#line 10444 "parser.c" +#line 10447 "parser.c" break; case 961: /* initialize_category: "NATIONAL-EDITED" */ -#line 5182 "parser.y" +#line 5185 "parser.y" { yyval = cb_int (CB_CATEGORY_NATIONAL_EDITED); } -#line 10450 "parser.c" +#line 10453 "parser.c" break; case 962: /* initialize_default: %empty */ -#line 5186 "parser.y" +#line 5189 "parser.y" { yyval = NULL; } -#line 10456 "parser.c" +#line 10459 "parser.c" break; case 963: /* initialize_default: DEFAULT */ -#line 5187 "parser.y" +#line 5190 "parser.y" { yyval = cb_true; } -#line 10462 "parser.c" +#line 10465 "parser.c" break; case 964: /* $@65: %empty */ -#line 5196 "parser.y" +#line 5199 "parser.y" { BEGIN_STATEMENT ("INITIATE", 0); } -#line 10468 "parser.c" +#line 10471 "parser.c" break; case 965: /* initiate_statement: INITIATE $@65 identifier_list */ -#line 5198 "parser.y" +#line 5201 "parser.y" { PENDING("INITIATE"); } -#line 10476 "parser.c" +#line 10479 "parser.c" break; case 966: /* $@66: %empty */ -#line 5209 "parser.y" +#line 5212 "parser.y" { BEGIN_STATEMENT ("INSPECT", 0); sending_id = 0; inspect_keyword = 0; } -#line 10486 "parser.c" +#line 10489 "parser.c" break; case 968: /* send_identifier: identifier */ -#line 5218 "parser.y" +#line 5221 "parser.y" { save_tree_1 = yyvsp[0]; sending_id = 0; } -#line 10492 "parser.c" +#line 10495 "parser.c" break; case 969: /* send_identifier: literal */ -#line 5219 "parser.y" +#line 5222 "parser.y" { save_tree_1 = yyvsp[0]; sending_id = 1; } -#line 10498 "parser.c" +#line 10501 "parser.c" break; case 970: /* send_identifier: function */ -#line 5220 "parser.y" +#line 5223 "parser.y" { save_tree_1 = yyvsp[0]; sending_id = 1; } -#line 10504 "parser.c" +#line 10507 "parser.c" break; case 973: /* inspect_item: inspect_tallying */ -#line 5229 "parser.y" +#line 5232 "parser.y" { cb_emit_inspect (save_tree_1, yyvsp[0], cb_int0, 0); } -#line 10510 "parser.c" +#line 10513 "parser.c" break; case 974: /* inspect_item: inspect_replacing */ -#line 5230 "parser.y" +#line 5233 "parser.y" { cb_emit_inspect (save_tree_1, yyvsp[0], cb_int1, 1); } -#line 10516 "parser.c" +#line 10519 "parser.c" break; case 975: /* inspect_item: inspect_converting */ -#line 5231 "parser.y" +#line 5234 "parser.y" { cb_emit_inspect (save_tree_1, yyvsp[0], cb_int0, 2); } -#line 10522 "parser.c" +#line 10525 "parser.c" break; case 976: /* $@67: %empty */ -#line 5237 "parser.y" +#line 5240 "parser.y" { cb_init_tarrying (); } -#line 10528 "parser.c" +#line 10531 "parser.c" break; case 977: /* inspect_tallying: TALLYING $@67 tallying_list */ -#line 5238 "parser.y" +#line 5241 "parser.y" { yyval = yyvsp[0]; } -#line 10534 "parser.c" +#line 10537 "parser.c" break; case 978: /* tallying_list: tallying_item */ -#line 5242 "parser.y" +#line 5245 "parser.y" { yyval = yyvsp[0]; } -#line 10540 "parser.c" +#line 10543 "parser.c" break; case 979: /* tallying_list: tallying_list tallying_item */ -#line 5243 "parser.y" +#line 5246 "parser.y" { yyval = cb_list_append (yyvsp[-1], yyvsp[0]); } -#line 10546 "parser.c" +#line 10549 "parser.c" break; case 980: /* tallying_item: simple_value FOR */ -#line 5247 "parser.y" +#line 5250 "parser.y" { yyval = cb_build_tarrying_data (yyvsp[-1]); } -#line 10552 "parser.c" +#line 10555 "parser.c" break; case 981: /* tallying_item: CHARACTERS inspect_region */ -#line 5248 "parser.y" +#line 5251 "parser.y" { yyval = cb_build_tarrying_characters (yyvsp[0]); } -#line 10558 "parser.c" +#line 10561 "parser.c" break; case 982: /* tallying_item: ALL */ -#line 5249 "parser.y" +#line 5252 "parser.y" { yyval = cb_build_tarrying_all (); } -#line 10564 "parser.c" +#line 10567 "parser.c" break; case 983: /* tallying_item: LEADING */ -#line 5250 "parser.y" +#line 5253 "parser.y" { yyval = cb_build_tarrying_leading (); } -#line 10570 "parser.c" +#line 10573 "parser.c" break; case 984: /* tallying_item: TRAILING */ -#line 5251 "parser.y" +#line 5254 "parser.y" { yyval = cb_build_tarrying_trailing (); } -#line 10576 "parser.c" +#line 10579 "parser.c" break; case 985: /* tallying_item: simple_value inspect_region */ -#line 5252 "parser.y" +#line 5255 "parser.y" { yyval = cb_build_tarrying_value (yyvsp[-1], yyvsp[0]); } -#line 10582 "parser.c" +#line 10585 "parser.c" break; case 986: /* inspect_replacing: REPLACING replacing_list */ -#line 5258 "parser.y" +#line 5261 "parser.y" { yyval = yyvsp[0]; inspect_keyword = 0; } -#line 10588 "parser.c" +#line 10591 "parser.c" break; case 987: /* replacing_list: replacing_item */ -#line 5262 "parser.y" +#line 5265 "parser.y" { yyval = yyvsp[0]; } -#line 10594 "parser.c" +#line 10597 "parser.c" break; case 988: /* replacing_list: replacing_list replacing_item */ -#line 5263 "parser.y" +#line 5266 "parser.y" { yyval = cb_list_append (yyvsp[-1], yyvsp[0]); } -#line 10600 "parser.c" +#line 10603 "parser.c" break; case 989: /* replacing_item: CHARACTERS BY simple_value inspect_region */ -#line 5268 "parser.y" +#line 5271 "parser.y" { yyval = cb_build_replacing_characters (yyvsp[-1], yyvsp[0], save_tree_1); inspect_keyword = 0; } -#line 10609 "parser.c" +#line 10612 "parser.c" break; case 990: /* replacing_item: rep_keyword replacing_region */ -#line 5272 "parser.y" +#line 5275 "parser.y" { yyval = yyvsp[0]; } -#line 10615 "parser.c" +#line 10618 "parser.c" break; case 991: /* rep_keyword: %empty */ -#line 5276 "parser.y" +#line 5279 "parser.y" { /* Nothing */ } -#line 10621 "parser.c" +#line 10624 "parser.c" break; case 992: /* rep_keyword: ALL */ -#line 5277 "parser.y" +#line 5280 "parser.y" { inspect_keyword = 1; } -#line 10627 "parser.c" +#line 10630 "parser.c" break; case 993: /* rep_keyword: LEADING */ -#line 5278 "parser.y" +#line 5281 "parser.y" { inspect_keyword = 2; } -#line 10633 "parser.c" +#line 10636 "parser.c" break; case 994: /* rep_keyword: FIRST */ -#line 5279 "parser.y" +#line 5282 "parser.y" { inspect_keyword = 3; } -#line 10639 "parser.c" +#line 10642 "parser.c" break; case 995: /* rep_keyword: TRAILING */ -#line 5280 "parser.y" +#line 5283 "parser.y" { inspect_keyword = 4; } -#line 10645 "parser.c" +#line 10648 "parser.c" break; case 996: /* replacing_region: simple_value BY simple_all_value inspect_region */ -#line 5285 "parser.y" +#line 5288 "parser.y" { switch (inspect_keyword) { case 1: @@ -10666,11 +10669,11 @@ yyparse (void) break; } } -#line 10670 "parser.c" +#line 10673 "parser.c" break; case 997: /* inspect_converting: CONVERTING simple_value TO simple_all_value inspect_region */ -#line 5311 "parser.y" +#line 5314 "parser.y" { if (cb_validate_inspect (save_tree_1, yyvsp[-3], yyvsp[-1]) < 0 ) { yyval = cb_error_node; @@ -10678,91 +10681,91 @@ yyparse (void) yyval = cb_build_converting (yyvsp[-3], yyvsp[-1], yyvsp[0]); } } -#line 10682 "parser.c" +#line 10685 "parser.c" break; case 998: /* inspect_region: %empty */ -#line 5323 "parser.y" +#line 5326 "parser.y" { yyval = cb_build_inspect_region_start (); } -#line 10688 "parser.c" +#line 10691 "parser.c" break; case 999: /* inspect_region: inspect_region before_or_after _initial x */ -#line 5325 "parser.y" +#line 5328 "parser.y" { yyval = cb_build_inspect_region (yyvsp[-3], yyvsp[-2], yyvsp[0]); } -#line 10694 "parser.c" +#line 10697 "parser.c" break; case 1002: /* $@68: %empty */ -#line 5336 "parser.y" +#line 5339 "parser.y" { BEGIN_STATEMENT ("MERGE", 0); } -#line 10700 "parser.c" +#line 10703 "parser.c" break; case 1004: /* $@69: %empty */ -#line 5346 "parser.y" +#line 5349 "parser.y" { BEGIN_STATEMENT ("MOVE", 0); } -#line 10706 "parser.c" +#line 10709 "parser.c" break; case 1006: /* move_body: x TO target_x_list */ -#line 5352 "parser.y" +#line 5355 "parser.y" { cb_emit_move (yyvsp[-2], yyvsp[0]); } -#line 10714 "parser.c" +#line 10717 "parser.c" break; case 1007: /* move_body: CORRESPONDING x TO target_x_list */ -#line 5356 "parser.y" +#line 5359 "parser.y" { cb_emit_move_corresponding (yyvsp[-2], yyvsp[0]); } -#line 10722 "parser.c" +#line 10725 "parser.c" break; case 1008: /* $@70: %empty */ -#line 5367 "parser.y" +#line 5370 "parser.y" { BEGIN_STATEMENT ("MULTIPLY", TERM_MULTIPLY); } -#line 10728 "parser.c" +#line 10731 "parser.c" break; case 1010: /* multiply_body: x BY arithmetic_x_list on_size_error */ -#line 5374 "parser.y" +#line 5377 "parser.y" { cb_emit_arithmetic (yyvsp[-1], '*', yyvsp[-3]); } -#line 10736 "parser.c" +#line 10739 "parser.c" break; case 1011: /* multiply_body: x BY x GIVING arithmetic_x_list on_size_error */ -#line 5378 "parser.y" +#line 5381 "parser.y" { cb_emit_arithmetic (yyvsp[-1], 0, cb_build_binary_op (yyvsp[-5], '*', yyvsp[-3])); } -#line 10744 "parser.c" +#line 10747 "parser.c" break; case 1012: /* end_multiply: %empty */ -#line 5384 "parser.y" +#line 5387 "parser.y" { terminator_warning (TERM_MULTIPLY); } -#line 10750 "parser.c" +#line 10753 "parser.c" break; case 1013: /* end_multiply: "END-MULTIPLY" */ -#line 5385 "parser.y" +#line 5388 "parser.y" { terminator_clear (TERM_MULTIPLY); } -#line 10756 "parser.c" +#line 10759 "parser.c" break; case 1014: /* $@71: %empty */ -#line 5394 "parser.y" +#line 5397 "parser.y" { BEGIN_STATEMENT ("OPEN", 0); } -#line 10762 "parser.c" +#line 10765 "parser.c" break; case 1017: /* open_list: open_list open_mode open_sharing file_name_list open_option */ -#line 5401 "parser.y" +#line 5404 "parser.y" { cb_tree l; for (l = yyvsp[-1]; l; l = CB_CHAIN (l)) { @@ -10772,217 +10775,217 @@ yyparse (void) } } } -#line 10776 "parser.c" +#line 10779 "parser.c" break; case 1018: /* open_mode: INPUT */ -#line 5413 "parser.y" +#line 5416 "parser.y" { yyval = cb_int (COB_OPEN_INPUT); } -#line 10782 "parser.c" +#line 10785 "parser.c" break; case 1019: /* open_mode: OUTPUT */ -#line 5414 "parser.y" +#line 5417 "parser.y" { yyval = cb_int (COB_OPEN_OUTPUT); } -#line 10788 "parser.c" +#line 10791 "parser.c" break; case 1020: /* open_mode: "I-O" */ -#line 5415 "parser.y" +#line 5418 "parser.y" { yyval = cb_int (COB_OPEN_I_O); } -#line 10794 "parser.c" +#line 10797 "parser.c" break; case 1021: /* open_mode: EXTEND */ -#line 5416 "parser.y" +#line 5419 "parser.y" { yyval = cb_int (COB_OPEN_EXTEND); } -#line 10800 "parser.c" +#line 10803 "parser.c" break; case 1022: /* open_sharing: %empty */ -#line 5420 "parser.y" +#line 5423 "parser.y" { yyval = NULL; } -#line 10806 "parser.c" +#line 10809 "parser.c" break; case 1023: /* open_sharing: SHARING _with sharing_option */ -#line 5421 "parser.y" +#line 5424 "parser.y" { yyval = yyvsp[0]; } -#line 10812 "parser.c" +#line 10815 "parser.c" break; case 1024: /* open_option: %empty */ -#line 5425 "parser.y" +#line 5428 "parser.y" { yyval = NULL; } -#line 10818 "parser.c" +#line 10821 "parser.c" break; case 1025: /* open_option: _with NO REWIND */ -#line 5426 "parser.y" +#line 5429 "parser.y" { yyval = NULL; } -#line 10824 "parser.c" +#line 10827 "parser.c" break; case 1026: /* open_option: _with LOCK */ -#line 5427 "parser.y" +#line 5430 "parser.y" { PENDING ("OPEN ... WITH LOCK"); } -#line 10830 "parser.c" +#line 10833 "parser.c" break; case 1027: /* $@72: %empty */ -#line 5439 "parser.y" +#line 5442 "parser.y" { BEGIN_STATEMENT ("PERFORM", TERM_PERFORM); } -#line 10836 "parser.c" +#line 10839 "parser.c" break; case 1029: /* perform_body: perform_procedure perform_option */ -#line 5445 "parser.y" +#line 5448 "parser.y" { cb_emit_perform (yyvsp[0], yyvsp[-1]); } -#line 10844 "parser.c" +#line 10847 "parser.c" break; case 1030: /* $@73: %empty */ -#line 5449 "parser.y" +#line 5452 "parser.y" { perform_stack = cb_cons (yyvsp[0], perform_stack); check_unreached = 0; } -#line 10853 "parser.c" +#line 10856 "parser.c" break; case 1031: /* perform_body: perform_option $@73 statement_list end_perform */ -#line 5454 "parser.y" +#line 5457 "parser.y" { perform_stack = CB_CHAIN (perform_stack); cb_emit_perform (yyvsp[-3], yyvsp[-1]); } -#line 10862 "parser.c" +#line 10865 "parser.c" break; case 1032: /* perform_body: perform_option "END-PERFORM" */ -#line 5459 "parser.y" +#line 5462 "parser.y" { cb_emit_perform (yyvsp[-1], NULL); } -#line 10870 "parser.c" +#line 10873 "parser.c" break; case 1033: /* end_perform: %empty */ -#line 5465 "parser.y" +#line 5468 "parser.y" { terminator_error (); } -#line 10876 "parser.c" +#line 10879 "parser.c" break; case 1034: /* end_perform: "END-PERFORM" */ -#line 5466 "parser.y" +#line 5469 "parser.y" { terminator_clear (TERM_PERFORM); } -#line 10882 "parser.c" +#line 10885 "parser.c" break; case 1035: /* perform_procedure: procedure_name */ -#line 5471 "parser.y" +#line 5474 "parser.y" { CB_REFERENCE (yyvsp[0])->length = cb_true; /* return from $1 */ yyval = cb_build_pair (yyvsp[0], yyvsp[0]); } -#line 10891 "parser.c" +#line 10894 "parser.c" break; case 1036: /* perform_procedure: procedure_name THRU procedure_name */ -#line 5476 "parser.y" +#line 5479 "parser.y" { CB_REFERENCE (yyvsp[0])->length = cb_true; /* return from $3 */ yyval = cb_build_pair (yyvsp[-2], yyvsp[0]); } -#line 10900 "parser.c" +#line 10903 "parser.c" break; case 1037: /* perform_option: %empty */ -#line 5484 "parser.y" +#line 5487 "parser.y" { yyval = cb_build_perform_once (NULL); } -#line 10908 "parser.c" +#line 10911 "parser.c" break; case 1038: /* perform_option: FOREVER */ -#line 5488 "parser.y" +#line 5491 "parser.y" { yyval = cb_build_perform_forever (NULL); } -#line 10916 "parser.c" +#line 10919 "parser.c" break; case 1039: /* perform_option: id_or_lit_or_func TIMES */ -#line 5492 "parser.y" +#line 5495 "parser.y" { yyval = cb_build_perform_times (yyvsp[-1]); current_program->loop_counter++; } -#line 10925 "parser.c" +#line 10928 "parser.c" break; case 1040: /* perform_option: perform_test UNTIL condition */ -#line 5497 "parser.y" +#line 5500 "parser.y" { cb_tree varying; varying = cb_list_init (cb_build_perform_varying (NULL, NULL, NULL, yyvsp[0])); yyval = cb_build_perform_until (yyvsp[-2], varying); } -#line 10936 "parser.c" +#line 10939 "parser.c" break; case 1041: /* perform_option: perform_test VARYING perform_varying_list */ -#line 5504 "parser.y" +#line 5507 "parser.y" { yyval = cb_build_perform_until (yyvsp[-2], yyvsp[0]); } -#line 10944 "parser.c" +#line 10947 "parser.c" break; case 1042: /* perform_test: %empty */ -#line 5510 "parser.y" +#line 5513 "parser.y" { yyval = CB_BEFORE; } -#line 10950 "parser.c" +#line 10953 "parser.c" break; case 1043: /* perform_test: _with TEST before_or_after */ -#line 5511 "parser.y" +#line 5514 "parser.y" { yyval = yyvsp[0]; } -#line 10956 "parser.c" +#line 10959 "parser.c" break; case 1044: /* perform_varying_list: perform_varying */ -#line 5515 "parser.y" +#line 5518 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 10962 "parser.c" +#line 10965 "parser.c" break; case 1045: /* perform_varying_list: perform_varying_list AFTER perform_varying */ -#line 5517 "parser.y" +#line 5520 "parser.y" { yyval = cb_list_add (yyvsp[-2], yyvsp[0]); } -#line 10968 "parser.c" +#line 10971 "parser.c" break; case 1046: /* perform_varying: identifier FROM x BY x UNTIL condition */ -#line 5522 "parser.y" +#line 5525 "parser.y" { yyval = cb_build_perform_varying (yyvsp[-6], yyvsp[-4], yyvsp[-2], yyvsp[0]); } -#line 10976 "parser.c" +#line 10979 "parser.c" break; case 1047: /* $@74: %empty */ -#line 5533 "parser.y" +#line 5536 "parser.y" { BEGIN_STATEMENT ("READ", TERM_READ); } -#line 10982 "parser.c" +#line 10985 "parser.c" break; case 1048: /* read_statement: READ $@74 file_name flag_next _record read_into with_lock read_key read_handler end_read */ -#line 5536 "parser.y" +#line 5539 "parser.y" { if (yyvsp[-7] != cb_error_node) { if (cb_use_invalidkey_handler_on_status34 && @@ -11006,75 +11009,75 @@ yyparse (void) } } } -#line 11010 "parser.c" +#line 11013 "parser.c" break; case 1049: /* read_into: %empty */ -#line 5562 "parser.y" +#line 5565 "parser.y" { yyval = NULL; } -#line 11016 "parser.c" +#line 11019 "parser.c" break; case 1050: /* read_into: INTO identifier */ -#line 5563 "parser.y" +#line 5566 "parser.y" { yyval = yyvsp[0]; } -#line 11022 "parser.c" +#line 11025 "parser.c" break; case 1051: /* with_lock: %empty */ -#line 5567 "parser.y" +#line 5570 "parser.y" { yyval = NULL; } -#line 11028 "parser.c" +#line 11031 "parser.c" break; case 1052: /* with_lock: IGNORING LOCK */ -#line 5569 "parser.y" +#line 5572 "parser.y" { yyval = cb_int3; } -#line 11036 "parser.c" +#line 11039 "parser.c" break; case 1053: /* with_lock: _with LOCK */ -#line 5573 "parser.y" +#line 5576 "parser.y" { yyval = cb_int1; } -#line 11044 "parser.c" +#line 11047 "parser.c" break; case 1054: /* with_lock: _with NO LOCK */ -#line 5577 "parser.y" +#line 5580 "parser.y" { yyval = cb_int2; } -#line 11052 "parser.c" +#line 11055 "parser.c" break; case 1055: /* with_lock: _with IGNORE LOCK */ -#line 5581 "parser.y" +#line 5584 "parser.y" { yyval = cb_int3; } -#line 11060 "parser.c" +#line 11063 "parser.c" break; case 1056: /* with_lock: _with WAIT */ -#line 5585 "parser.y" +#line 5588 "parser.y" { yyval = cb_int4; } -#line 11068 "parser.c" +#line 11071 "parser.c" break; case 1057: /* read_key: %empty */ -#line 5591 "parser.y" +#line 5594 "parser.y" { yyval = NULL; } -#line 11074 "parser.c" +#line 11077 "parser.c" break; case 1058: /* read_key: KEY _is identifier_list */ -#line 5593 "parser.y" +#line 5596 "parser.y" { #if defined(WITH_CISAM) || defined(WITH_DISAM) || defined(WITH_VBISAM) || defined(WITH_INDEX_EXTFH) yyval = yyvsp[0]; @@ -11086,73 +11089,73 @@ yyparse (void) } #endif } -#line 11090 "parser.c" +#line 11093 "parser.c" break; case 1062: /* end_read: %empty */ -#line 5612 "parser.y" +#line 5615 "parser.y" { terminator_warning (TERM_READ); } -#line 11096 "parser.c" +#line 11099 "parser.c" break; case 1063: /* end_read: "END-READ" */ -#line 5613 "parser.y" +#line 5616 "parser.y" { terminator_clear (TERM_READ); } -#line 11102 "parser.c" +#line 11105 "parser.c" break; case 1064: /* $@75: %empty */ -#line 5622 "parser.y" +#line 5625 "parser.y" { BEGIN_STATEMENT ("RELEASE", 0); } -#line 11108 "parser.c" +#line 11111 "parser.c" break; case 1065: /* release_statement: RELEASE $@75 record_name write_from */ -#line 5624 "parser.y" +#line 5627 "parser.y" { if (yyvsp[-1] != cb_error_node) { cb_emit_release (yyvsp[-1], yyvsp[0]); } } -#line 11118 "parser.c" +#line 11121 "parser.c" break; case 1066: /* $@76: %empty */ -#line 5637 "parser.y" +#line 5640 "parser.y" { BEGIN_STATEMENT ("RETURN", TERM_RETURN); } -#line 11124 "parser.c" +#line 11127 "parser.c" break; case 1067: /* return_statement: RETURN $@76 file_name _record read_into at_end end_return */ -#line 5640 "parser.y" +#line 5643 "parser.y" { if (yyvsp[-4] != cb_error_node) { cb_emit_return (yyvsp[-4], yyvsp[-2]); } } -#line 11134 "parser.c" +#line 11137 "parser.c" break; case 1068: /* end_return: %empty */ -#line 5648 "parser.y" +#line 5651 "parser.y" { terminator_warning (TERM_RETURN); } -#line 11140 "parser.c" +#line 11143 "parser.c" break; case 1069: /* end_return: "END-RETURN" */ -#line 5649 "parser.y" +#line 5652 "parser.y" { terminator_clear (TERM_RETURN); } -#line 11146 "parser.c" +#line 11149 "parser.c" break; case 1070: /* $@77: %empty */ -#line 5658 "parser.y" +#line 5661 "parser.y" { BEGIN_STATEMENT ("REWRITE", TERM_REWRITE); } -#line 11152 "parser.c" +#line 11155 "parser.c" break; case 1071: /* rewrite_statement: REWRITE $@77 record_name write_from write_lock opt_invalid_key end_rewrite */ -#line 5661 "parser.y" +#line 5664 "parser.y" { if (yyvsp[-4] != cb_error_node) { if (cb_use_invalidkey_handler_on_status34 && @@ -11164,238 +11167,238 @@ yyparse (void) cb_emit_rewrite (yyvsp[-4], yyvsp[-3], yyvsp[-2]); } } -#line 11168 "parser.c" +#line 11171 "parser.c" break; case 1072: /* write_lock: %empty */ -#line 5675 "parser.y" +#line 5678 "parser.y" { yyval = NULL; } -#line 11174 "parser.c" +#line 11177 "parser.c" break; case 1073: /* write_lock: _with LOCK */ -#line 5677 "parser.y" +#line 5680 "parser.y" { yyval = cb_int1; } -#line 11182 "parser.c" +#line 11185 "parser.c" break; case 1074: /* write_lock: _with NO LOCK */ -#line 5681 "parser.y" +#line 5684 "parser.y" { yyval = cb_int2; } -#line 11190 "parser.c" +#line 11193 "parser.c" break; case 1075: /* end_rewrite: %empty */ -#line 5687 "parser.y" +#line 5690 "parser.y" { terminator_warning (TERM_REWRITE); } -#line 11196 "parser.c" +#line 11199 "parser.c" break; case 1076: /* end_rewrite: "END-REWRITE" */ -#line 5688 "parser.y" +#line 5691 "parser.y" { terminator_clear (TERM_REWRITE); } -#line 11202 "parser.c" +#line 11205 "parser.c" break; case 1077: /* rollback_statement: ROLLBACK */ -#line 5698 "parser.y" +#line 5701 "parser.y" { BEGIN_STATEMENT ("ROLLBACK", 0); cb_emit_rollback (); } -#line 11211 "parser.c" +#line 11214 "parser.c" break; case 1078: /* $@78: %empty */ -#line 5710 "parser.y" +#line 5713 "parser.y" { BEGIN_STATEMENT ("SEARCH", TERM_SEARCH); } -#line 11217 "parser.c" +#line 11220 "parser.c" break; case 1080: /* search_body: table_name search_varying search_at_end search_whens */ -#line 5717 "parser.y" +#line 5720 "parser.y" { cb_emit_search (yyvsp[-3], yyvsp[-2], yyvsp[-1], yyvsp[0]); } -#line 11225 "parser.c" +#line 11228 "parser.c" break; case 1081: /* $@79: %empty */ -#line 5721 "parser.y" +#line 5724 "parser.y" { check_unreached = 0; } -#line 11233 "parser.c" +#line 11236 "parser.c" break; case 1082: /* search_body: ALL table_name search_at_end WHEN expr $@79 statement_list */ -#line 5725 "parser.y" +#line 5728 "parser.y" { cb_emit_search_all (yyvsp[-5], yyvsp[-4], yyvsp[-2], yyvsp[0]); } -#line 11241 "parser.c" +#line 11244 "parser.c" break; case 1083: /* search_varying: %empty */ -#line 5731 "parser.y" +#line 5734 "parser.y" { yyval = NULL; } -#line 11247 "parser.c" +#line 11250 "parser.c" break; case 1084: /* search_varying: VARYING identifier */ -#line 5732 "parser.y" +#line 5735 "parser.y" { yyval = yyvsp[0]; } -#line 11253 "parser.c" +#line 11256 "parser.c" break; case 1085: /* search_at_end: %empty */ -#line 5736 "parser.y" +#line 5739 "parser.y" { yyval = NULL; } -#line 11259 "parser.c" +#line 11262 "parser.c" break; case 1086: /* $@80: %empty */ -#line 5738 "parser.y" +#line 5741 "parser.y" { check_unreached = 0; } -#line 11267 "parser.c" +#line 11270 "parser.c" break; case 1087: /* search_at_end: _at END $@80 statement_list */ -#line 5742 "parser.y" +#line 5745 "parser.y" { yyval = yyvsp[0]; } -#line 11275 "parser.c" +#line 11278 "parser.c" break; case 1088: /* search_whens: search_when */ -#line 5748 "parser.y" +#line 5751 "parser.y" { yyval = yyvsp[0]; } -#line 11281 "parser.c" +#line 11284 "parser.c" break; case 1089: /* search_whens: search_when search_whens */ -#line 5749 "parser.y" +#line 5752 "parser.y" { yyval = yyvsp[-1]; CB_IF (yyvsp[-1])->stmt2 = yyvsp[0]; } -#line 11287 "parser.c" +#line 11290 "parser.c" break; case 1090: /* $@81: %empty */ -#line 5754 "parser.y" +#line 5757 "parser.y" { check_unreached = 0; } -#line 11295 "parser.c" +#line 11298 "parser.c" break; case 1091: /* search_when: WHEN condition $@81 statement_list */ -#line 5758 "parser.y" +#line 5761 "parser.y" { yyval = cb_build_if (yyvsp[-2], yyvsp[0], NULL); } -#line 11303 "parser.c" +#line 11306 "parser.c" break; case 1092: /* end_search: %empty */ -#line 5764 "parser.y" +#line 5767 "parser.y" { terminator_warning (TERM_SEARCH); } -#line 11309 "parser.c" +#line 11312 "parser.c" break; case 1093: /* end_search: "END-SEARCH" */ -#line 5765 "parser.y" +#line 5768 "parser.y" { terminator_clear (TERM_SEARCH); } -#line 11315 "parser.c" +#line 11318 "parser.c" break; case 1094: /* $@82: %empty */ -#line 5774 "parser.y" +#line 5777 "parser.y" { BEGIN_STATEMENT ("SET", 0); } -#line 11321 "parser.c" +#line 11324 "parser.c" break; case 1101: /* set_environment: ENVIRONMENT simple_value TO simple_value */ -#line 5790 "parser.y" +#line 5793 "parser.y" { cb_emit_setenv (yyvsp[-2], yyvsp[0]); } -#line 11329 "parser.c" +#line 11332 "parser.c" break; case 1102: /* set_to: target_x_list TO ENTRY alnum_or_id */ -#line 5799 "parser.y" +#line 5802 "parser.y" { cb_emit_set_to (yyvsp[-3], cb_build_ppointer (yyvsp[0])); } -#line 11337 "parser.c" +#line 11340 "parser.c" break; case 1103: /* set_to: target_x_list TO x */ -#line 5803 "parser.y" +#line 5806 "parser.y" { cb_emit_set_to (yyvsp[-2], yyvsp[0]); } -#line 11345 "parser.c" +#line 11348 "parser.c" break; case 1104: /* set_up_down: target_x_list up_or_down BY x */ -#line 5812 "parser.y" +#line 5815 "parser.y" { cb_emit_set_up_down (yyvsp[-3], yyvsp[-2], yyvsp[0]); } -#line 11353 "parser.c" +#line 11356 "parser.c" break; case 1105: /* up_or_down: UP */ -#line 5818 "parser.y" +#line 5821 "parser.y" { yyval = cb_int0; } -#line 11359 "parser.c" +#line 11362 "parser.c" break; case 1106: /* up_or_down: DOWN */ -#line 5819 "parser.y" +#line 5822 "parser.y" { yyval = cb_int1; } -#line 11365 "parser.c" +#line 11368 "parser.c" break; case 1109: /* set_to_on_off: mnemonic_name_list TO on_or_off */ -#line 5831 "parser.y" +#line 5834 "parser.y" { cb_emit_set_on_off (yyvsp[-2], yyvsp[0]); } -#line 11373 "parser.c" +#line 11376 "parser.c" break; case 1112: /* set_to_true_false: target_x_list TO "TRUE" */ -#line 5845 "parser.y" +#line 5848 "parser.y" { cb_emit_set_true (yyvsp[-2]); } -#line 11381 "parser.c" +#line 11384 "parser.c" break; case 1113: /* set_to_true_false: target_x_list TO "FALSE" */ -#line 5849 "parser.y" +#line 5852 "parser.y" { cb_emit_set_false (yyvsp[-2]); } -#line 11389 "parser.c" +#line 11392 "parser.c" break; case 1114: /* $@83: %empty */ -#line 5860 "parser.y" +#line 5863 "parser.y" { BEGIN_STATEMENT ("SORT", 0); } -#line 11395 "parser.c" +#line 11398 "parser.c" break; case 1116: /* $@84: %empty */ -#line 5866 "parser.y" +#line 5869 "parser.y" { cb_emit_sort_init (yyvsp[-3], yyvsp[-2], yyvsp[0]); if (CB_FILE_P (cb_ref (yyvsp[-3])) && yyvsp[-2] == NULL) { @@ -11404,27 +11407,27 @@ yyparse (void) /* used in sort_input/sort_output */ save_tree_1 = yyvsp[-3]; } -#line 11408 "parser.c" +#line 11411 "parser.c" break; case 1117: /* sort_body: qualified_word sort_key_list sort_duplicates sort_collating $@84 sort_input sort_output */ -#line 5875 "parser.y" +#line 5878 "parser.y" { cb_emit_sort_finish (yyvsp[-6]); } -#line 11416 "parser.c" +#line 11419 "parser.c" break; case 1118: /* sort_key_list: %empty */ -#line 5882 "parser.y" +#line 5885 "parser.y" { yyval = NULL; } -#line 11424 "parser.c" +#line 11427 "parser.c" break; case 1119: /* sort_key_list: sort_key_list _on ascending_or_descending _key _is opt_key_list */ -#line 5887 "parser.y" +#line 5890 "parser.y" { cb_tree l; @@ -11441,51 +11444,51 @@ yyparse (void) yyval = cb_list_append (yyvsp[-5], yyvsp[0]); } } -#line 11445 "parser.c" +#line 11448 "parser.c" break; case 1120: /* opt_key_list: %empty */ -#line 5906 "parser.y" +#line 5909 "parser.y" { yyval = NULL; } -#line 11451 "parser.c" +#line 11454 "parser.c" break; case 1121: /* opt_key_list: opt_key_list qualified_word */ -#line 5907 "parser.y" +#line 5910 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 11457 "parser.c" +#line 11460 "parser.c" break; case 1123: /* sort_duplicates: with_dups _in_order */ -#line 5911 "parser.y" +#line 5914 "parser.y" { /* nothing */ } -#line 11463 "parser.c" +#line 11466 "parser.c" break; case 1124: /* sort_collating: %empty */ -#line 5915 "parser.y" +#line 5918 "parser.y" { yyval = cb_null; } -#line 11469 "parser.c" +#line 11472 "parser.c" break; case 1125: /* sort_collating: coll_sequence _is reference */ -#line 5916 "parser.y" +#line 5919 "parser.y" { yyval = cb_ref (yyvsp[0]); } -#line 11475 "parser.c" +#line 11478 "parser.c" break; case 1126: /* sort_input: %empty */ -#line 5921 "parser.y" +#line 5924 "parser.y" { if (CB_FILE_P (cb_ref (save_tree_1))) { cb_error (_("File sort requires USING or INPUT PROCEDURE")); } } -#line 11485 "parser.c" +#line 11488 "parser.c" break; case 1127: /* sort_input: USING file_name_list */ -#line 5927 "parser.y" +#line 5930 "parser.y" { if (!CB_FILE_P (cb_ref (save_tree_1))) { cb_error (_("USING invalid with table SORT")); @@ -11493,11 +11496,11 @@ yyparse (void) cb_emit_sort_using (save_tree_1, yyvsp[0]); } } -#line 11497 "parser.c" +#line 11500 "parser.c" break; case 1128: /* sort_input: INPUT PROCEDURE _is perform_procedure */ -#line 5935 "parser.y" +#line 5938 "parser.y" { if (!CB_FILE_P (cb_ref (save_tree_1))) { cb_error (_("INPUT PROCEDURE invalid with table SORT")); @@ -11505,21 +11508,21 @@ yyparse (void) cb_emit_sort_input (yyvsp[0], save_tree_1); } } -#line 11509 "parser.c" +#line 11512 "parser.c" break; case 1129: /* sort_output: %empty */ -#line 5946 "parser.y" +#line 5949 "parser.y" { if (CB_FILE_P (cb_ref (save_tree_1))) { cb_error (_("File sort requires GIVING or OUTPUT PROCEDURE")); } } -#line 11519 "parser.c" +#line 11522 "parser.c" break; case 1130: /* sort_output: GIVING file_name_list */ -#line 5952 "parser.y" +#line 5955 "parser.y" { if (!CB_FILE_P (cb_ref (save_tree_1))) { cb_error (_("GIVING invalid with table SORT")); @@ -11527,11 +11530,11 @@ yyparse (void) cb_emit_sort_giving (save_tree_1, yyvsp[0]); } } -#line 11531 "parser.c" +#line 11534 "parser.c" break; case 1131: /* sort_output: OUTPUT PROCEDURE _is perform_procedure */ -#line 5960 "parser.y" +#line 5963 "parser.y" { if (!CB_FILE_P (cb_ref (save_tree_1))) { cb_error (_("OUTPUT PROCEDURE invalid with table SORT")); @@ -11539,23 +11542,23 @@ yyparse (void) cb_emit_sort_output (yyvsp[0], save_tree_1); } } -#line 11543 "parser.c" +#line 11546 "parser.c" break; case 1132: /* $@85: %empty */ -#line 5975 "parser.y" +#line 5978 "parser.y" { BEGIN_STATEMENT ("START", TERM_START); } -#line 11549 "parser.c" +#line 11552 "parser.c" break; case 1133: /* @86: %empty */ -#line 5976 "parser.y" +#line 5979 "parser.y" { yyval = cb_int (COB_EQ); } -#line 11555 "parser.c" +#line 11558 "parser.c" break; case 1134: /* start_statement: START $@85 file_name @86 start_key opt_invalid_key end_start */ -#line 5979 "parser.y" +#line 5982 "parser.y" { if (CB_FILE_P (cb_ref (yyvsp[-4]))) { if (CB_FILE (cb_ref (yyvsp[-4]))->organization != COB_ORG_INDEXED && @@ -11570,17 +11573,17 @@ yyparse (void) yyval = cb_error_node; } } -#line 11574 "parser.c" +#line 11577 "parser.c" break; case 1135: /* start_key: %empty */ -#line 5996 "parser.y" +#line 5999 "parser.y" { yyval = NULL; } -#line 11580 "parser.c" +#line 11583 "parser.c" break; case 1136: /* start_key: KEY _is start_op identifier_list */ -#line 5998 "parser.y" +#line 6001 "parser.y" { yyvsp[-4] = yyvsp[-1]; #if defined(WITH_CISAM) || defined(WITH_DISAM) || defined(WITH_VBISAM) || defined(WITH_INDEX_EXTFH) @@ -11593,379 +11596,379 @@ yyparse (void) } #endif } -#line 11597 "parser.c" +#line 11600 "parser.c" break; case 1137: /* start_op: flag_not eq */ -#line 6013 "parser.y" +#line 6016 "parser.y" { yyval = cb_int ((yyvsp[-1] == cb_int1) ? COB_NE : COB_EQ); } -#line 11603 "parser.c" +#line 11606 "parser.c" break; case 1138: /* start_op: flag_not gt */ -#line 6014 "parser.y" +#line 6017 "parser.y" { yyval = cb_int ((yyvsp[-1] == cb_int1) ? COB_LE : COB_GT); } -#line 11609 "parser.c" +#line 11612 "parser.c" break; case 1139: /* start_op: flag_not lt */ -#line 6015 "parser.y" +#line 6018 "parser.y" { yyval = cb_int ((yyvsp[-1] == cb_int1) ? COB_GE : COB_LT); } -#line 11615 "parser.c" +#line 11618 "parser.c" break; case 1140: /* start_op: flag_not ge */ -#line 6016 "parser.y" +#line 6019 "parser.y" { yyval = cb_int ((yyvsp[-1] == cb_int1) ? COB_LT : COB_GE); } -#line 11621 "parser.c" +#line 11624 "parser.c" break; case 1141: /* start_op: flag_not le */ -#line 6017 "parser.y" +#line 6020 "parser.y" { yyval = cb_int ((yyvsp[-1] == cb_int1) ? COB_GT : COB_LE); } -#line 11627 "parser.c" +#line 11630 "parser.c" break; case 1142: /* end_start: %empty */ -#line 6021 "parser.y" +#line 6024 "parser.y" { terminator_warning (TERM_START); } -#line 11633 "parser.c" +#line 11636 "parser.c" break; case 1143: /* end_start: "END-START" */ -#line 6022 "parser.y" +#line 6025 "parser.y" { terminator_clear (TERM_START); } -#line 11639 "parser.c" +#line 11642 "parser.c" break; case 1144: /* $@87: %empty */ -#line 6031 "parser.y" +#line 6034 "parser.y" { BEGIN_STATEMENT ("STOP", 0); } -#line 11645 "parser.c" +#line 11648 "parser.c" break; case 1145: /* stop_statement: STOP RUN $@87 stop_returning */ -#line 6033 "parser.y" +#line 6036 "parser.y" { cb_emit_stop_run (yyvsp[0]); } -#line 11653 "parser.c" +#line 11656 "parser.c" break; case 1146: /* $@88: %empty */ -#line 6036 "parser.y" +#line 6039 "parser.y" { BEGIN_STATEMENT ("STOP", 0); } -#line 11659 "parser.c" +#line 11662 "parser.c" break; case 1147: /* stop_statement: STOP "Literal" $@88 */ -#line 6037 "parser.y" +#line 6040 "parser.y" { cb_verify (cb_stop_literal_statement, "STOP literal"); } -#line 11667 "parser.c" +#line 11670 "parser.c" break; case 1148: /* stop_returning: %empty */ -#line 6043 "parser.y" +#line 6046 "parser.y" { yyval = current_program->cb_return_code; } -#line 11673 "parser.c" +#line 11676 "parser.c" break; case 1149: /* stop_returning: RETURNING x */ -#line 6044 "parser.y" +#line 6047 "parser.y" { yyval = yyvsp[0]; } -#line 11679 "parser.c" +#line 11682 "parser.c" break; case 1150: /* stop_returning: GIVING x */ -#line 6045 "parser.y" +#line 6048 "parser.y" { yyval = yyvsp[0]; } -#line 11685 "parser.c" +#line 11688 "parser.c" break; case 1151: /* $@89: %empty */ -#line 6054 "parser.y" +#line 6057 "parser.y" { BEGIN_STATEMENT ("STRING", TERM_STRING); } -#line 11691 "parser.c" +#line 11694 "parser.c" break; case 1152: /* string_statement: STRING $@89 string_item_list INTO identifier opt_with_pointer on_overflow end_string */ -#line 6057 "parser.y" +#line 6060 "parser.y" { cb_emit_string (yyvsp[-5], yyvsp[-3], yyvsp[-2]); } -#line 11699 "parser.c" +#line 11702 "parser.c" break; case 1153: /* string_item_list: string_item */ -#line 6063 "parser.y" +#line 6066 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 11705 "parser.c" +#line 11708 "parser.c" break; case 1154: /* string_item_list: string_item_list string_item */ -#line 6064 "parser.y" +#line 6067 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 11711 "parser.c" +#line 11714 "parser.c" break; case 1155: /* string_item: x */ -#line 6068 "parser.y" +#line 6071 "parser.y" { yyval = yyvsp[0]; } -#line 11717 "parser.c" +#line 11720 "parser.c" break; case 1156: /* string_item: DELIMITED _by SIZE */ -#line 6069 "parser.y" +#line 6072 "parser.y" { yyval = cb_build_pair (cb_int0, NULL); } -#line 11723 "parser.c" +#line 11726 "parser.c" break; case 1157: /* string_item: DELIMITED _by x */ -#line 6070 "parser.y" +#line 6073 "parser.y" { yyval = cb_build_pair (yyvsp[0], NULL); } -#line 11729 "parser.c" +#line 11732 "parser.c" break; case 1158: /* opt_with_pointer: %empty */ -#line 6074 "parser.y" +#line 6077 "parser.y" { yyval = cb_int0; } -#line 11735 "parser.c" +#line 11738 "parser.c" break; case 1159: /* opt_with_pointer: _with POINTER identifier */ -#line 6075 "parser.y" +#line 6078 "parser.y" { yyval = yyvsp[0]; } -#line 11741 "parser.c" +#line 11744 "parser.c" break; case 1160: /* end_string: %empty */ -#line 6079 "parser.y" +#line 6082 "parser.y" { terminator_warning (TERM_STRING); } -#line 11747 "parser.c" +#line 11750 "parser.c" break; case 1161: /* end_string: "END-STRING" */ -#line 6080 "parser.y" +#line 6083 "parser.y" { terminator_clear (TERM_STRING); } -#line 11753 "parser.c" +#line 11756 "parser.c" break; case 1162: /* $@90: %empty */ -#line 6089 "parser.y" +#line 6092 "parser.y" { BEGIN_STATEMENT ("SUBTRACT", TERM_SUBTRACT); } -#line 11759 "parser.c" +#line 11762 "parser.c" break; case 1164: /* subtract_body: x_list FROM arithmetic_x_list on_size_error */ -#line 6096 "parser.y" +#line 6099 "parser.y" { cb_emit_arithmetic (yyvsp[-1], '-', cb_build_binary_list (yyvsp[-3], '+')); } -#line 11767 "parser.c" +#line 11770 "parser.c" break; case 1165: /* subtract_body: x_list FROM x GIVING arithmetic_x_list on_size_error */ -#line 6100 "parser.y" +#line 6103 "parser.y" { cb_emit_arithmetic (yyvsp[-1], 0, cb_build_binary_list (cb_cons (yyvsp[-3], yyvsp[-5]), '-')); } -#line 11775 "parser.c" +#line 11778 "parser.c" break; case 1166: /* subtract_body: CORRESPONDING identifier FROM identifier flag_rounded on_size_error */ -#line 6104 "parser.y" +#line 6107 "parser.y" { cb_emit_corresponding (cb_build_sub, yyvsp[-2], yyvsp[-4], yyvsp[-1]); } -#line 11783 "parser.c" +#line 11786 "parser.c" break; case 1167: /* end_subtract: %empty */ -#line 6110 "parser.y" +#line 6113 "parser.y" { terminator_warning (TERM_SUBTRACT); } -#line 11789 "parser.c" +#line 11792 "parser.c" break; case 1168: /* end_subtract: "END-SUBTRACT" */ -#line 6111 "parser.y" +#line 6114 "parser.y" { terminator_clear (TERM_SUBTRACT); } -#line 11795 "parser.c" +#line 11798 "parser.c" break; case 1169: /* suppress_statement: SUPPRESS _printing */ -#line 6121 "parser.y" +#line 6124 "parser.y" { BEGIN_STATEMENT ("SUPPRESS", 0); PENDING("SUPPRESS"); } -#line 11804 "parser.c" +#line 11807 "parser.c" break; case 1172: /* $@91: %empty */ -#line 6136 "parser.y" +#line 6139 "parser.y" { BEGIN_STATEMENT ("TERMINATE", 0); } -#line 11810 "parser.c" +#line 11813 "parser.c" break; case 1173: /* terminate_statement: TERMINATE $@91 identifier_list */ -#line 6138 "parser.y" +#line 6141 "parser.y" { PENDING("TERMINATE"); } -#line 11818 "parser.c" +#line 11821 "parser.c" break; case 1174: /* $@92: %empty */ -#line 6149 "parser.y" +#line 6152 "parser.y" { BEGIN_STATEMENT ("TRANSFORM", 0); } -#line 11824 "parser.c" +#line 11827 "parser.c" break; case 1175: /* transform_statement: TRANSFORM $@92 identifier FROM simple_value TO simple_all_value */ -#line 6151 "parser.y" +#line 6154 "parser.y" { cb_tree x; x = cb_build_converting (yyvsp[-2], yyvsp[0], cb_build_inspect_region_start ()); cb_emit_inspect (yyvsp[-4], x, cb_int0, 2); } -#line 11835 "parser.c" +#line 11838 "parser.c" break; case 1176: /* $@93: %empty */ -#line 6165 "parser.y" +#line 6168 "parser.y" { BEGIN_STATEMENT ("UNLOCK", 0); } -#line 11841 "parser.c" +#line 11844 "parser.c" break; case 1177: /* unlock_statement: UNLOCK $@93 file_name opt_record */ -#line 6167 "parser.y" +#line 6170 "parser.y" { if (yyvsp[-1] != cb_error_node) { cb_emit_unlock (yyvsp[-1]); } } -#line 11851 "parser.c" +#line 11854 "parser.c" break; case 1181: /* $@94: %empty */ -#line 6186 "parser.y" +#line 6189 "parser.y" { BEGIN_STATEMENT ("UNSTRING", TERM_UNSTRING); } -#line 11857 "parser.c" +#line 11860 "parser.c" break; case 1182: /* unstring_statement: UNSTRING $@94 identifier unstring_delimited unstring_into opt_with_pointer unstring_tallying on_overflow end_unstring */ -#line 6190 "parser.y" +#line 6193 "parser.y" { cb_emit_unstring (yyvsp[-6], yyvsp[-5], yyvsp[-4], yyvsp[-3], yyvsp[-2]); } -#line 11865 "parser.c" +#line 11868 "parser.c" break; case 1183: /* unstring_delimited: %empty */ -#line 6196 "parser.y" +#line 6199 "parser.y" { yyval = NULL; } -#line 11871 "parser.c" +#line 11874 "parser.c" break; case 1184: /* unstring_delimited: DELIMITED _by unstring_delimited_list */ -#line 6198 "parser.y" +#line 6201 "parser.y" { yyval = yyvsp[0]; } -#line 11877 "parser.c" +#line 11880 "parser.c" break; case 1185: /* unstring_delimited_list: unstring_delimited_item */ -#line 6202 "parser.y" +#line 6205 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 11883 "parser.c" +#line 11886 "parser.c" break; case 1186: /* unstring_delimited_list: unstring_delimited_list OR unstring_delimited_item */ -#line 6204 "parser.y" +#line 6207 "parser.y" { yyval = cb_list_add (yyvsp[-2], yyvsp[0]); } -#line 11889 "parser.c" +#line 11892 "parser.c" break; case 1187: /* unstring_delimited_item: flag_all simple_value */ -#line 6209 "parser.y" +#line 6212 "parser.y" { yyval = cb_build_unstring_delimited (yyvsp[-1], yyvsp[0]); } -#line 11897 "parser.c" +#line 11900 "parser.c" break; case 1188: /* unstring_into: INTO unstring_into_item */ -#line 6215 "parser.y" +#line 6218 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 11903 "parser.c" +#line 11906 "parser.c" break; case 1189: /* unstring_into: unstring_into unstring_into_item */ -#line 6217 "parser.y" +#line 6220 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 11909 "parser.c" +#line 11912 "parser.c" break; case 1190: /* unstring_into_item: identifier unstring_into_delimiter unstring_into_count */ -#line 6222 "parser.y" +#line 6225 "parser.y" { yyval = cb_build_unstring_into (yyvsp[-2], yyvsp[-1], yyvsp[0]); } -#line 11917 "parser.c" +#line 11920 "parser.c" break; case 1191: /* unstring_into_delimiter: %empty */ -#line 6228 "parser.y" +#line 6231 "parser.y" { yyval = NULL; } -#line 11923 "parser.c" +#line 11926 "parser.c" break; case 1192: /* unstring_into_delimiter: DELIMITER _in identifier */ -#line 6229 "parser.y" +#line 6232 "parser.y" { yyval = yyvsp[0]; } -#line 11929 "parser.c" +#line 11932 "parser.c" break; case 1193: /* unstring_into_count: %empty */ -#line 6233 "parser.y" +#line 6236 "parser.y" { yyval = NULL; } -#line 11935 "parser.c" +#line 11938 "parser.c" break; case 1194: /* unstring_into_count: COUNT _in identifier */ -#line 6234 "parser.y" +#line 6237 "parser.y" { yyval = yyvsp[0]; } -#line 11941 "parser.c" +#line 11944 "parser.c" break; case 1195: /* unstring_tallying: %empty */ -#line 6238 "parser.y" +#line 6241 "parser.y" { yyval = NULL; } -#line 11947 "parser.c" +#line 11950 "parser.c" break; case 1196: /* unstring_tallying: TALLYING _in identifier */ -#line 6239 "parser.y" +#line 6242 "parser.y" { yyval = yyvsp[0]; } -#line 11953 "parser.c" +#line 11956 "parser.c" break; case 1197: /* end_unstring: %empty */ -#line 6243 "parser.y" +#line 6246 "parser.y" { terminator_warning (TERM_UNSTRING); } -#line 11959 "parser.c" +#line 11962 "parser.c" break; case 1198: /* end_unstring: "END-UNSTRING" */ -#line 6244 "parser.y" +#line 6247 "parser.y" { terminator_clear (TERM_UNSTRING); } -#line 11965 "parser.c" +#line 11968 "parser.c" break; case 1202: /* use_exception: USE use_global _after _standard exception_or_error _procedure _on use_exception_target */ -#line 6262 "parser.y" +#line 6265 "parser.y" { if (!in_declaratives) { cb_error (_("USE statement must be within DECLARATIVES")); @@ -11983,28 +11986,28 @@ yyparse (void) } } } -#line 11987 "parser.c" +#line 11990 "parser.c" break; case 1203: /* use_global: %empty */ -#line 6283 "parser.y" +#line 6286 "parser.y" { use_global_ind = 0; } -#line 11995 "parser.c" +#line 11998 "parser.c" break; case 1204: /* use_global: GLOBAL */ -#line 6287 "parser.y" +#line 6290 "parser.y" { use_global_ind = 1; current_program->flag_global_use = 1; } -#line 12004 "parser.c" +#line 12007 "parser.c" break; case 1205: /* use_exception_target: file_name_list */ -#line 6295 "parser.y" +#line 6298 "parser.y" { cb_tree l; @@ -12014,69 +12017,69 @@ yyparse (void) } } } -#line 12018 "parser.c" +#line 12021 "parser.c" break; case 1206: /* use_exception_target: INPUT */ -#line 6305 "parser.y" +#line 6308 "parser.y" { current_program->global_handler[COB_OPEN_INPUT].handler_label = current_section; current_program->global_handler[COB_OPEN_INPUT].handler_prog = current_program; } -#line 12027 "parser.c" +#line 12030 "parser.c" break; case 1207: /* use_exception_target: OUTPUT */ -#line 6310 "parser.y" +#line 6313 "parser.y" { current_program->global_handler[COB_OPEN_OUTPUT].handler_label = current_section; current_program->global_handler[COB_OPEN_OUTPUT].handler_prog = current_program; } -#line 12036 "parser.c" +#line 12039 "parser.c" break; case 1208: /* use_exception_target: "I-O" */ -#line 6315 "parser.y" +#line 6318 "parser.y" { current_program->global_handler[COB_OPEN_I_O].handler_label = current_section; current_program->global_handler[COB_OPEN_I_O].handler_prog = current_program; } -#line 12045 "parser.c" +#line 12048 "parser.c" break; case 1209: /* use_exception_target: EXTEND */ -#line 6320 "parser.y" +#line 6323 "parser.y" { current_program->global_handler[COB_OPEN_EXTEND].handler_label = current_section; current_program->global_handler[COB_OPEN_EXTEND].handler_prog = current_program; } -#line 12054 "parser.c" +#line 12057 "parser.c" break; case 1222: /* use_debugging: USE _for DEBUGGING _on use_debugging_target */ -#line 6352 "parser.y" +#line 6355 "parser.y" { PENDING ("USE FOR DEBUGGING"); } -#line 12062 "parser.c" +#line 12065 "parser.c" break; case 1225: /* use_reporting: USE use_global BEFORE REPORTING identifier */ -#line 6364 "parser.y" +#line 6367 "parser.y" { PENDING ("USE BEFORE REPORTING"); } -#line 12070 "parser.c" +#line 12073 "parser.c" break; case 1226: /* $@95: %empty */ -#line 6375 "parser.y" +#line 6378 "parser.y" { BEGIN_STATEMENT ("WRITE", TERM_WRITE); } -#line 12076 "parser.c" +#line 12079 "parser.c" break; case 1227: /* write_statement: WRITE $@95 record_name write_from write_lock write_option write_handler end_write */ -#line 6378 "parser.y" +#line 6381 "parser.y" { if (yyvsp[-5] != cb_error_node) { if (cb_use_invalidkey_handler_on_status34 && @@ -12088,759 +12091,759 @@ yyparse (void) cb_emit_write (yyvsp[-5], yyvsp[-4], yyvsp[-2], yyvsp[-3]); } } -#line 12092 "parser.c" +#line 12095 "parser.c" break; case 1228: /* write_from: %empty */ -#line 6392 "parser.y" +#line 6395 "parser.y" { yyval = NULL; } -#line 12098 "parser.c" +#line 12101 "parser.c" break; case 1229: /* write_from: FROM id_or_lit */ -#line 6393 "parser.y" +#line 6396 "parser.y" { yyval = yyvsp[0]; } -#line 12104 "parser.c" +#line 12107 "parser.c" break; case 1230: /* write_option: %empty */ -#line 6398 "parser.y" +#line 6401 "parser.y" { yyval = cb_int0; } -#line 12112 "parser.c" +#line 12115 "parser.c" break; case 1231: /* write_option: before_or_after _advancing num_id_or_lit _line_or_lines */ -#line 6402 "parser.y" +#line 6405 "parser.y" { yyval = cb_build_write_advancing_lines (yyvsp[-3], yyvsp[-1]); } -#line 12120 "parser.c" +#line 12123 "parser.c" break; case 1232: /* write_option: before_or_after _advancing mnemonic_name */ -#line 6406 "parser.y" +#line 6409 "parser.y" { yyval = cb_build_write_advancing_mnemonic (yyvsp[-2], yyvsp[0]); } -#line 12128 "parser.c" +#line 12131 "parser.c" break; case 1233: /* write_option: before_or_after _advancing PAGE */ -#line 6410 "parser.y" +#line 6413 "parser.y" { yyval = cb_build_write_advancing_page (yyvsp[-2]); } -#line 12136 "parser.c" +#line 12139 "parser.c" break; case 1234: /* before_or_after: BEFORE */ -#line 6416 "parser.y" +#line 6419 "parser.y" { yyval = CB_BEFORE; } -#line 12142 "parser.c" +#line 12145 "parser.c" break; case 1235: /* before_or_after: AFTER */ -#line 6417 "parser.y" +#line 6420 "parser.y" { yyval = CB_AFTER; } -#line 12148 "parser.c" +#line 12151 "parser.c" break; case 1239: /* end_write: %empty */ -#line 6426 "parser.y" +#line 6429 "parser.y" { terminator_warning (TERM_WRITE); } -#line 12154 "parser.c" +#line 12157 "parser.c" break; case 1240: /* end_write: "END-WRITE" */ -#line 6427 "parser.y" +#line 6430 "parser.y" { terminator_clear (TERM_WRITE); } -#line 12160 "parser.c" +#line 12163 "parser.c" break; case 1241: /* on_accp_exception: opt_on_exception opt_not_on_exception */ -#line 6442 "parser.y" +#line 6445 "parser.y" { current_statement->handler_id = COB_EC_IMP_ACCEPT; } -#line 12168 "parser.c" +#line 12171 "parser.c" break; case 1242: /* on_disp_exception: opt_on_exception opt_not_on_exception */ -#line 6450 "parser.y" +#line 6453 "parser.y" { current_statement->handler_id = COB_EC_IMP_DISPLAY; } -#line 12176 "parser.c" +#line 12179 "parser.c" break; case 1244: /* $@96: %empty */ -#line 6457 "parser.y" +#line 6460 "parser.y" { check_unreached = 0; } -#line 12184 "parser.c" +#line 12187 "parser.c" break; case 1245: /* opt_on_exception: EXCEPTION $@96 statement_list */ -#line 6461 "parser.y" +#line 6464 "parser.y" { current_statement->handler1 = yyvsp[0]; } -#line 12192 "parser.c" +#line 12195 "parser.c" break; case 1247: /* $@97: %empty */ -#line 6468 "parser.y" +#line 6471 "parser.y" { check_unreached = 0; } -#line 12200 "parser.c" +#line 12203 "parser.c" break; case 1248: /* opt_not_on_exception: "NOT EXCEPTION" $@97 statement_list */ -#line 6472 "parser.y" +#line 6475 "parser.y" { current_statement->handler2 = yyvsp[0]; } -#line 12208 "parser.c" +#line 12211 "parser.c" break; case 1251: /* $@98: %empty */ -#line 6488 "parser.y" +#line 6491 "parser.y" { check_unreached = 0; current_statement->handler_id = COB_EC_SIZE; } -#line 12217 "parser.c" +#line 12220 "parser.c" break; case 1252: /* opt_on_size_error: "SIZE ERROR" $@98 statement_list */ -#line 6493 "parser.y" +#line 6496 "parser.y" { current_statement->handler1 = yyvsp[0]; } -#line 12225 "parser.c" +#line 12228 "parser.c" break; case 1254: /* $@99: %empty */ -#line 6500 "parser.y" +#line 6503 "parser.y" { check_unreached = 0; current_statement->handler_id = COB_EC_SIZE; } -#line 12234 "parser.c" +#line 12237 "parser.c" break; case 1255: /* opt_not_on_size_error: "NOT SIZE ERROR" $@99 statement_list */ -#line 6505 "parser.y" +#line 6508 "parser.y" { current_statement->handler2 = yyvsp[0]; } -#line 12242 "parser.c" +#line 12245 "parser.c" break; case 1256: /* on_overflow: opt_on_overflow opt_not_on_overflow */ -#line 6517 "parser.y" +#line 6520 "parser.y" { current_statement->handler_id = COB_EC_OVERFLOW; } -#line 12250 "parser.c" +#line 12253 "parser.c" break; case 1258: /* $@100: %empty */ -#line 6524 "parser.y" +#line 6527 "parser.y" { check_unreached = 0; } -#line 12258 "parser.c" +#line 12261 "parser.c" break; case 1259: /* opt_on_overflow: OVERFLOW $@100 statement_list */ -#line 6528 "parser.y" +#line 6531 "parser.y" { current_statement->handler1 = yyvsp[0]; } -#line 12266 "parser.c" +#line 12269 "parser.c" break; case 1261: /* $@101: %empty */ -#line 6535 "parser.y" +#line 6538 "parser.y" { check_unreached = 0; } -#line 12274 "parser.c" +#line 12277 "parser.c" break; case 1262: /* opt_not_on_overflow: "NOT OVERFLOW" $@101 statement_list */ -#line 6539 "parser.y" +#line 6542 "parser.y" { current_statement->handler2 = yyvsp[0]; } -#line 12282 "parser.c" +#line 12285 "parser.c" break; case 1263: /* at_end: at_end_sentence */ -#line 6551 "parser.y" +#line 6554 "parser.y" { current_statement->handler_id = COB_EC_I_O_AT_END; current_statement->handler1 = yyvsp[0]; } -#line 12291 "parser.c" +#line 12294 "parser.c" break; case 1264: /* at_end: not_at_end_sentence */ -#line 6556 "parser.y" +#line 6559 "parser.y" { current_statement->handler_id = COB_EC_I_O_AT_END; current_statement->handler2 = yyvsp[0]; } -#line 12300 "parser.c" +#line 12303 "parser.c" break; case 1265: /* at_end: at_end_sentence not_at_end_sentence */ -#line 6561 "parser.y" +#line 6564 "parser.y" { current_statement->handler_id = COB_EC_I_O_AT_END; current_statement->handler1 = yyvsp[-1]; current_statement->handler2 = yyvsp[0]; } -#line 12310 "parser.c" +#line 12313 "parser.c" break; case 1266: /* $@102: %empty */ -#line 6570 "parser.y" +#line 6573 "parser.y" { check_unreached = 0; } -#line 12318 "parser.c" +#line 12321 "parser.c" break; case 1267: /* at_end_sentence: END $@102 statement_list */ -#line 6574 "parser.y" +#line 6577 "parser.y" { yyval = yyvsp[0]; } -#line 12326 "parser.c" +#line 12329 "parser.c" break; case 1268: /* $@103: %empty */ -#line 6581 "parser.y" +#line 6584 "parser.y" { check_unreached = 0; } -#line 12334 "parser.c" +#line 12337 "parser.c" break; case 1269: /* not_at_end_sentence: "NOT END" $@103 statement_list */ -#line 6585 "parser.y" +#line 6588 "parser.y" { yyval = yyvsp[0]; } -#line 12342 "parser.c" +#line 12345 "parser.c" break; case 1270: /* at_eop: at_eop_sentence */ -#line 6597 "parser.y" +#line 6600 "parser.y" { current_statement->handler_id = COB_EC_I_O_EOP; current_statement->handler1 = yyvsp[0]; } -#line 12351 "parser.c" +#line 12354 "parser.c" break; case 1271: /* at_eop: not_at_eop_sentence */ -#line 6602 "parser.y" +#line 6605 "parser.y" { current_statement->handler_id = COB_EC_I_O_EOP; current_statement->handler2 = yyvsp[0]; } -#line 12360 "parser.c" +#line 12363 "parser.c" break; case 1272: /* at_eop: at_eop_sentence not_at_eop_sentence */ -#line 6607 "parser.y" +#line 6610 "parser.y" { current_statement->handler_id = COB_EC_I_O_EOP; current_statement->handler1 = yyvsp[-1]; current_statement->handler2 = yyvsp[0]; } -#line 12370 "parser.c" +#line 12373 "parser.c" break; case 1273: /* $@104: %empty */ -#line 6616 "parser.y" +#line 6619 "parser.y" { check_unreached = 0; } -#line 12378 "parser.c" +#line 12381 "parser.c" break; case 1274: /* at_eop_sentence: EOP $@104 statement_list */ -#line 6620 "parser.y" +#line 6623 "parser.y" { yyval = yyvsp[0]; } -#line 12386 "parser.c" +#line 12389 "parser.c" break; case 1275: /* $@105: %empty */ -#line 6627 "parser.y" +#line 6630 "parser.y" { check_unreached = 0; } -#line 12394 "parser.c" +#line 12397 "parser.c" break; case 1276: /* not_at_eop_sentence: "NOT EOP" $@105 statement_list */ -#line 6631 "parser.y" +#line 6634 "parser.y" { yyval = yyvsp[0]; } -#line 12402 "parser.c" +#line 12405 "parser.c" break; case 1279: /* invalid_key: invalid_key_sentence */ -#line 6647 "parser.y" +#line 6650 "parser.y" { current_statement->handler_id = COB_EC_I_O_INVALID_KEY; current_statement->handler1 = yyvsp[0]; } -#line 12411 "parser.c" +#line 12414 "parser.c" break; case 1280: /* invalid_key: not_invalid_key_sentence */ -#line 6652 "parser.y" +#line 6655 "parser.y" { current_statement->handler_id = COB_EC_I_O_INVALID_KEY; current_statement->handler2 = yyvsp[0]; } -#line 12420 "parser.c" +#line 12423 "parser.c" break; case 1281: /* invalid_key: invalid_key_sentence not_invalid_key_sentence */ -#line 6657 "parser.y" +#line 6660 "parser.y" { current_statement->handler_id = COB_EC_I_O_INVALID_KEY; current_statement->handler1 = yyvsp[-1]; current_statement->handler2 = yyvsp[0]; } -#line 12430 "parser.c" +#line 12433 "parser.c" break; case 1282: /* $@106: %empty */ -#line 6666 "parser.y" +#line 6669 "parser.y" { check_unreached = 0; } -#line 12438 "parser.c" +#line 12441 "parser.c" break; case 1283: /* invalid_key_sentence: "INVALID KEY" $@106 statement_list */ -#line 6670 "parser.y" +#line 6673 "parser.y" { yyval = yyvsp[0]; } -#line 12446 "parser.c" +#line 12449 "parser.c" break; case 1284: /* $@107: %empty */ -#line 6677 "parser.y" +#line 6680 "parser.y" { check_unreached = 0; } -#line 12454 "parser.c" +#line 12457 "parser.c" break; case 1285: /* not_invalid_key_sentence: "NOT INVALID KEY" $@107 statement_list */ -#line 6681 "parser.y" +#line 6684 "parser.y" { yyval = yyvsp[0]; } -#line 12462 "parser.c" +#line 12465 "parser.c" break; case 1286: /* _opt_scroll_lines: %empty */ -#line 6693 "parser.y" +#line 6696 "parser.y" { yyval = cb_one; } -#line 12470 "parser.c" +#line 12473 "parser.c" break; case 1287: /* _opt_scroll_lines: _by num_id_or_lit _line_or_lines */ -#line 6697 "parser.y" +#line 6700 "parser.y" { yyval = yyvsp[-1]; } -#line 12478 "parser.c" +#line 12481 "parser.c" break; case 1288: /* condition: expr */ -#line 6709 "parser.y" +#line 6712 "parser.y" { yyval = cb_build_cond (yyvsp[0]); } -#line 12486 "parser.c" +#line 12489 "parser.c" break; case 1289: /* expr: partial_expr */ -#line 6716 "parser.y" +#line 6719 "parser.y" { yyval = cb_build_expr (yyvsp[0]); } -#line 12494 "parser.c" +#line 12497 "parser.c" break; case 1290: /* $@108: %empty */ -#line 6722 "parser.y" +#line 6725 "parser.y" { current_expr = NULL; } -#line 12502 "parser.c" +#line 12505 "parser.c" break; case 1291: /* partial_expr: $@108 expr_tokens */ -#line 6726 "parser.y" +#line 6729 "parser.y" { yyval = cb_list_reverse (current_expr); } -#line 12510 "parser.c" +#line 12513 "parser.c" break; case 1292: /* expr_tokens: expr_token x */ -#line 6732 "parser.y" +#line 6735 "parser.y" { push_expr ('x', yyvsp[0]); } -#line 12516 "parser.c" +#line 12519 "parser.c" break; case 1293: /* expr_tokens: expr_tokens ')' */ -#line 6733 "parser.y" +#line 6736 "parser.y" { push_expr (')', NULL); } -#line 12522 "parser.c" +#line 12525 "parser.c" break; case 1294: /* expr_tokens: expr_token OMITTED */ -#line 6735 "parser.y" +#line 6738 "parser.y" { push_expr ('O', NULL); } -#line 12528 "parser.c" +#line 12531 "parser.c" break; case 1295: /* expr_tokens: expr_token NUMERIC */ -#line 6736 "parser.y" +#line 6739 "parser.y" { push_expr ('9', NULL); } -#line 12534 "parser.c" +#line 12537 "parser.c" break; case 1296: /* expr_tokens: expr_token ALPHABETIC */ -#line 6737 "parser.y" +#line 6740 "parser.y" { push_expr ('A', NULL); } -#line 12540 "parser.c" +#line 12543 "parser.c" break; case 1297: /* expr_tokens: expr_token "ALPHABETIC-LOWER" */ -#line 6738 "parser.y" +#line 6741 "parser.y" { push_expr ('L', NULL); } -#line 12546 "parser.c" +#line 12549 "parser.c" break; case 1298: /* expr_tokens: expr_token "ALPHABETIC-UPPER" */ -#line 6739 "parser.y" +#line 6742 "parser.y" { push_expr ('U', NULL); } -#line 12552 "parser.c" +#line 12555 "parser.c" break; case 1299: /* expr_tokens: expr_token CLASS_NAME */ -#line 6740 "parser.y" +#line 6743 "parser.y" { push_expr ('x', yyvsp[0]); } -#line 12558 "parser.c" +#line 12561 "parser.c" break; case 1300: /* expr_tokens: expr_tokens OMITTED */ -#line 6742 "parser.y" +#line 6745 "parser.y" { push_expr ('O', NULL); } -#line 12564 "parser.c" +#line 12567 "parser.c" break; case 1301: /* expr_tokens: expr_tokens NUMERIC */ -#line 6743 "parser.y" +#line 6746 "parser.y" { push_expr ('9', NULL); } -#line 12570 "parser.c" +#line 12573 "parser.c" break; case 1302: /* expr_tokens: expr_tokens ALPHABETIC */ -#line 6744 "parser.y" +#line 6747 "parser.y" { push_expr ('A', NULL); } -#line 12576 "parser.c" +#line 12579 "parser.c" break; case 1303: /* expr_tokens: expr_tokens "ALPHABETIC-LOWER" */ -#line 6745 "parser.y" +#line 6748 "parser.y" { push_expr ('L', NULL); } -#line 12582 "parser.c" +#line 12585 "parser.c" break; case 1304: /* expr_tokens: expr_tokens "ALPHABETIC-UPPER" */ -#line 6746 "parser.y" +#line 6749 "parser.y" { push_expr ('U', NULL); } -#line 12588 "parser.c" +#line 12591 "parser.c" break; case 1305: /* expr_tokens: expr_tokens CLASS_NAME */ -#line 6747 "parser.y" +#line 6750 "parser.y" { push_expr ('x', yyvsp[0]); } -#line 12594 "parser.c" +#line 12597 "parser.c" break; case 1306: /* expr_tokens: expr_token POSITIVE */ -#line 6749 "parser.y" +#line 6752 "parser.y" { push_expr ('P', NULL); } -#line 12600 "parser.c" +#line 12603 "parser.c" break; case 1307: /* expr_tokens: expr_token NEGATIVE */ -#line 6750 "parser.y" +#line 6753 "parser.y" { push_expr ('N', NULL); } -#line 12606 "parser.c" +#line 12609 "parser.c" break; case 1308: /* expr_tokens: expr_tokens POSITIVE */ -#line 6752 "parser.y" +#line 6755 "parser.y" { push_expr ('P', NULL); } -#line 12612 "parser.c" +#line 12615 "parser.c" break; case 1309: /* expr_tokens: expr_tokens NEGATIVE */ -#line 6753 "parser.y" +#line 6756 "parser.y" { push_expr ('N', NULL); } -#line 12618 "parser.c" +#line 12621 "parser.c" break; case 1310: /* expr_tokens: expr_tokens ZERO */ -#line 6754 "parser.y" +#line 6757 "parser.y" { push_expr ('x', cb_zero); } -#line 12624 "parser.c" +#line 12627 "parser.c" break; case 1314: /* expr_token: expr_token '(' */ -#line 6761 "parser.y" +#line 6764 "parser.y" { push_expr ('(', NULL); } -#line 12630 "parser.c" +#line 12633 "parser.c" break; case 1315: /* expr_token: expr_token '+' */ -#line 6763 "parser.y" +#line 6766 "parser.y" { push_expr ('+', NULL); } -#line 12636 "parser.c" +#line 12639 "parser.c" break; case 1316: /* expr_token: expr_token '-' */ -#line 6764 "parser.y" +#line 6767 "parser.y" { push_expr ('-', NULL); } -#line 12642 "parser.c" +#line 12645 "parser.c" break; case 1317: /* expr_token: expr_token '^' */ -#line 6765 "parser.y" +#line 6768 "parser.y" { push_expr ('^', NULL); } -#line 12648 "parser.c" +#line 12651 "parser.c" break; case 1318: /* expr_token: expr_token NOT */ -#line 6767 "parser.y" +#line 6770 "parser.y" { push_expr ('!', NULL); } -#line 12654 "parser.c" +#line 12657 "parser.c" break; case 1319: /* expr_token: expr_tokens NOT */ -#line 6768 "parser.y" +#line 6771 "parser.y" { push_expr ('!', NULL); } -#line 12660 "parser.c" +#line 12663 "parser.c" break; case 1320: /* expr_token: expr_tokens '+' */ -#line 6770 "parser.y" +#line 6773 "parser.y" { push_expr ('+', NULL); } -#line 12666 "parser.c" +#line 12669 "parser.c" break; case 1321: /* expr_token: expr_tokens '-' */ -#line 6771 "parser.y" +#line 6774 "parser.y" { push_expr ('-', NULL); } -#line 12672 "parser.c" +#line 12675 "parser.c" break; case 1322: /* expr_token: expr_tokens '*' */ -#line 6772 "parser.y" +#line 6775 "parser.y" { push_expr ('*', NULL); } -#line 12678 "parser.c" +#line 12681 "parser.c" break; case 1323: /* expr_token: expr_tokens '/' */ -#line 6773 "parser.y" +#line 6776 "parser.y" { push_expr ('/', NULL); } -#line 12684 "parser.c" +#line 12687 "parser.c" break; case 1324: /* expr_token: expr_tokens '^' */ -#line 6774 "parser.y" +#line 6777 "parser.y" { push_expr ('^', NULL); } -#line 12690 "parser.c" +#line 12693 "parser.c" break; case 1325: /* expr_token: expr_tokens eq */ -#line 6776 "parser.y" +#line 6779 "parser.y" { push_expr ('=', NULL); } -#line 12696 "parser.c" +#line 12699 "parser.c" break; case 1326: /* expr_token: expr_tokens gt */ -#line 6777 "parser.y" +#line 6780 "parser.y" { push_expr ('>', NULL); } -#line 12702 "parser.c" +#line 12705 "parser.c" break; case 1327: /* expr_token: expr_tokens lt */ -#line 6778 "parser.y" +#line 6781 "parser.y" { push_expr ('<', NULL); } -#line 12708 "parser.c" +#line 12711 "parser.c" break; case 1328: /* expr_token: expr_tokens ge */ -#line 6779 "parser.y" +#line 6782 "parser.y" { push_expr (']', NULL); } -#line 12714 "parser.c" +#line 12717 "parser.c" break; case 1329: /* expr_token: expr_tokens le */ -#line 6780 "parser.y" +#line 6783 "parser.y" { push_expr ('[', NULL); } -#line 12720 "parser.c" +#line 12723 "parser.c" break; case 1330: /* expr_token: expr_tokens NE */ -#line 6781 "parser.y" +#line 6784 "parser.y" { push_expr ('~', NULL); } -#line 12726 "parser.c" +#line 12729 "parser.c" break; case 1331: /* expr_token: expr_token eq */ -#line 6783 "parser.y" +#line 6786 "parser.y" { push_expr ('=', NULL); } -#line 12732 "parser.c" +#line 12735 "parser.c" break; case 1332: /* expr_token: expr_token gt */ -#line 6784 "parser.y" +#line 6787 "parser.y" { push_expr ('>', NULL); } -#line 12738 "parser.c" +#line 12741 "parser.c" break; case 1333: /* expr_token: expr_token lt */ -#line 6785 "parser.y" +#line 6788 "parser.y" { push_expr ('<', NULL); } -#line 12744 "parser.c" +#line 12747 "parser.c" break; case 1334: /* expr_token: expr_token ge */ -#line 6786 "parser.y" +#line 6789 "parser.y" { push_expr (']', NULL); } -#line 12750 "parser.c" +#line 12753 "parser.c" break; case 1335: /* expr_token: expr_token le */ -#line 6787 "parser.y" +#line 6790 "parser.y" { push_expr ('[', NULL); } -#line 12756 "parser.c" +#line 12759 "parser.c" break; case 1336: /* expr_token: expr_token NE */ -#line 6788 "parser.y" +#line 6791 "parser.y" { push_expr ('~', NULL); } -#line 12762 "parser.c" +#line 12765 "parser.c" break; case 1337: /* expr_token: expr_tokens AND */ -#line 6790 "parser.y" +#line 6793 "parser.y" { push_expr ('&', NULL); } -#line 12768 "parser.c" +#line 12771 "parser.c" break; case 1338: /* expr_token: expr_tokens OR */ -#line 6791 "parser.y" +#line 6794 "parser.y" { push_expr ('|', NULL); } -#line 12774 "parser.c" +#line 12777 "parser.c" break; case 1352: /* exp_list: exp */ -#line 6803 "parser.y" +#line 6806 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 12780 "parser.c" +#line 12783 "parser.c" break; case 1353: /* exp_list: exp_list e_sep exp */ -#line 6804 "parser.y" +#line 6807 "parser.y" { yyval = cb_list_add (yyvsp[-2], yyvsp[0]); } -#line 12786 "parser.c" +#line 12789 "parser.c" break; case 1357: /* exp: arith_x */ -#line 6813 "parser.y" +#line 6816 "parser.y" { yyval = yyvsp[0]; } -#line 12792 "parser.c" +#line 12795 "parser.c" break; case 1358: /* exp: exp '+' exp */ -#line 6814 "parser.y" +#line 6817 "parser.y" { yyval = cb_build_binary_op (yyvsp[-2], '+', yyvsp[0]); } -#line 12798 "parser.c" +#line 12801 "parser.c" break; case 1359: /* exp: exp '-' exp */ -#line 6815 "parser.y" +#line 6818 "parser.y" { yyval = cb_build_binary_op (yyvsp[-2], '-', yyvsp[0]); } -#line 12804 "parser.c" +#line 12807 "parser.c" break; case 1360: /* exp: exp '*' exp */ -#line 6816 "parser.y" +#line 6819 "parser.y" { yyval = cb_build_binary_op (yyvsp[-2], '*', yyvsp[0]); } -#line 12810 "parser.c" +#line 12813 "parser.c" break; case 1361: /* exp: exp '/' exp */ -#line 6817 "parser.y" +#line 6820 "parser.y" { yyval = cb_build_binary_op (yyvsp[-2], '/', yyvsp[0]); } -#line 12816 "parser.c" +#line 12819 "parser.c" break; case 1362: /* exp: '+' exp */ -#line 6818 "parser.y" +#line 6821 "parser.y" { yyval = yyvsp[0]; } -#line 12822 "parser.c" +#line 12825 "parser.c" break; case 1363: /* exp: '-' exp */ -#line 6819 "parser.y" +#line 6822 "parser.y" { yyval = cb_build_binary_op (cb_zero, '-', yyvsp[0]); } -#line 12828 "parser.c" +#line 12831 "parser.c" break; case 1364: /* exp: exp '^' exp */ -#line 6820 "parser.y" +#line 6823 "parser.y" { yyval = cb_build_binary_op (yyvsp[-2], '^', yyvsp[0]); } -#line 12834 "parser.c" +#line 12837 "parser.c" break; case 1365: /* exp: '(' exp ')' */ -#line 6821 "parser.y" +#line 6824 "parser.y" { yyval = yyvsp[-1]; } -#line 12840 "parser.c" +#line 12843 "parser.c" break; case 1366: /* linage_counter: "LINAGE-COUNTER" */ -#line 6833 "parser.y" +#line 6836 "parser.y" { if (current_linage > 1) { cb_error (_("LINAGE-COUNTER must be qualified here")); @@ -12852,11 +12855,11 @@ yyparse (void) yyval = linage_file->linage_ctr; } } -#line 12856 "parser.c" +#line 12859 "parser.c" break; case 1367: /* linage_counter: "LINAGE-COUNTER" in_of "Identifier" */ -#line 6845 "parser.y" +#line 6848 "parser.y" { if (CB_FILE_P (cb_ref (yyvsp[0]))) { yyval = CB_FILE (cb_ref (yyvsp[0]))->linage_ctr; @@ -12865,29 +12868,29 @@ yyparse (void) yyval = cb_error_node; } } -#line 12869 "parser.c" +#line 12872 "parser.c" break; case 1368: /* arithmetic_x_list: arithmetic_x */ -#line 6859 "parser.y" +#line 6862 "parser.y" { yyval = yyvsp[0]; } -#line 12875 "parser.c" +#line 12878 "parser.c" break; case 1369: /* arithmetic_x_list: arithmetic_x_list arithmetic_x */ -#line 6861 "parser.y" +#line 6864 "parser.y" { yyval = cb_list_append (yyvsp[-1], yyvsp[0]); } -#line 12881 "parser.c" +#line 12884 "parser.c" break; case 1370: /* arithmetic_x: x flag_rounded */ -#line 6865 "parser.y" +#line 6868 "parser.y" { yyval = cb_build_pair (yyvsp[0], yyvsp[-1]); } -#line 12887 "parser.c" +#line 12890 "parser.c" break; case 1371: /* record_name: qualified_word */ -#line 6872 "parser.y" +#line 6875 "parser.y" { cb_tree x; cb_tree r; @@ -12904,11 +12907,11 @@ yyparse (void) } yyval = x; } -#line 12908 "parser.c" +#line 12911 "parser.c" break; case 1372: /* table_name: qualified_word */ -#line 6894 "parser.y" +#line 6897 "parser.y" { cb_tree x; @@ -12923,19 +12926,19 @@ yyparse (void) yyval = yyvsp[0]; } } -#line 12927 "parser.c" +#line 12930 "parser.c" break; case 1373: /* file_name_list: file_name */ -#line 6914 "parser.y" +#line 6917 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 12935 "parser.c" +#line 12938 "parser.c" break; case 1374: /* file_name_list: file_name_list file_name */ -#line 6918 "parser.y" +#line 6921 "parser.y" { cb_tree l; @@ -12948,11 +12951,11 @@ yyparse (void) yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } } -#line 12952 "parser.c" +#line 12955 "parser.c" break; case 1375: /* file_name: "Identifier" */ -#line 6934 "parser.y" +#line 6937 "parser.y" { if (CB_FILE_P (cb_ref (yyvsp[0]))) { yyval = yyvsp[0]; @@ -12961,106 +12964,106 @@ yyparse (void) yyval = cb_error_node; } } -#line 12965 "parser.c" +#line 12968 "parser.c" break; case 1376: /* mnemonic_name_list: mnemonic_name */ -#line 6947 "parser.y" +#line 6950 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 12971 "parser.c" +#line 12974 "parser.c" break; case 1377: /* mnemonic_name_list: mnemonic_name_list mnemonic_name */ -#line 6949 "parser.y" +#line 6952 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 12977 "parser.c" +#line 12980 "parser.c" break; case 1378: /* mnemonic_name: "MNEMONIC NAME" */ -#line 6953 "parser.y" +#line 6956 "parser.y" { yyval = yyvsp[0]; } -#line 12983 "parser.c" +#line 12986 "parser.c" break; case 1379: /* procedure_name_list: %empty */ -#line 6959 "parser.y" +#line 6962 "parser.y" { yyval = NULL; } -#line 12989 "parser.c" +#line 12992 "parser.c" break; case 1380: /* procedure_name_list: procedure_name_list procedure_name */ -#line 6961 "parser.y" +#line 6964 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 12995 "parser.c" +#line 12998 "parser.c" break; case 1381: /* procedure_name: label */ -#line 6966 "parser.y" +#line 6969 "parser.y" { yyval = yyvsp[0]; CB_REFERENCE (yyval)->offset = CB_TREE (current_section); current_program->label_list = cb_cons (yyval, current_program->label_list); } -#line 13005 "parser.c" +#line 13008 "parser.c" break; case 1385: /* integer_label: "Literal" */ -#line 6981 "parser.y" +#line 6984 "parser.y" { yyval = cb_build_reference ((char *)(CB_LITERAL (yyvsp[0])->data)); yyval->source_file = yyvsp[0]->source_file; yyval->source_line = yyvsp[0]->source_line; } -#line 13015 "parser.c" +#line 13018 "parser.c" break; case 1386: /* reference_list: reference */ -#line 6991 "parser.y" +#line 6994 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 13021 "parser.c" +#line 13024 "parser.c" break; case 1387: /* reference_list: reference_list reference */ -#line 6992 "parser.y" +#line 6995 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 13027 "parser.c" +#line 13030 "parser.c" break; case 1388: /* reference: qualified_word */ -#line 6997 "parser.y" +#line 7000 "parser.y" { yyval = yyvsp[0]; current_program->reference_list = cb_cons (yyval, current_program->reference_list); } -#line 13036 "parser.c" +#line 13039 "parser.c" break; case 1389: /* no_reference_list: qualified_word */ -#line 7006 "parser.y" +#line 7009 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 13042 "parser.c" +#line 13045 "parser.c" break; case 1390: /* no_reference_list: no_reference_list qualified_word */ -#line 7007 "parser.y" +#line 7010 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 13048 "parser.c" +#line 13051 "parser.c" break; case 1391: /* opt_reference: %empty */ -#line 7011 "parser.y" +#line 7014 "parser.y" { yyval = NULL; } -#line 13054 "parser.c" +#line 13057 "parser.c" break; case 1392: /* opt_reference: reference */ -#line 7012 "parser.y" +#line 7015 "parser.y" { yyval = yyvsp[0]; } -#line 13060 "parser.c" +#line 13063 "parser.c" break; case 1395: /* undefined_word: "Identifier" */ -#line 7024 "parser.y" +#line 7027 "parser.y" { yyval = yyvsp[0]; if (CB_REFERENCE (yyval)->word->count > 0) { @@ -13068,160 +13071,160 @@ yyparse (void) yyval = cb_error_node; } } -#line 13072 "parser.c" +#line 13075 "parser.c" break; case 1396: /* target_x_list: target_x */ -#line 7043 "parser.y" +#line 7046 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 13078 "parser.c" +#line 13081 "parser.c" break; case 1397: /* target_x_list: target_x_list target_x */ -#line 7044 "parser.y" +#line 7047 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 13084 "parser.c" +#line 13087 "parser.c" break; case 1399: /* target_x: ADDRESS _of identifier_1 */ -#line 7049 "parser.y" +#line 7052 "parser.y" { yyval = cb_build_address (yyvsp[0]); } -#line 13090 "parser.c" +#line 13093 "parser.c" break; case 1400: /* x_list: x */ -#line 7053 "parser.y" +#line 7056 "parser.y" { yyval = cb_list_init (yyvsp[0]); } -#line 13096 "parser.c" +#line 13099 "parser.c" break; case 1401: /* x_list: x_list x */ -#line 7054 "parser.y" +#line 7057 "parser.y" { yyval = cb_list_add (yyvsp[-1], yyvsp[0]); } -#line 13102 "parser.c" +#line 13105 "parser.c" break; case 1403: /* x: LENGTH _of identifier_1 */ -#line 7059 "parser.y" +#line 7062 "parser.y" { yyval = cb_build_length (yyvsp[0]); } -#line 13108 "parser.c" +#line 13111 "parser.c" break; case 1404: /* x: LENGTH _of basic_literal */ -#line 7060 "parser.y" +#line 7063 "parser.y" { yyval = cb_build_length (yyvsp[0]); } -#line 13114 "parser.c" +#line 13117 "parser.c" break; case 1405: /* x: LENGTH _of function */ -#line 7061 "parser.y" +#line 7064 "parser.y" { yyval = cb_build_length (yyvsp[0]); } -#line 13120 "parser.c" +#line 13123 "parser.c" break; case 1406: /* x: ADDRESS _of prog_or_entry alnum_or_id */ -#line 7062 "parser.y" +#line 7065 "parser.y" { yyval = cb_build_ppointer (yyvsp[0]); } -#line 13126 "parser.c" +#line 13129 "parser.c" break; case 1407: /* x: ADDRESS _of identifier_1 */ -#line 7063 "parser.y" +#line 7066 "parser.y" { yyval = cb_build_address (yyvsp[0]); } -#line 13132 "parser.c" +#line 13135 "parser.c" break; case 1412: /* arith_x: LENGTH _of identifier_1 */ -#line 7071 "parser.y" +#line 7074 "parser.y" { yyval = cb_build_length (yyvsp[0]); } -#line 13138 "parser.c" +#line 13141 "parser.c" break; case 1413: /* arith_x: LENGTH _of basic_literal */ -#line 7072 "parser.y" +#line 7075 "parser.y" { yyval = cb_build_length (yyvsp[0]); } -#line 13144 "parser.c" +#line 13147 "parser.c" break; case 1414: /* arith_x: LENGTH _of function */ -#line 7073 "parser.y" +#line 7076 "parser.y" { yyval = cb_build_length (yyvsp[0]); } -#line 13150 "parser.c" +#line 13153 "parser.c" break; case 1420: /* alnum_or_id: identifier_1 */ -#line 7085 "parser.y" +#line 7088 "parser.y" { yyval = yyvsp[0]; } -#line 13156 "parser.c" +#line 13159 "parser.c" break; case 1421: /* alnum_or_id: "Literal" */ -#line 7086 "parser.y" +#line 7089 "parser.y" { yyval = yyvsp[0]; } -#line 13162 "parser.c" +#line 13165 "parser.c" break; case 1433: /* num_id_or_lit: ZERO */ -#line 7120 "parser.y" +#line 7123 "parser.y" { yyval = cb_zero; } -#line 13168 "parser.c" +#line 13171 "parser.c" break; case 1434: /* identifier: identifier_1 */ -#line 7128 "parser.y" +#line 7131 "parser.y" { yyval = cb_build_identifier (yyvsp[0]); } -#line 13174 "parser.c" +#line 13177 "parser.c" break; case 1435: /* identifier_1: qualified_word */ -#line 7132 "parser.y" +#line 7135 "parser.y" { yyval = yyvsp[0]; } -#line 13180 "parser.c" +#line 13183 "parser.c" break; case 1436: /* identifier_1: qualified_word subref */ -#line 7133 "parser.y" +#line 7136 "parser.y" { yyval = yyvsp[-1]; } -#line 13186 "parser.c" +#line 13189 "parser.c" break; case 1437: /* identifier_1: qualified_word refmod */ -#line 7134 "parser.y" +#line 7137 "parser.y" { yyval = yyvsp[-1]; } -#line 13192 "parser.c" +#line 13195 "parser.c" break; case 1438: /* identifier_1: qualified_word subref refmod */ -#line 7135 "parser.y" +#line 7138 "parser.y" { yyval = yyvsp[-2]; } -#line 13198 "parser.c" +#line 13201 "parser.c" break; case 1439: /* qualified_word: "Identifier" */ -#line 7139 "parser.y" +#line 7142 "parser.y" { yyval = yyvsp[0]; } -#line 13204 "parser.c" +#line 13207 "parser.c" break; case 1440: /* qualified_word: "Identifier" in_of qualified_word */ -#line 7140 "parser.y" +#line 7143 "parser.y" { yyval = yyvsp[-2]; CB_REFERENCE (yyvsp[-2])->chain = yyvsp[0]; } -#line 13210 "parser.c" +#line 13213 "parser.c" break; case 1441: /* subref: '(' exp_list ')' */ -#line 7145 "parser.y" +#line 7148 "parser.y" { if (cb_ref (yyvsp[-3]) != cb_error_node) { yyval = yyvsp[-3]; CB_REFERENCE (yyvsp[-3])->subs = cb_list_reverse (yyvsp[-1]); } } -#line 13221 "parser.c" +#line 13224 "parser.c" break; case 1442: /* refmod: '(' exp ':' ')' */ -#line 7155 "parser.y" +#line 7158 "parser.y" { if (cb_ref (yyvsp[-4]) != cb_error_node) { CB_REFERENCE (yyvsp[-4])->value = CB_TREE (cb_field (yyvsp[-4])); @@ -13239,11 +13242,11 @@ yyparse (void) CB_REFERENCE (yyvsp[-4])->offset = yyvsp[-2]; } } -#line 13243 "parser.c" +#line 13246 "parser.c" break; case 1443: /* refmod: '(' exp ':' exp ')' */ -#line 7173 "parser.y" +#line 7176 "parser.y" { if (cb_ref (yyvsp[-5]) != cb_error_node) { CB_REFERENCE (yyvsp[-5])->value = CB_TREE (cb_field (yyvsp[-5])); @@ -13263,11 +13266,11 @@ yyparse (void) CB_REFERENCE (yyvsp[-5])->length = yyvsp[-1]; } } -#line 13267 "parser.c" +#line 13270 "parser.c" break; case 1444: /* integer: "Literal" */ -#line 7200 "parser.y" +#line 7203 "parser.y" { if (cb_tree_category (yyvsp[0]) != CB_CATEGORY_NUMERIC) { cb_error (_("Integer value expected")); @@ -13276,437 +13279,437 @@ yyparse (void) } yyval = yyvsp[0]; } -#line 13280 "parser.c" +#line 13283 "parser.c" break; case 1445: /* literal: basic_literal */ -#line 7211 "parser.y" +#line 7214 "parser.y" { yyval = yyvsp[0]; } -#line 13286 "parser.c" +#line 13289 "parser.c" break; case 1446: /* literal: ALL basic_value */ -#line 7213 "parser.y" +#line 7216 "parser.y" { yyval = yyvsp[0]; if (CB_LITERAL_P (yyvsp[0])) { CB_LITERAL (yyvsp[0])->all = 1; } } -#line 13297 "parser.c" +#line 13300 "parser.c" break; case 1447: /* basic_literal: basic_value */ -#line 7222 "parser.y" +#line 7225 "parser.y" { yyval = yyvsp[0]; } -#line 13303 "parser.c" +#line 13306 "parser.c" break; case 1448: /* basic_literal: basic_literal '&' basic_value */ -#line 7223 "parser.y" +#line 7226 "parser.y" { yyval = cb_concat_literals (yyvsp[-2], yyvsp[0]); } -#line 13309 "parser.c" +#line 13312 "parser.c" break; case 1449: /* basic_value: "Literal" */ -#line 7227 "parser.y" +#line 7230 "parser.y" { yyval = yyvsp[0]; } -#line 13315 "parser.c" +#line 13318 "parser.c" break; case 1450: /* basic_value: SPACE */ -#line 7228 "parser.y" +#line 7231 "parser.y" { yyval = cb_space; } -#line 13321 "parser.c" +#line 13324 "parser.c" break; case 1451: /* basic_value: ZERO */ -#line 7229 "parser.y" +#line 7232 "parser.y" { yyval = cb_zero; } -#line 13327 "parser.c" +#line 13330 "parser.c" break; case 1452: /* basic_value: QUOTE */ -#line 7230 "parser.y" +#line 7233 "parser.y" { yyval = cb_quote; } -#line 13333 "parser.c" +#line 13336 "parser.c" break; case 1453: /* basic_value: "HIGH-VALUE" */ -#line 7231 "parser.y" +#line 7234 "parser.y" { yyval = cb_high; } -#line 13339 "parser.c" +#line 13342 "parser.c" break; case 1454: /* basic_value: "LOW-VALUE" */ -#line 7232 "parser.y" +#line 7235 "parser.y" { yyval = cb_low; } -#line 13345 "parser.c" +#line 13348 "parser.c" break; case 1455: /* basic_value: "NULL" */ -#line 7233 "parser.y" +#line 7236 "parser.y" { yyval = cb_null; } -#line 13351 "parser.c" +#line 13354 "parser.c" break; case 1456: /* function: "FUNCTION CURRENT-DATE" func_refmod */ -#line 7242 "parser.y" +#line 7245 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-1], NULL, yyvsp[0]); } -#line 13359 "parser.c" +#line 13362 "parser.c" break; case 1457: /* function: "FUNCTION WHEN-COMPILED" func_refmod */ -#line 7246 "parser.y" +#line 7249 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-1], NULL, yyvsp[0]); } -#line 13367 "parser.c" +#line 13370 "parser.c" break; case 1458: /* function: "FUNCTION UPPER-CASE" '(' exp ')' func_refmod */ -#line 7250 "parser.y" +#line 7253 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], cb_list_init (yyvsp[-2]), yyvsp[0]); } -#line 13375 "parser.c" +#line 13378 "parser.c" break; case 1459: /* function: "FUNCTION LOWER-CASE" '(' exp ')' func_refmod */ -#line 7254 "parser.y" +#line 7257 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], cb_list_init (yyvsp[-2]), yyvsp[0]); } -#line 13383 "parser.c" +#line 13386 "parser.c" break; case 1460: /* function: "FUNCTION REVERSE" '(' exp ')' func_refmod */ -#line 7258 "parser.y" +#line 7261 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], cb_list_init (yyvsp[-2]), yyvsp[0]); } -#line 13391 "parser.c" +#line 13394 "parser.c" break; case 1461: /* function: "FUNCTION CONCATENATE" '(' exp_list ')' func_refmod */ -#line 7262 "parser.y" +#line 7265 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], yyvsp[-2], yyvsp[0]); } -#line 13399 "parser.c" +#line 13402 "parser.c" break; case 1462: /* function: "FUNCTION SUBSTITUTE" '(' exp_list ')' func_refmod */ -#line 7266 "parser.y" +#line 7269 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], yyvsp[-2], yyvsp[0]); } -#line 13407 "parser.c" +#line 13410 "parser.c" break; case 1463: /* function: "FUNCTION SUBSTITUTE-CASE" '(' exp_list ')' func_refmod */ -#line 7270 "parser.y" +#line 7273 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], yyvsp[-2], yyvsp[0]); } -#line 13415 "parser.c" +#line 13418 "parser.c" break; case 1464: /* function: "FUNCTION TRIM" '(' trim_args ')' func_refmod */ -#line 7274 "parser.y" +#line 7277 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], yyvsp[-2], yyvsp[0]); } -#line 13423 "parser.c" +#line 13426 "parser.c" break; case 1465: /* function: "FUNCTION NUMVALC" '(' numvalc_args ')' */ -#line 7278 "parser.y" +#line 7281 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-3], yyvsp[-1], NULL); } -#line 13431 "parser.c" +#line 13434 "parser.c" break; case 1466: /* function: "FUNCTION LOCALE" '(' locale_dt_args ')' func_refmod */ -#line 7282 "parser.y" +#line 7285 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-4], yyvsp[-2], yyvsp[0]); } -#line 13439 "parser.c" +#line 13442 "parser.c" break; case 1467: /* function: "FUNCTION" func_args */ -#line 7286 "parser.y" +#line 7289 "parser.y" { yyval = cb_build_intrinsic (yyvsp[-1], yyvsp[0], NULL); } -#line 13447 "parser.c" +#line 13450 "parser.c" break; case 1468: /* func_refmod: %empty */ -#line 7292 "parser.y" +#line 7295 "parser.y" { yyval = NULL; } -#line 13453 "parser.c" +#line 13456 "parser.c" break; case 1469: /* func_refmod: '(' exp ':' ')' */ -#line 7293 "parser.y" +#line 7296 "parser.y" { yyval = cb_build_pair (yyvsp[-2], NULL); } -#line 13459 "parser.c" +#line 13462 "parser.c" break; case 1470: /* func_refmod: '(' exp ':' exp ')' */ -#line 7294 "parser.y" +#line 7297 "parser.y" { yyval = cb_build_pair (yyvsp[-3], yyvsp[-1]); } -#line 13465 "parser.c" +#line 13468 "parser.c" break; case 1471: /* func_args: %empty */ -#line 7298 "parser.y" +#line 7301 "parser.y" { yyval = NULL; } -#line 13471 "parser.c" +#line 13474 "parser.c" break; case 1472: /* func_args: '(' list_func_args ')' */ -#line 7299 "parser.y" +#line 7302 "parser.y" { yyval = yyvsp[-1]; } -#line 13477 "parser.c" +#line 13480 "parser.c" break; case 1473: /* list_func_args: %empty */ -#line 7303 "parser.y" +#line 7306 "parser.y" { yyval = NULL; } -#line 13483 "parser.c" +#line 13486 "parser.c" break; case 1474: /* list_func_args: exp_list */ -#line 7304 "parser.y" +#line 7307 "parser.y" { yyval = yyvsp[0]; } -#line 13489 "parser.c" +#line 13492 "parser.c" break; case 1475: /* trim_args: exp */ -#line 7310 "parser.y" +#line 7313 "parser.y" { cb_tree x; x = cb_list_init (yyvsp[0]); yyval = cb_list_add (x, cb_int0); } -#line 13500 "parser.c" +#line 13503 "parser.c" break; case 1476: /* trim_args: exp e_sep LEADING */ -#line 7317 "parser.y" +#line 7320 "parser.y" { cb_tree x; x = cb_list_init (yyvsp[-2]); yyval = cb_list_add (x, cb_int1); } -#line 13511 "parser.c" +#line 13514 "parser.c" break; case 1477: /* trim_args: exp e_sep TRAILING */ -#line 7324 "parser.y" +#line 7327 "parser.y" { cb_tree x; x = cb_list_init (yyvsp[-2]); yyval = cb_list_add (x, cb_int2); } -#line 13522 "parser.c" +#line 13525 "parser.c" break; case 1478: /* numvalc_args: exp */ -#line 7334 "parser.y" +#line 7337 "parser.y" { cb_tree x; x = cb_list_init (yyvsp[0]); yyval = cb_list_add (x, cb_null); } -#line 13533 "parser.c" +#line 13536 "parser.c" break; case 1479: /* numvalc_args: exp e_sep exp */ -#line 7341 "parser.y" +#line 7344 "parser.y" { cb_tree x; x = cb_list_init (yyvsp[-2]); yyval = cb_list_add (x, yyvsp[0]); } -#line 13544 "parser.c" +#line 13547 "parser.c" break; case 1480: /* locale_dt_args: exp */ -#line 7351 "parser.y" +#line 7354 "parser.y" { cb_tree x; x = cb_list_init (yyvsp[0]); yyval = cb_list_add (x, cb_null); } -#line 13555 "parser.c" +#line 13558 "parser.c" break; case 1481: /* locale_dt_args: exp e_sep reference */ -#line 7358 "parser.y" +#line 7361 "parser.y" { cb_tree x; x = cb_list_init (yyvsp[-2]); yyval = cb_list_add (x, cb_ref (yyvsp[0])); } -#line 13566 "parser.c" +#line 13569 "parser.c" break; case 1482: /* not_const_word: %empty */ -#line 7371 "parser.y" +#line 7374 "parser.y" { non_const_word = 1; } -#line 13574 "parser.c" +#line 13577 "parser.c" break; case 1483: /* flag_all: %empty */ -#line 7381 "parser.y" +#line 7384 "parser.y" { yyval = cb_int0; } -#line 13580 "parser.c" +#line 13583 "parser.c" break; case 1484: /* flag_all: ALL */ -#line 7382 "parser.y" +#line 7385 "parser.y" { yyval = cb_int1; } -#line 13586 "parser.c" +#line 13589 "parser.c" break; case 1485: /* flag_duplicates: %empty */ -#line 7386 "parser.y" +#line 7389 "parser.y" { yyval = cb_int0; } -#line 13592 "parser.c" +#line 13595 "parser.c" break; case 1486: /* flag_duplicates: with_dups */ -#line 7387 "parser.y" +#line 7390 "parser.y" { yyval = cb_int1; } -#line 13598 "parser.c" +#line 13601 "parser.c" break; case 1487: /* flag_initialized: %empty */ -#line 7391 "parser.y" +#line 7394 "parser.y" { yyval = NULL; } -#line 13604 "parser.c" +#line 13607 "parser.c" break; case 1488: /* flag_initialized: INITIALIZED */ -#line 7392 "parser.y" +#line 7395 "parser.y" { yyval = cb_int1; } -#line 13610 "parser.c" +#line 13613 "parser.c" break; case 1489: /* flag_next: %empty */ -#line 7396 "parser.y" +#line 7399 "parser.y" { yyval = cb_int0; } -#line 13616 "parser.c" +#line 13619 "parser.c" break; case 1490: /* flag_next: NEXT */ -#line 7397 "parser.y" +#line 7400 "parser.y" { yyval = cb_int1; } -#line 13622 "parser.c" +#line 13625 "parser.c" break; case 1491: /* flag_next: PREVIOUS */ -#line 7398 "parser.y" +#line 7401 "parser.y" { yyval = cb_int2; } -#line 13628 "parser.c" +#line 13631 "parser.c" break; case 1492: /* flag_not: %empty */ -#line 7402 "parser.y" +#line 7405 "parser.y" { yyval = cb_int0; } -#line 13634 "parser.c" +#line 13637 "parser.c" break; case 1493: /* flag_not: NOT */ -#line 7403 "parser.y" +#line 7406 "parser.y" { yyval = cb_int1; } -#line 13640 "parser.c" +#line 13643 "parser.c" break; case 1494: /* flag_optional: %empty */ -#line 7407 "parser.y" +#line 7410 "parser.y" { yyval = cb_int0; } -#line 13646 "parser.c" +#line 13649 "parser.c" break; case 1495: /* flag_optional: OPTIONAL */ -#line 7408 "parser.y" +#line 7411 "parser.y" { yyval = cb_int1; } -#line 13652 "parser.c" +#line 13655 "parser.c" break; case 1496: /* flag_rounded: %empty */ -#line 7412 "parser.y" +#line 7415 "parser.y" { yyval = cb_int0; } -#line 13658 "parser.c" +#line 13661 "parser.c" break; case 1497: /* flag_rounded: ROUNDED */ -#line 7413 "parser.y" +#line 7416 "parser.y" { yyval = cb_int1; } -#line 13664 "parser.c" +#line 13667 "parser.c" break; case 1498: /* flag_separate: %empty */ -#line 7417 "parser.y" +#line 7420 "parser.y" { yyval = cb_int0; } -#line 13670 "parser.c" +#line 13673 "parser.c" break; case 1499: /* flag_separate: SEPARATE _character */ -#line 7418 "parser.y" +#line 7421 "parser.y" { yyval = cb_int1; } -#line 13676 "parser.c" +#line 13679 "parser.c" break; case 1511: /* _also: ALSO */ -#line 7431 "parser.y" +#line 7434 "parser.y" { yyval = cb_int1; } -#line 13682 "parser.c" +#line 13685 "parser.c" break; case 1540: /* _is: %empty */ -#line 7446 "parser.y" +#line 7449 "parser.y" { yyval = NULL; } -#line 13688 "parser.c" +#line 13691 "parser.c" break; case 1541: /* _is: IS */ -#line 7446 "parser.y" +#line 7449 "parser.y" { yyval = cb_int1; } -#line 13694 "parser.c" +#line 13697 "parser.c" break; case 1552: /* _literal: %empty */ -#line 7451 "parser.y" +#line 7454 "parser.y" { yyval = NULL; } -#line 13700 "parser.c" +#line 13703 "parser.c" break; case 1553: /* _literal: "Literal" */ -#line 7451 "parser.y" +#line 7454 "parser.y" { yyval = yyvsp[0]; } -#line 13706 "parser.c" +#line 13709 "parser.c" break; -#line 13710 "parser.c" +#line 13713 "parser.c" default: break; } @@ -13899,5 +13902,5 @@ yyparse (void) return yyresult; } -#line 7476 "parser.y" +#line 7479 "parser.y" diff --git a/cobj/parser.y b/cobj/parser.y index 4e1a43d7..3fec83b1 100644 --- a/cobj/parser.y +++ b/cobj/parser.y @@ -948,6 +948,9 @@ identification_division: } else { stack_progid[depth] = (char *)(CB_NAME ($3)); } + if(strcmp("MAIN", stack_progid[depth]) == 0) { + cb_error (_("PROGRAM-ID should not be MAIN")); + } if (prog_end) { if (!current_program->flag_validated) { current_program->flag_validated = 1;