diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 4d00a05d096afdfc1122daceaa669054ff1b2974..105d447b8acef5060ab1385239c3367adc9fb123 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -839,7 +839,7 @@ static const yytype_int16 yyrhs[] = 282, -1, 268, -1, 282, -1, 268, -1, 282, -1, -1, 133, 71, 187, 268, 188, -1, -1, 83, 271, -1, 67, 180, 268, 181, 7, 271, 6, -1, 87, - 67, 180, 227, 181, 7, 274, 6, -1, 76, 77, + 67, 180, 227, 181, 212, 274, 6, -1, 76, 77, 274, 7, 268, 6, -1, 70, 180, 268, 181, 7, 274, 6, -1, 92, 70, 274, 6, -1, 74, 180, 268, 181, 7, 274, 6, -1, 68, 180, 268, 181, @@ -849,7 +849,7 @@ static const yytype_int16 yyrhs[] = 127, 180, 268, 181, 7, 274, 129, 274, 128, 268, 6, -1, 70, 4, 180, 268, 181, 7, 274, 6, -1, 88, 70, 180, 268, 181, 7, 274, 6, -1, - 87, 70, 180, 228, 181, 7, 274, 6, -1, 83, + 87, 70, 180, 228, 181, 212, 274, 6, -1, 83, 73, 180, 268, 181, 7, 274, 6, -1, 84, 73, 180, 268, 181, 7, 274, 231, 6, -1, 12, 13, 6, -1, 13, 73, 268, 6, -1, 78, 73, 180, @@ -859,10 +859,10 @@ static const yytype_int16 yyrhs[] = 274, 6, -1, 88, 73, 180, 268, 181, 7, 274, 6, -1, 88, 73, 180, 268, 181, 7, 274, 4, 187, 273, 188, 6, -1, 87, 73, 180, 229, 181, - 7, 274, 6, -1, 86, 75, 180, 268, 181, 7, + 212, 274, 6, -1, 86, 75, 180, 268, 181, 7, 274, 6, -1, 75, 180, 268, 181, 7, 274, 6, -1, 88, 75, 180, 268, 181, 7, 274, 6, -1, - 87, 75, 180, 230, 181, 7, 274, 6, -1, 95, + 87, 75, 180, 230, 181, 212, 274, 6, -1, 95, 271, 187, 235, 188, -1, 94, 187, 271, 186, 271, 186, 268, 188, 187, 235, 188, -1, 96, 271, 187, 235, 188, -1, 97, 187, 271, 186, 268, 188, 187, @@ -1066,42 +1066,42 @@ static const yytype_uint16 yyrline[] = 1090, 1104, 1104, 1106, 1108, 1117, 1127, 1126, 1138, 1148, 1147, 1161, 1163, 1171, 1177, 1184, 1185, 1189, 1200, 1215, 1225, 1226, 1231, 1239, 1248, 1266, 1270, 1279, 1283, 1292, - 1296, 1305, 1309, 1319, 1322, 1335, 1338, 1348, 1371, 1387, - 1410, 1428, 1449, 1467, 1497, 1527, 1545, 1563, 1590, 1608, - 1626, 1645, 1663, 1702, 1708, 1714, 1721, 1746, 1771, 1788, - 1807, 1841, 1861, 1879, 1896, 1912, 1933, 1938, 1943, 1948, - 1953, 1958, 1981, 1987, 1998, 1999, 2004, 2007, 2011, 2034, - 2057, 2080, 2108, 2129, 2155, 2176, 2198, 2218, 2330, 2349, - 2387, 2496, 2505, 2511, 2526, 2554, 2571, 2580, 2594, 2600, - 2606, 2615, 2624, 2633, 2647, 2703, 2721, 2738, 2753, 2772, - 2784, 2808, 2812, 2817, 2824, 2830, 2835, 2841, 2849, 2853, - 2857, 2862, 2917, 2930, 2947, 2964, 2985, 3006, 3041, 3049, - 3055, 3062, 3066, 3075, 3083, 3091, 3100, 3099, 3114, 3113, - 3128, 3127, 3142, 3141, 3155, 3162, 3169, 3176, 3183, 3190, - 3197, 3204, 3211, 3219, 3218, 3232, 3231, 3245, 3244, 3258, - 3257, 3271, 3270, 3284, 3283, 3297, 3296, 3310, 3309, 3323, - 3322, 3339, 3342, 3348, 3360, 3380, 3404, 3408, 3412, 3416, - 3420, 3426, 3432, 3436, 3440, 3444, 3448, 3467, 3480, 3483, - 3499, 3502, 3519, 3522, 3528, 3531, 3538, 3541, 3548, 3604, - 3674, 3679, 3746, 3782, 3790, 3833, 3872, 3892, 3919, 3968, - 3996, 4024, 4028, 4032, 4060, 4099, 4138, 4159, 4180, 4207, - 4211, 4221, 4256, 4257, 4258, 4262, 4268, 4280, 4298, 4326, - 4327, 4328, 4329, 4330, 4331, 4332, 4333, 4334, 4341, 4342, - 4343, 4344, 4345, 4346, 4347, 4348, 4349, 4350, 4351, 4352, - 4353, 4354, 4355, 4356, 4357, 4358, 4359, 4360, 4361, 4362, - 4363, 4364, 4365, 4366, 4367, 4368, 4369, 4370, 4371, 4372, - 4373, 4382, 4383, 4384, 4385, 4386, 4387, 4388, 4389, 4390, - 4391, 4396, 4395, 4403, 4420, 4438, 4456, 4461, 4467, 4479, - 4496, 4514, 4535, 4540, 4545, 4555, 4565, 4570, 4579, 4584, - 4611, 4615, 4619, 4623, 4627, 4634, 4638, 4642, 4646, 4653, - 4658, 4665, 4670, 4674, 4679, 4683, 4691, 4702, 4706, 4718, - 4726, 4734, 4741, 4751, 4780, 4784, 4788, 4792, 4796, 4800, - 4804, 4808, 4812, 4841, 4870, 4899, 4928, 4941, 4954, 4967, - 4980, 4990, 5000, 5012, 5024, 5036, 5054, 5075, 5080, 5084, - 5088, 5100, 5104, 5116, 5123, 5133, 5137, 5152, 5157, 5164, - 5168, 5181, 5189, 5200, 5204, 5212, 5218, 5226, 5234, 5249, - 5263, 5277, 5289, 5305, 5316, 5320, 5339, 5347, 5346, 5359, - 5364, 5370, 5379, 5392, 5395 + 1296, 1305, 1309, 1319, 1322, 1335, 1338, 1348, 1371, 1403, + 1426, 1444, 1465, 1483, 1513, 1543, 1561, 1579, 1606, 1624, + 1642, 1677, 1695, 1734, 1740, 1746, 1753, 1778, 1803, 1820, + 1839, 1873, 1909, 1927, 1944, 1960, 1997, 2002, 2007, 2012, + 2017, 2022, 2045, 2051, 2062, 2063, 2068, 2071, 2075, 2098, + 2121, 2144, 2172, 2193, 2219, 2240, 2262, 2282, 2394, 2413, + 2451, 2560, 2569, 2575, 2590, 2618, 2635, 2644, 2658, 2664, + 2670, 2679, 2688, 2697, 2711, 2767, 2785, 2802, 2817, 2836, + 2848, 2872, 2876, 2881, 2888, 2894, 2899, 2905, 2913, 2917, + 2921, 2926, 2981, 2994, 3011, 3028, 3049, 3070, 3105, 3113, + 3119, 3126, 3130, 3139, 3147, 3155, 3164, 3163, 3178, 3177, + 3192, 3191, 3206, 3205, 3219, 3226, 3233, 3240, 3247, 3254, + 3261, 3268, 3275, 3283, 3282, 3296, 3295, 3309, 3308, 3322, + 3321, 3335, 3334, 3348, 3347, 3361, 3360, 3374, 3373, 3387, + 3386, 3403, 3406, 3412, 3424, 3444, 3468, 3472, 3476, 3480, + 3484, 3490, 3496, 3500, 3504, 3508, 3512, 3531, 3544, 3547, + 3563, 3566, 3583, 3586, 3592, 3595, 3602, 3605, 3612, 3668, + 3738, 3743, 3810, 3846, 3854, 3897, 3936, 3956, 3983, 4032, + 4060, 4088, 4092, 4096, 4124, 4163, 4202, 4223, 4244, 4271, + 4275, 4285, 4320, 4321, 4322, 4326, 4332, 4344, 4362, 4390, + 4391, 4392, 4393, 4394, 4395, 4396, 4397, 4398, 4405, 4406, + 4407, 4408, 4409, 4410, 4411, 4412, 4413, 4414, 4415, 4416, + 4417, 4418, 4419, 4420, 4421, 4422, 4423, 4424, 4425, 4426, + 4427, 4428, 4429, 4430, 4431, 4432, 4433, 4434, 4435, 4436, + 4437, 4446, 4447, 4448, 4449, 4450, 4451, 4452, 4453, 4454, + 4455, 4460, 4459, 4467, 4484, 4502, 4520, 4525, 4531, 4543, + 4560, 4578, 4599, 4604, 4609, 4619, 4629, 4634, 4643, 4648, + 4675, 4679, 4683, 4687, 4691, 4698, 4702, 4706, 4710, 4717, + 4722, 4729, 4734, 4738, 4743, 4747, 4755, 4766, 4770, 4782, + 4790, 4798, 4805, 4815, 4844, 4848, 4852, 4856, 4860, 4864, + 4868, 4872, 4876, 4905, 4934, 4963, 4992, 5005, 5018, 5031, + 5044, 5054, 5064, 5076, 5088, 5100, 5118, 5139, 5144, 5148, + 5152, 5164, 5168, 5180, 5187, 5197, 5201, 5216, 5221, 5228, + 5232, 5245, 5253, 5264, 5268, 5276, 5282, 5290, 5298, 5313, + 5327, 5341, 5353, 5369, 5380, 5384, 5403, 5411, 5410, 5423, + 5428, 5434, 5443, 5456, 5459 }; #endif @@ -1503,174 +1503,174 @@ static const yytype_int16 yypact[] = { 5908, 75, 26, 6024, -1250, -1250, 3187, 34, 71, -66, -61, 42, 156, 178, 245, 82, 261, 293, 136, 171, - -116, 110, 159, 3, 188, 194, 19, 198, 222, 330, - 361, 401, 454, 366, 535, 414, 477, 396, 496, 345, - 479, -36, 424, 603, -22, 452, -64, -64, 481, 297, - 239, 85, 601, 615, 14, 16, 627, 606, 168, 701, - 706, 714, 3919, 720, 529, 551, 583, 27, -1, -1250, - 597, -1250, 742, 777, 617, -1250, 783, 790, 9, 30, + -116, 110, 159, 3, 188, 194, 19, 198, 222, 357, + 334, 387, 468, 317, 480, 439, 446, 396, 474, 345, + 566, -36, 316, 482, -22, 418, -64, -64, 481, 297, + 239, 85, 535, 546, 14, 16, 609, 611, 168, 684, + 693, 715, 3919, 724, 529, 551, 583, 27, -1, -1250, + 597, -1250, 742, 777, 605, -1250, 787, 793, 9, 30, -1250, -1250, -1250, 5762, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, 43, -1250, -128, 106, -1250, 5, -1250, -1250, -1250, -1250, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, -91, - -91, -91, -91, -91, 622, 629, 645, 660, 671, -91, - 679, -1250, -91, -1250, -1250, -1250, -1250, -91, -91, 806, - 683, 702, 707, 708, 716, -1250, -1250, -1250, 5762, 5762, - 5762, 5762, 2348, 15, 783, 309, 717, 743, 459, -1250, - 748, 894, -72, -121, 930, 5762, 1107, 1107, -1250, 5762, + -91, -91, -91, -91, 622, 629, 633, 645, 656, -91, + 668, -1250, -91, -1250, -1250, -1250, -1250, -91, -91, 852, + 683, 702, 716, 720, 750, -1250, -1250, -1250, 5762, 5762, + 5762, 5762, 2348, 15, 787, 309, 748, 749, 459, -1250, + 752, 898, -72, -121, 947, 5762, 1107, 1107, -1250, 5762, -1250, -1250, -1250, 1107, -1250, -1250, -1250, -1250, 5762, 5537, - 5762, 5762, 759, 5762, 5537, 5762, 5762, 773, 5537, 5762, - 5762, 4578, 792, 770, -1250, 5537, 3919, 3919, 3919, 802, - 841, 3919, 3919, 3919, 846, 849, 850, 852, 853, 854, - 855, 856, 4578, 5762, 1034, 4578, 27, 859, 862, -64, - -64, -64, 5762, 5762, -94, -1250, -75, -64, 865, 867, - 868, 3120, -67, 221, 860, 877, 878, 3919, 3919, 4578, - 880, 49, 881, -1250, 1036, -1250, 887, 888, 889, 3919, - 3919, 882, 883, 895, 462, -1250, 896, 37, 31, 80, - 104, 426, 4757, 5762, 3554, -1250, -1250, 2925, -1250, 1079, - -1250, 98, 108, 1080, 5762, 5762, 5762, 906, 5762, 904, - 961, 5762, 5762, -1250, -1250, 5762, 907, 908, 1092, -1250, - 1093, -1250, 1095, -1250, -30, 491, -1250, 4578, 4578, -1250, - 5710, 915, 918, 1156, -1250, -1250, -1250, -1250, -1250, -1250, - 4578, 1102, 928, 5762, 1109, -1250, 5762, 5762, 5762, 5762, + 5762, 5762, 792, 5762, 5537, 5762, 5762, 802, 5537, 5762, + 5762, 4578, 836, 770, -1250, 5537, 3919, 3919, 3919, 837, + 839, 3919, 3919, 3919, 840, 841, 842, 845, 846, 847, + 849, 850, 4578, 5762, 1010, 4578, 27, 848, 851, -64, + -64, -64, 5762, 5762, -94, -1250, -75, -64, 853, 855, + 859, 3120, -67, 221, 854, 856, 869, 3919, 3919, 4578, + 872, 49, 873, -1250, 1026, -1250, 867, 870, 871, 3919, + 3919, 878, 881, 882, 462, -1250, 883, 37, 31, 80, + 104, 607, 4757, 5762, 3554, -1250, -1250, 2925, -1250, 1027, + -1250, 98, 108, 1068, 5762, 5762, 5762, 891, 5762, 889, + 944, 5762, 5762, -1250, -1250, 5762, 896, 897, 1072, -1250, + 1084, -1250, 1085, -1250, -30, 491, -1250, 4578, 4578, -1250, + 5710, 907, 909, 1156, -1250, -1250, -1250, -1250, -1250, -1250, + 4578, 1091, 916, 5762, 1095, -1250, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 1107, 5762, 1107, 1107, 5762, - 1156, 5762, 1107, 1107, 1107, 783, 1156, 936, 936, 936, - 8443, 18, 8098, 117, 932, 1111, 937, 933, -1250, 938, + 1156, 5762, 1107, 1107, 1107, 787, 1156, 922, 922, 922, + 8443, 18, 8098, 117, 918, 1098, 926, 923, -1250, 925, 4796, 5762, 5537, -1250, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, 5762, -1250, -1250, 5762, -1250, -1250, 705, 291, 61, -1250, -1250, 157, 6879, -1250, 196, -86, -68, 8464, 5537, 3148, -1250, 128, - 8485, 8506, 5762, 8527, 300, 8548, 8569, 5762, 331, 8590, - 8611, 1114, 5762, 5762, 384, 1119, 1121, 1130, 5762, 5762, - 1131, 1132, 1132, 5762, 5473, 5473, 5473, 5473, 5762, 5762, - 5762, 1134, 6799, 956, 1136, 957, -1250, -1250, 121, -1250, + 8485, 8506, 5762, 8527, 300, 8548, 8569, 5762, 353, 8590, + 8611, 1108, 5762, 5762, 376, 1110, 1112, 1113, 5762, 5762, + 1114, 1118, 1118, 5762, 5473, 5473, 5473, 5473, 5762, 5762, + 5762, 1119, 6799, 939, 1121, 949, -1250, -1250, 121, -1250, -1250, 6905, 6931, -64, -64, 309, 309, 126, 5762, 5762, 5762, 3120, 3120, 5762, 4796, 170, -1250, 5762, 5762, 5762, - 5762, 5762, 1138, 1137, 1145, 5762, 1147, -1250, 5762, 5762, - 1263, -1250, 5537, 5537, 5537, 1152, 1157, 5762, 5762, 5762, - 5762, 1160, 182, 783, -1250, 1116, 5762, -1250, 1117, -1250, - 1120, -1250, 1122, 38, 39, 40, 41, 5537, 936, -1250, - 8632, -1250, 409, 5762, 4936, -1250, 5762, 358, -1250, 8653, - 8674, 8695, 1038, 6957, -1250, 983, 3499, 8716, 8121, -1250, - -1250, 1391, -1250, 1517, 5762, -1250, 991, 507, 18, 8144, - 5762, 5537, 1168, 1169, -1250, 5762, 8167, 81, 8075, 8075, + 5762, 5762, 1130, 1132, 1134, 5762, 1136, -1250, 5762, 5762, + 1263, -1250, 5537, 5537, 5537, 1137, 1138, 5762, 5762, 5762, + 5762, 1135, 182, 787, -1250, 1096, 5762, -1250, 1103, -1250, + 1104, -1250, 1109, 38, 39, 40, 41, 5537, 922, -1250, + 8632, -1250, 385, 5762, 4936, -1250, 5762, 330, -1250, 8653, + 8674, 8695, 1033, 6957, -1250, 977, 3499, 8716, 8121, -1250, + -1250, 1391, -1250, 1517, 5762, -1250, 984, 409, 18, 8144, + 5762, 5537, 1160, 1162, -1250, 5762, 8167, 81, 8075, 8075, 8075, 8075, 8075, 8075, 8075, 8075, 8075, 8075, 8075, 6983, 8075, 8075, 8075, 8075, 8075, 8075, 8075, 7009, 7035, 7061, - 494, 501, 494, 995, 997, 993, 994, 999, 7087, 235, - 546, 9157, -1250, 744, 1002, 1008, 1004, 1010, 1013, 18, - -1250, 4578, 95, 1156, 5762, 1177, 1197, 28, 1022, -1250, - 325, 20, 29, 326, -1250, 4368, 549, 3523, 1731, 2790, - 662, 662, 440, 440, 440, 440, 270, 270, 936, 936, - 936, 936, 46, 8190, -1250, 5762, 1203, 21, 5537, 1204, - 5537, 5762, 1207, 1107, 1208, -1250, 783, 1209, 1107, 1212, - 5537, 5537, 1083, 1213, 1214, 8737, 1218, 1099, 1219, 1227, - 8758, 1105, 1228, 1232, 5762, 8779, 5498, 1057, -1250, -1250, - -1250, 8800, 8821, 5762, 4578, 1241, 1240, 8842, 1070, 9157, - -1250, 1081, 9157, -1250, 1082, 9157, -1250, 1084, 9157, -1250, - 8863, 8884, 8905, 4578, 5537, 1076, -1250, -1250, 2014, 2472, - -64, 5762, 5762, -1250, -1250, 1073, 1078, 3120, 7113, 7139, - 7165, 6853, 598, -64, 2765, 8926, 5668, 8947, 8968, 8989, - 5762, 1258, -1250, 5762, 9010, -1250, 8213, 8236, -1250, 554, - 558, 568, -1250, -1250, 8259, 8282, 7191, 8305, 108, -1250, - -1250, 5537, -1250, 1086, 1085, 6015, 1090, 1091, 1096, -1250, - 5537, -1250, 5537, -1250, 5537, -1250, 5537, 569, -1250, -1250, - 4126, 5537, 936, -1250, 5537, -1250, 1260, 1264, 1266, 1098, - 5762, 3413, 5762, 5762, -1250, 51, -1250, -1250, 1100, 4578, - 1273, 4578, 143, 6043, 574, -1250, -1250, 8328, 1040, -1250, + 512, 518, 512, 988, 989, 985, 986, 990, 7087, 235, + 423, 9157, -1250, 744, 992, 993, 994, 998, 1002, 18, + -1250, 4578, 95, 1156, 5762, 1169, 1181, 28, 1005, -1250, + 318, 20, 29, 319, -1250, 4368, 487, 3523, 1731, 2790, + 1368, 1368, 440, 440, 440, 440, 270, 270, 922, 922, + 922, 922, 46, 8190, -1250, 5762, 1185, 21, 5537, 1184, + 5537, 5762, 1188, 1107, 1195, -1250, 787, 1199, 1107, 1200, + 5537, 5537, 1058, 1203, 1206, 8737, 1207, 1082, 1209, 1212, + 8758, 1087, 1214, 1218, 5762, 8779, 5498, 1039, -1250, -1250, + -1250, 8800, 8821, 5762, 4578, 1228, 1229, 8842, 1053, 9157, + -1250, 1057, 9157, -1250, 1063, 9157, -1250, 1064, 9157, -1250, + 8863, 8884, 8905, 4578, 5537, 1055, -1250, -1250, 2014, 2472, + -64, 5762, 5762, -1250, -1250, 1073, 1074, 3120, 7113, 7139, + 7165, 6853, 393, -64, 2765, 8926, 5668, 8947, 8968, 8989, + 5762, 1240, -1250, 5762, 9010, -1250, 8213, 8236, -1250, 499, + 520, 536, -1250, -1250, 8259, 8282, 7191, 8305, 108, -1250, + -1250, 5537, -1250, 1077, 1076, 6015, 1078, 1079, 1080, -1250, + 5537, -1250, 5537, -1250, 5537, -1250, 5537, 537, -1250, -1250, + 4126, 5537, 922, -1250, 5537, -1250, 1244, 1257, 1262, 1086, + 5762, 3413, 5762, 5762, -1250, 51, -1250, -1250, 1090, 4578, + 1265, 4578, 143, 6043, 541, -1250, -1250, 8328, 1040, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, 5762, -1250, -1250, -1250, -1250, -1250, -1250, -1250, 5762, 5762, 5762, -1250, 5537, -1250, -1250, -1250, -1250, 1107, 1107, 1107, 1156, -1250, -1250, -1250, -1250, -1250, 5762, -1250, 1107, - -1250, -1250, 5762, 1274, 25, 5762, 1279, 1284, 797, -1250, - 1286, 1088, 27, 1285, -1250, 5537, 5537, 5537, 5537, -1250, - 546, 5762, -1250, 1115, 1124, 1112, -1250, 1294, -1250, -1250, - -1250, -1250, -1250, 108, 8351, -1250, -1250, 1139, 1107, 420, - -1250, 455, 7217, -1250, -1250, -1250, 1298, -1250, -1250, -64, - 3148, -1250, 659, 4578, 4578, 1301, 4578, 691, 4578, 4578, - 1302, 1226, 4578, 4578, 1252, 1304, 1305, 5537, 1308, 1309, - 2906, -1250, -1250, 1311, -1250, 1312, 1315, 1316, 1317, 1318, - 1319, 1320, 1322, 1334, 581, 1314, 3791, -1250, -1250, 187, - 7243, 7269, -1250, -1250, 6071, -83, -64, -64, -64, 1338, - 1337, 1158, 1342, 1164, 33, 54, 64, 130, 1014, -1250, - 205, -1250, 598, 1345, 1347, 1349, 1350, 1352, 9157, -1250, - 1588, 1167, 1354, 1355, 1357, 1291, 5762, 1359, 1360, 5762, - 131, 582, -1250, 5762, -1250, 5762, 5762, 5762, 586, 596, - 604, 605, -1250, 5762, 609, 612, 4578, 4578, 4578, 1365, - 7295, -1250, 4305, 163, 1366, 1367, 4578, 1184, -1250, 1368, - 5762, 1373, -1250, 546, 1374, 1377, -1250, 1380, 8075, 8075, - 8075, 8075, 518, 1205, 1211, 1215, 1216, 536, 542, 9031, - 1217, 1627, -1250, 281, 1221, 1386, 1693, -1250, -1250, -1250, - 27, 5762, -1250, 619, -1250, 620, 626, 632, 633, 18, - 9157, 1220, 5762, 5762, 4578, 1222, -1250, -1250, 1223, -1250, - 1389, 66, 1395, 5762, 4098, 22, 1225, 1243, 1323, 1323, - 4578, 1402, 1246, 1247, 1404, 1430, 4578, 1250, 1432, 1433, - -1250, 1435, 4578, 636, 4578, 4578, 1437, 1436, -1250, 4578, - 4578, 4578, 4578, 4578, 4578, 4578, 4578, -1250, 1438, 504, - -1250, 5762, 5762, 5762, 1256, 1259, -108, -102, -96, 1265, - -1250, 4578, -1250, 5762, -1250, 1442, -1250, 1444, -1250, 1446, - -1250, 1447, -1250, -1250, 3120, 1133, 4162, -1250, 1267, 1270, - 5115, -1250, 5537, -1250, -1250, -1250, 1281, 1947, -1250, -1250, - 8374, 1451, 546, 7321, 7347, 7373, 7399, -1250, -1250, -1250, - -1250, 9157, -1250, 546, 1464, 1465, 1343, -1250, 5762, 5762, - 5762, -1250, 1467, 557, 1295, 1474, -1250, 2006, -1250, 18, + -1250, -1250, 5762, 1266, 25, 5762, 1267, 1272, 797, -1250, + 1273, 1097, 27, 1276, -1250, 5537, 5537, 5537, 5537, -1250, + 423, 5762, -1250, 1105, 1111, 1100, -1250, 1277, -1250, -1250, + -1250, -1250, -1250, 108, 8351, -1250, -1250, 1123, 1107, 301, + -1250, 377, 7217, -1250, -1250, -1250, 1286, -1250, -1250, -64, + 3148, -1250, 659, 4578, 4578, 1288, 4578, 662, 4578, 4578, + 1292, 1225, 4578, 4578, 1252, 1294, 1297, 5537, 1298, 1299, + 2906, -1250, -1250, 1302, -1250, 1304, 18, 18, 18, 18, + 1305, 1308, 1309, 1303, 554, 1313, 3791, -1250, -1250, 187, + 7243, 7269, -1250, -1250, 6071, -83, -64, -64, -64, 1314, + 1316, 1139, 1317, 1144, 33, 54, 64, 130, 1014, -1250, + 205, -1250, 393, 1312, 1319, 1320, 1322, 1333, 9157, -1250, + 1588, 1155, 1337, 1338, 1339, 1275, 5762, 1346, 1347, 5762, + 131, 558, -1250, 5762, -1250, 5762, 5762, 5762, 568, 569, + 574, 578, -1250, 5762, 581, 582, 4578, 4578, 4578, 1350, + 7295, -1250, 4305, 163, 1352, 1353, 4578, 1171, -1250, 1354, + 5762, 1355, -1250, 423, 1357, 1360, -1250, 1359, 8075, 8075, + 8075, 8075, 524, 1180, 1189, 1190, 1183, 531, 532, 9031, + 1191, 1627, -1250, 281, 1196, 1367, 1693, -1250, -1250, -1250, + 27, 5762, -1250, 586, -1250, 596, 604, 619, 620, 18, + 9157, 1201, 5762, 5762, 4578, 1192, -1250, -1250, 1202, -1250, + 1385, 66, 1386, 5762, 4098, 22, 1208, 1211, 1310, 1310, + 4578, 1390, 1213, 1215, 1395, 1399, 4578, 1219, 1401, 1402, + -1250, 1404, 4578, 626, 4578, 4578, 1406, 1424, -1250, 4578, + 4578, 4578, 4578, 4578, 4578, 4578, 4578, -1250, 1405, 826, + -1250, 5762, 5762, 5762, 1246, 1247, -108, -102, -96, 1254, + -1250, 4578, -1250, 5762, -1250, 1431, -1250, 1432, -1250, 1433, + -1250, 1434, -1250, -1250, 3120, 1133, 4162, -1250, 1255, 1256, + 5115, -1250, 5537, -1250, -1250, -1250, 1258, 1947, -1250, -1250, + 8374, 1437, 423, 7321, 7347, 7373, 7399, -1250, -1250, -1250, + -1250, 9157, -1250, 423, 1440, 1441, 1321, -1250, 5762, 5762, + 5762, -1250, 1442, 834, 1269, 1446, -1250, 2006, -1250, 18, -1250, 83, -1250, -1250, -1250, -1250, -1250, -1250, 1107, -1250, - -1250, 1156, 1478, -1250, -1250, 1480, -1250, -1250, -1250, -1250, - -1250, 1156, 5762, 1482, 1489, 28, -1250, 1491, 8397, 27, - -1250, 1494, 1498, 1500, 1501, 4578, 5762, 7425, 7451, 651, - -1250, 5762, 1504, -1250, -1250, 1107, -1250, 7477, 5473, 9157, - -1250, -1250, 5762, 5762, -64, 1503, 1506, 1507, -1250, 5762, - 5762, -1250, -1250, 1508, 5762, -1250, -1250, 1481, 1509, 1335, - 1518, 1362, 5762, -1250, 1525, 1528, 1529, 1530, 1531, 1532, - 842, 1533, 5762, -1250, 5473, 6099, 9052, 4881, 309, 309, - -64, 1534, -64, 1535, -64, 1536, 5762, 363, 1324, 9073, - -1250, -1250, -1250, -1250, 6127, 210, -1250, 1538, 3374, 1540, - 4578, -64, 3374, 1541, 661, 5762, -1250, 1544, 108, -1250, + -1250, 1156, 1449, -1250, -1250, 1450, -1250, -1250, -1250, -1250, + -1250, 1156, 5762, 1451, 1464, 28, -1250, 1465, 8397, 27, + -1250, 1466, 1467, 1474, 1475, 4578, 5762, 7425, 7451, 632, + -1250, 5762, 1478, -1250, -1250, 1107, -1250, 7477, 5473, 9157, + -1250, -1250, 5762, 5762, -64, 1480, 1482, 1487, -1250, 5762, + 5762, -1250, -1250, 1489, 5762, -1250, -1250, 1479, 1491, 1283, + 1494, 1371, 5762, -1250, 1500, 1501, 1502, 1503, 1504, 1506, + 815, 1507, 5762, -1250, 5473, 6099, 9052, 4881, 309, 309, + -64, 1508, -64, 1509, -64, 1516, 5762, 363, 1345, 9073, + -1250, -1250, -1250, -1250, 6127, 210, -1250, 1518, 3374, 1538, + 4578, -64, 3374, 1540, 636, 5762, -1250, 1544, 108, -1250, 5762, 5762, 5762, 5762, -1250, -1250, -1250, 4578, 5060, 415, - 9094, -1250, -1250, 4341, 4578, -1250, -1250, 4578, -1250, 1381, - 546, 3740, 4399, 1549, 2056, -1250, 1516, 1555, -1250, 1379, + 9094, -1250, -1250, 4341, 4578, -1250, -1250, 4578, -1250, 1342, + 423, 3740, 4399, 1549, 2056, -1250, 1554, 1556, -1250, 1379, -1250, -1250, -1250, -1250, -1250, 1558, 486, 9157, 5762, 5762, - 4578, 1378, 664, 9157, -1250, 1560, 5762, 9157, -1250, 6155, - 6183, 446, -1250, -1250, -1250, 6211, 6239, -1250, 6267, 1562, + 4578, 1378, 642, 9157, -1250, 1560, 5762, 9157, -1250, 6155, + 6183, 717, -1250, -1250, -1250, 6211, 6239, -1250, 6267, 1562, -1250, 4578, -1250, 1497, 1564, 9157, -1250, -1250, -1250, -1250, - -1250, -1250, 1384, -1250, -1250, 6826, 2116, 1566, 1390, -1250, - 5762, -1250, 1385, 1388, 224, -1250, 1409, 259, -1250, 1410, - 262, -1250, 1415, 8420, 1572, 4578, 1591, 1419, 5762, -1250, - 5294, 276, -1250, 670, 284, 286, -1250, 1601, 6295, -1250, - 7503, 7529, 7555, 7581, 1484, 5762, -1250, 5762, -1250, -1250, - 5537, 2268, 1602, 1425, 1608, -1250, -1250, 3554, -1250, -1250, - 1107, 9157, -1250, -1250, -1250, 27, -1250, 1485, -1250, -1250, - 5762, 7607, 7633, -1250, 4578, 5762, 1609, -1250, 7659, -1250, - -1250, 1611, 1612, 1613, 1614, 1615, 1617, 674, 1439, -1250, - 4578, 5537, -1250, -1250, 309, 5239, -1250, -1250, 3120, 598, - 3120, 598, 3120, 598, 1618, -1250, 709, 4578, -1250, 6323, - -64, 1619, 5537, -64, -1250, -1250, 5762, 5762, 5762, 5762, - 5762, 6351, 6379, 713, -1250, -1250, 1621, -1250, 733, 2748, - 734, 1622, -1250, 1448, 9157, 5762, 5762, 740, 9157, -1250, - 5762, 746, 756, -1250, -1250, -1250, -1250, -1250, -1250, 1449, - 5762, 757, 760, 1441, 5762, -1250, 6407, 308, 1268, 6435, - 312, 1411, 6463, 376, 1443, -1250, 4578, 1628, 1547, 3959, - 1452, 387, -1250, 761, 421, 7685, 7711, 7737, 7763, 2307, - -1250, -1250, 1632, -1250, 5762, -1250, 1156, -1250, -1250, 5762, - 9115, 7789, 45, 7815, -1250, -1250, 5762, 6491, 1634, 1551, - -1250, 6519, 1639, 5762, 1640, 1641, 5762, 1642, 1643, 5762, - 1650, 1470, -1250, 5762, -1250, 598, -1250, 5537, 1653, 5294, - 5762, 5762, 5762, 5762, -1250, -1250, 2838, -1250, 764, -1250, + -1250, -1250, 1384, -1250, -1250, 6826, 2116, 1566, 1389, -1250, + 5762, -1250, 1408, 1409, 224, -1250, 1415, 259, -1250, 1419, + 262, -1250, 1420, 8420, 1567, 4578, 1570, 1421, 5762, -1250, + 5294, 276, -1250, 643, 284, 286, -1250, 1572, 6295, -1250, + 7503, 7529, 7555, 7581, 1470, 5762, -1250, 5762, -1250, -1250, + 5537, 2268, 1606, 1425, 1608, -1250, -1250, 3554, -1250, -1250, + 1107, 9157, -1250, -1250, -1250, 27, -1250, 1484, -1250, -1250, + 5762, 7607, 7633, -1250, 4578, 5762, 1610, -1250, 7659, -1250, + -1250, 1611, 1612, 1613, 1614, 1615, 1617, 651, 1438, -1250, + 4578, 5537, -1250, -1250, 309, 5239, -1250, -1250, 3120, 393, + 3120, 393, 3120, 393, 1618, -1250, 663, 4578, -1250, 6323, + -64, 1620, 5537, -64, -1250, -1250, 5762, 5762, 5762, 5762, + 5762, 6351, 6379, 664, -1250, -1250, 1621, -1250, 670, 2748, + 674, 1622, -1250, 1447, 9157, 5762, 5762, 709, 9157, -1250, + 5762, 713, 733, -1250, -1250, -1250, -1250, -1250, -1250, 1448, + 5762, 734, 740, 1452, 5762, -1250, 6407, 308, 1268, 6435, + 384, 1411, 6463, 386, 1443, -1250, 4578, 1623, 1546, 3959, + 1454, 421, -1250, 746, 429, 7685, 7711, 7737, 7763, 2307, + -1250, -1250, 1631, -1250, 5762, -1250, 1156, -1250, -1250, 5762, + 9115, 7789, 45, 7815, -1250, -1250, 5762, 6491, 1632, 1555, + -1250, 6519, 1633, 5762, 1640, 1641, 5762, 1642, 1643, 5762, + 1650, 1471, -1250, 5762, -1250, 393, -1250, 5537, 1652, 5294, + 5762, 5762, 5762, 5762, -1250, -1250, 2838, -1250, 756, -1250, 5762, -1250, 4578, 5762, 7841, -1250, -1250, 4578, 1654, -1250, - -1250, 1475, 6547, -1250, -1250, 1476, 6575, -1250, -1250, 1477, - 6603, -1250, 1655, 2444, 1940, 4618, 768, -1250, 429, 824, - 7867, 7893, 7919, 7945, 1156, 1659, 1479, 9136, 825, 6631, - 5762, -1250, -1250, 598, 1663, 598, 1667, 598, 1668, -1250, - -1250, -1250, -1250, 598, 1669, 5537, 1670, 5762, 5762, 5762, - 5762, -1250, -1250, 1107, -1250, 1502, 1672, 6659, 2044, -1250, - 1513, 2300, -1250, 1514, 2462, -1250, 1515, 2553, -1250, 828, - -1250, 7971, 7997, 8023, 8049, 831, -1250, 1520, 4578, -1250, - 1673, 1687, 598, 1688, 598, 1689, 598, -1250, 1690, 5762, - 5762, 5762, 5762, 1107, 1697, 1107, 834, -1250, -1250, 2565, + -1250, 1476, 6547, -1250, -1250, 1477, 6575, -1250, -1250, 1486, + 6603, -1250, 1655, 2444, 1940, 4618, 757, -1250, 431, 760, + 7867, 7893, 7919, 7945, 1156, 1656, 1488, 9136, 761, 6631, + 5762, -1250, -1250, 393, 1659, 393, 1660, 393, 1663, -1250, + -1250, -1250, -1250, 393, 1668, 5537, 1670, 5762, 5762, 5762, + 5762, -1250, -1250, 1107, -1250, 1513, 1672, 6659, 2044, -1250, + 1514, 2300, -1250, 1515, 2462, -1250, 1520, 2553, -1250, 764, + -1250, 7971, 7997, 8023, 8049, 768, -1250, 1522, 4578, -1250, + 1673, 1683, 393, 1687, 393, 1688, 393, -1250, 1689, 5762, + 5762, 5762, 5762, 1107, 1690, 1107, 824, -1250, -1250, 2565, -1250, 2603, -1250, 2680, -1250, 6687, 6715, 6743, 6771, -1250, - -1250, 839, -1250, 1698, 1703, 1705, 1706, -1250, -1250, -1250, + -1250, 825, -1250, 1697, 1698, 1705, 1706, -1250, -1250, -1250, -1250, 1107, 1707, -1250, -1250, -1250, -1250, -1250, -1250 }; @@ -1679,13 +1679,13 @@ static const yytype_int16 yypgoto[] = { -1250, -1250, -1250, -1250, 673, -1250, -1250, -1250, -1250, 190, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, - -1250, -1250, -363, -62, 876, -433, -1250, 1303, -1250, -1250, - -1250, -1250, -1250, 301, -1250, 302, -1250, -1250, -1250, -1250, - -1250, -1250, 667, 1718, -2, -450, -236, -1250, -1250, -1250, + -1250, -1250, -363, -62, 876, -433, -1250, 1306, -1250, -1250, + -1250, -1250, -1250, 298, -1250, 296, -1250, -1250, -1250, -1250, + -1250, -1250, 672, 1719, -2, -450, -236, -1250, -1250, -1250, -1250, -1250, -1250, 1720, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -1250, -921, -908, -1250, - -1250, 1287, -1250, -1250, -1250, -1250, -1250, -1250, 1492, -1250, - -1250, 52, -1250, -1249, 1753, 296, 287, 735, -224, 552, + -1250, 1284, -1250, -1250, -1250, -1250, -1250, -1250, 1492, -1250, + -1250, 52, -1250, -1249, 1753, 587, 287, 735, -224, 552, -1250, 73, 6, -1250, -344, -3, 35 }; @@ -1735,139 +1735,139 @@ static const yytype_int16 yytable[] = 240, 523, 598, 1081, 196, 463, 464, 642, 199, 281, 463, 464, 643, 408, 408, 408, 408, 408, 408, 408, 408, 1104, 408, 408, 463, 464, 1368, 408, 408, 408, - 597, 477, 200, 45, 46, 47, 48, 201, 478, 1676, + 597, 477, 200, 45, 46, 47, 48, 202, 478, 1676, 1438, 53, 215, 281, 56, 216, 822, 1029, 217, 990, 218, 643, 581, 1387, 583, 584, 585, 586, 587, 463, - 464, 590, 463, 464, 202, 594, 595, 596, 314, 315, + 464, 590, 463, 464, 201, 594, 595, 596, 314, 315, 316, 317, 395, 396, 397, 1440, 463, 464, 1442, 398, 680, 683, 686, 689, 463, 464, 463, 464, 318, 319, - 204, 916, 1450, 378, 378, 383, 211, 230, 231, 212, - 1452, 213, 1453, 635, 203, 636, 418, 232, 463, 464, - 166, 418, 463, 464, 241, 418, 651, 209, 657, 281, - 281, 281, 418, 513, 1543, 789, 514, 545, 1546, 515, - 297, 516, 435, 436, 437, 188, 200, 440, 441, 442, - 1233, 1234, 845, 848, 281, 703, 704, 651, 1498, 661, + 203, 916, 1450, 378, 378, 383, 211, 230, 231, 212, + 1452, 213, 1453, 635, 204, 636, 418, 232, 463, 464, + 166, 418, 1041, 929, 241, 418, 651, 651, 657, 281, + 281, 281, 418, 930, 1543, 789, 224, 545, 188, 200, + 297, 931, 932, 933, 205, 845, 848, 934, 935, 936, + 937, 739, 209, 740, 281, 703, 704, 764, 1498, 210, 1501, 281, 1504, 459, 384, 385, 386, 387, 388, 389, - 390, 391, 392, 393, 394, 524, 396, 397, 743, 739, - 836, 740, 398, 482, 483, 764, 463, 464, 281, 219, - 210, 1364, 220, 205, 221, 495, 496, 463, 464, 519, - 1149, 418, 1549, 1282, 1283, 1153, 1154, 1155, 1156, 1157, - 651, 214, 667, 1557, 1163, 1166, 384, 385, 386, 387, + 390, 391, 392, 393, 394, 524, 396, 397, 743, 651, + 836, 661, 398, 1070, 1071, 1072, 1073, 206, 281, 214, + 207, 1364, 225, 208, 463, 464, 463, 464, 1042, 519, + 1149, 418, 651, 651, 667, 1153, 1154, 1155, 1156, 1157, + 1546, 651, 1549, 759, 1163, 1166, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 1103, 463, 464, 1103, 398, 651, 1103, 759, 281, 463, - 464, 1041, 206, 1388, 224, 207, 651, 1559, 208, 837, - 393, 394, 395, 396, 397, 1625, 463, 464, 1022, 398, + 1103, 463, 464, 1103, 398, 779, 1103, 780, 281, 463, + 464, 463, 464, 1388, 739, 229, 740, 1557, 249, 837, + 393, 394, 395, 396, 397, 1559, 250, 1625, 1022, 398, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, - 394, 395, 396, 397, 1594, 281, 1042, 281, 398, 229, - 297, 651, 309, 297, 500, 297, 501, 281, 281, 165, + 394, 395, 396, 397, 1594, 281, 219, 281, 398, 220, + 297, 221, 309, 297, 500, 297, 501, 281, 281, 165, 1172, 166, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 1185, 1409, 237, 418, - 398, 281, 1410, 225, 249, 739, 789, 740, 408, 258, - 643, 876, 739, 408, 740, 250, 1103, 813, 929, 1269, - 281, 281, 1638, 779, 1641, 780, 1644, 257, 930, 739, - 1274, 740, 1647, 519, 651, 261, 931, 932, 933, 284, - 262, 634, 934, 935, 936, 937, 874, 739, 263, 740, - 991, 878, 1162, 739, 283, 740, 996, 739, 1165, 740, - 1103, 285, 1046, 1103, 1047, 651, 1103, 850, 281, 1103, - 651, 1679, 954, 1681, 651, 1683, 955, 281, 293, 281, - 826, 281, 919, 281, 651, 651, 956, 972, 281, 925, - 651, 281, 993, 286, 1052, 940, 1053, 651, 651, 1078, - 1122, 1103, 651, 1103, 1127, 1103, 281, 292, 281, 418, - 418, 418, 651, 294, 1128, 297, 1287, 296, 1352, 1353, - 651, 651, 1129, 1130, 299, 651, 1177, 1132, 651, 295, - 1133, 1037, 351, 1019, 418, 1179, 651, 1180, 1181, 352, - 281, 763, 651, 361, 1182, 297, 297, 297, 651, 651, - 1183, 1184, 651, 408, 1219, 353, 297, 1006, 389, 390, - 391, 392, 393, 394, 395, 396, 397, 1310, 418, 1311, - 354, 398, 281, 281, 281, 281, 1342, 651, 1343, 1377, - 1415, 355, 1416, 408, 408, 408, 1310, 1396, 1451, 357, - 1310, 997, 1489, 362, 408, 297, 384, 385, 386, 387, + 398, 281, 1410, 651, 513, 850, 789, 514, 408, 257, + 515, 876, 516, 408, 258, 651, 1103, 954, 261, 1269, + 281, 281, 1638, 739, 1641, 740, 1644, 262, 643, 739, + 1274, 740, 1647, 519, 813, 739, 651, 740, 955, 284, + 651, 634, 739, 739, 740, 740, 874, 1162, 1165, 263, + 991, 878, 651, 651, 956, 972, 996, 651, 283, 993, + 1103, 285, 1046, 1103, 1047, 1052, 1103, 1053, 281, 1103, + 651, 1679, 1078, 1681, 651, 1683, 1122, 281, 293, 281, + 826, 281, 919, 281, 651, 651, 1127, 1128, 281, 925, + 651, 281, 1129, 286, 651, 940, 1130, 651, 651, 1132, + 1133, 1103, 1179, 1103, 1180, 1103, 281, 292, 281, 418, + 418, 418, 651, 294, 1181, 297, 1287, 295, 1352, 1353, + 651, 296, 1182, 435, 436, 437, 1177, 299, 440, 441, + 442, 1037, 351, 1019, 418, 651, 651, 1183, 1184, 352, + 281, 763, 651, 353, 1219, 297, 297, 297, 1310, 1342, + 1311, 1343, 651, 408, 1377, 354, 297, 1006, 1415, 1310, + 1416, 1451, 1233, 1234, 482, 483, 355, 1310, 418, 1489, + 1282, 1283, 281, 281, 281, 281, 495, 496, 357, 1506, + 651, 1507, 1522, 408, 408, 408, 1524, 1396, 1525, 361, + 643, 997, 1527, 362, 408, 297, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, - 281, 281, 363, 281, 398, 281, 281, 364, 365, 281, - 281, 1003, 1004, 1005, 281, 1506, 366, 1507, 996, 651, - 400, 1522, 1010, 408, 381, 384, 385, 386, 387, 388, - 389, 390, 391, 392, 393, 394, 395, 396, 397, 1524, - 643, 1525, 1527, 398, 419, 418, 1310, 418, 1532, 424, - 382, 1045, 1162, 428, 1534, 399, 403, 763, 881, 422, - 434, 1040, 1165, 1310, 1535, 1538, 651, 651, 1539, 1558, - 1415, 1173, 1605, 427, 651, 1300, 1624, 433, 384, 385, + 281, 281, 363, 281, 398, 281, 281, 463, 464, 281, + 281, 1003, 1004, 1005, 281, 1310, 364, 1532, 996, 1162, + 365, 1534, 1010, 408, 400, 384, 385, 386, 387, 388, + 389, 390, 391, 392, 393, 394, 395, 396, 397, 1165, + 1310, 1535, 1538, 398, 419, 418, 651, 418, 1539, 424, + 366, 1045, 651, 428, 1558, 381, 382, 763, 881, 399, + 434, 1040, 1415, 651, 1605, 1624, 651, 1310, 1626, 1635, + 651, 1173, 1668, 403, 1673, 1300, 1674, 433, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, - 396, 397, 432, 281, 281, 281, 398, 312, 1086, 1087, - 1088, 418, 438, 281, 1493, 326, 327, 328, 329, 330, + 396, 397, 422, 281, 281, 281, 398, 312, 1086, 1087, + 1088, 418, 427, 281, 1493, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, - 651, 1310, 1626, 1635, 651, 356, 1668, 1673, 358, 1674, - 1310, 439, 1693, 359, 360, 1701, 443, 1702, 418, 444, - 445, 281, 446, 447, 448, 449, 450, 418, 453, 418, - 479, 418, 491, 418, 405, 105, 456, 281, 418, 457, - 1200, 418, 468, 281, 469, 470, 1470, 480, 481, 281, - 485, 281, 281, 489, 497, 498, 281, 281, 281, 281, - 281, 281, 281, 281, 492, 493, 494, 499, 503, 131, - 132, 133, 134, 135, 136, 525, 528, 139, 281, 1288, - 532, 534, 141, 142, 535, 143, 166, 311, 539, 540, - 418, 542, 550, 281, 929, 551, 148, 281, 554, 281, - 555, 405, 105, 557, 930, 398, 606, 616, 607, 608, - 165, 664, 931, 932, 933, 668, 609, 669, 934, 935, - 936, 937, 418, 418, 418, 418, 670, 695, 673, 674, - 502, 693, 696, 722, 697, 720, 131, 132, 133, 134, - 135, 136, 723, 725, 139, 297, 1255, 527, 732, 141, - 142, 105, 143, 733, 738, 744, 746, 1290, 769, 747, - 772, 748, 778, 148, 785, 786, 816, 1293, 817, 818, - 819, 1471, 281, 839, 418, 820, 151, 152, 827, 828, - 829, 830, 297, 408, 831, 131, 132, 133, 134, 135, - 136, 840, 1102, 139, 1318, 844, 1288, 865, 141, 142, - 870, 143, 1509, 873, 875, 877, 882, 318, 319, 879, - 883, 884, 148, 929, 995, 886, 888, 729, 730, 731, - 408, 1289, 887, 930, 889, 892, 378, 378, 891, 893, - 1347, 931, 932, 933, 897, 902, 904, 934, 935, 936, - 937, 906, 757, 151, 152, 281, 1321, 281, 1060, 281, - 915, 922, 907, 908, 949, 909, 923, 976, 1315, 962, - 1021, 977, 963, 978, 281, 7, 8, 965, 966, 988, - 1012, 281, 979, 967, 281, 1017, 784, 986, 281, 1392, - 1018, 1024, 1354, 1020, 1357, 1032, 1360, 1399, 1402, 1034, - 1036, 1057, 151, 152, 1033, 1044, 1039, 281, 1050, 1056, - 1371, 1061, 1062, 1374, 1375, 1064, 1065, 1068, 1079, 1069, - 1595, 1256, 1070, 1071, 1072, 1073, 1074, 1075, 281, 1076, + 1310, 1701, 1693, 1702, 453, 356, 432, 438, 358, 439, + 443, 444, 445, 359, 360, 446, 447, 448, 418, 449, + 450, 281, 491, 525, 479, 456, 480, 418, 457, 418, + 468, 418, 469, 418, 405, 105, 470, 281, 418, 481, + 1200, 418, 485, 281, 492, 489, 1470, 493, 494, 281, + 497, 281, 281, 498, 499, 503, 281, 281, 281, 281, + 281, 281, 281, 281, 528, 532, 534, 535, 539, 131, + 132, 133, 134, 135, 136, 166, 311, 139, 281, 1288, + 540, 542, 141, 142, 550, 143, 551, 554, 555, 557, + 418, 398, 606, 281, 929, 607, 148, 281, 608, 281, + 165, 405, 105, 609, 930, 664, 668, 616, 669, 670, + 695, 673, 931, 932, 933, 674, 693, 696, 934, 935, + 936, 937, 418, 418, 418, 418, 697, 720, 722, 738, + 502, 723, 725, 732, 733, 744, 131, 132, 133, 134, + 135, 136, 746, 747, 139, 297, 1255, 527, 748, 141, + 142, 105, 143, 769, 772, 778, 785, 1290, 786, 816, + 817, 818, 819, 148, 828, 839, 820, 1293, 827, 830, + 829, 1471, 281, 831, 418, 840, 151, 152, 844, 865, + 870, 882, 297, 408, 873, 131, 132, 133, 134, 135, + 136, 875, 1102, 139, 1318, 877, 1288, 879, 141, 142, + 883, 143, 1509, 884, 886, 887, 888, 318, 319, 889, + 891, 892, 148, 929, 995, 893, 897, 729, 730, 731, + 408, 1289, 902, 930, 906, 904, 378, 378, 907, 915, + 1347, 931, 932, 933, 908, 909, 949, 934, 935, 936, + 937, 976, 757, 151, 152, 281, 1321, 281, 1060, 281, + 962, 922, 923, 963, 977, 965, 966, 967, 1315, 978, + 979, 988, 1012, 1017, 281, 7, 8, 986, 1018, 1021, + 1020, 281, 1024, 1036, 281, 1032, 784, 1034, 281, 1392, + 1039, 1033, 1354, 1044, 1357, 1050, 1360, 1399, 1402, 1056, + 1057, 1061, 151, 152, 1062, 1064, 1065, 281, 1068, 1077, + 1371, 1069, 1074, 1374, 1375, 1075, 1076, 1079, 1089, 1106, + 1595, 1256, 1090, 1092, 1093, 1107, 1091, 1108, 281, 1109, 610, 21, 22, 611, 24, 25, 612, 27, 613, 29, - 1077, 30, 1089, 1090, 1093, 1091, 35, 36, 1092, 38, - 39, 40, 1106, 1107, 1112, 43, 1108, 1109, 929, 1110, - 1113, 1114, 281, 1115, 1116, 1118, 1119, 281, 930, 1137, - 1142, 1143, 1145, 869, 1146, 871, 931, 932, 933, 1148, - 1150, 1151, 934, 935, 936, 937, 1152, 281, 64, 65, - 66, 1158, 1159, 1175, 281, 1193, 1160, 297, 1169, 418, - 1186, 1196, 1161, 7, 8, 1174, 1204, 1192, 1208, 1191, - 1211, 281, 1202, 384, 385, 386, 387, 388, 389, 390, + 1110, 30, 1112, 1113, 1114, 1115, 35, 36, 1116, 38, + 39, 40, 1118, 1119, 1137, 43, 1142, 1143, 929, 1145, + 1146, 1148, 281, 1150, 1151, 1152, 1158, 281, 930, 1161, + 1159, 1160, 1169, 869, 1175, 871, 931, 932, 933, 1191, + 1174, 1186, 934, 935, 936, 937, 1192, 281, 64, 65, + 66, 1193, 1196, 1204, 281, 1202, 1208, 297, 1203, 418, + 1209, 1211, 1210, 7, 8, 1212, 1214, 1215, 1216, 1217, + 1222, 281, 1232, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, 395, 396, 397, 281, 281, 914, - 1203, 398, 378, 1209, 1210, 408, 1212, 1214, 1215, 1216, - 1217, 1222, 1223, 1238, 281, 1232, 1239, 1246, 1250, 281, - 1251, 728, 1252, 1253, 1260, 1268, 1544, 1261, 610, 21, - 22, 611, 24, 25, 612, 27, 613, 29, 1265, 30, - 1275, 1276, 1277, 1281, 35, 36, 961, 38, 39, 40, - 1285, 1284, 1291, 43, 1292, 968, 1329, 969, 1295, 970, - 1497, 971, 1500, 1296, 1503, 1333, 974, 1298, 168, 975, - 1301, 929, 1511, 281, 1302, 1514, 1303, 1304, 1314, 1322, - 1365, 930, 1323, 1324, 1327, 1330, 64, 65, 66, 931, - 932, 933, 1331, 1405, 1332, 934, 935, 936, 937, 7, - 8, 1336, 1567, 929, 1337, 1338, 1339, 1340, 1341, 1344, - 1355, 1358, 1361, 930, 1369, 418, 1372, 1376, 1002, 418, + 1223, 398, 378, 1238, 1239, 408, 1246, 1250, 1251, 1252, + 1253, 1268, 1260, 1261, 281, 1265, 1275, 1276, 1281, 281, + 1277, 728, 1285, 1291, 1292, 1284, 1544, 1295, 610, 21, + 22, 611, 24, 25, 612, 27, 613, 29, 1296, 30, + 1331, 1298, 1301, 1302, 35, 36, 961, 38, 39, 40, + 1303, 1304, 1314, 43, 1329, 968, 1322, 969, 1323, 970, + 1497, 971, 1500, 1324, 1503, 1327, 974, 1330, 168, 975, + 1332, 929, 1511, 281, 1333, 1514, 1336, 1337, 1338, 1339, + 1340, 930, 1341, 1344, 1355, 1358, 64, 65, 66, 931, + 932, 933, 1361, 1395, 1369, 934, 935, 936, 937, 7, + 8, 1365, 1567, 929, 389, 390, 391, 392, 393, 394, + 395, 396, 397, 930, 1372, 418, 1376, 398, 1002, 418, 1379, 931, 932, 933, 281, 1403, 281, 934, 935, 936, - 937, 1406, 1395, 1407, 1408, 1414, 1417, 1426, 1428, 281, - 1429, 1430, 1433, 1436, 281, 305, 1437, 1434, 1445, 776, + 937, 1405, 1406, 1407, 1408, 1414, 1417, 1426, 1428, 281, + 1429, 1430, 1433, 1445, 281, 305, 1434, 1447, 1454, 776, 1025, 1026, 1027, 1028, 610, 21, 22, 611, 24, 25, - 612, 27, 613, 29, 1111, 30, 1439, 1441, 1447, 1547, - 35, 36, 1443, 38, 39, 40, 1448, 1454, 1465, 43, - 1631, 1598, 1460, 1466, 1467, 1479, 1472, 1483, 1484, 1485, - 1486, 1487, 281, 1488, 1505, 1512, 1490, 1523, 1528, 1540, - 297, 1550, 1063, 1170, 1552, 1529, 1536, 1553, 1565, 1556, - 1576, 1577, 64, 65, 66, 1580, 1583, 1584, 1587, 1588, - 367, 368, 369, 370, 372, 281, 1591, 519, 1592, 1597, - 1612, 1619, 1613, 1615, 1617, 1632, 1633, 404, 408, 1639, - 297, 410, 297, 1642, 1645, 1648, 1650, 418, 1659, 1677, - 415, 417, 420, 421, 418, 423, 417, 425, 426, 1658, - 417, 429, 430, 1678, 1680, 1682, 1684, 417, 297, 1176, - 1662, 1664, 1666, 1690, 1703, 777, 1656, 1675, 408, 1704, - 408, 1705, 1706, 1708, 1195, 452, 1206, 648, 418, 1568, - 1481, 88, 1482, 96, 461, 462, 0, 1297, 0, 676, + 612, 27, 613, 29, 1111, 30, 1436, 1437, 1460, 1547, + 35, 36, 1439, 38, 39, 40, 1441, 1443, 1448, 43, + 1631, 1598, 1465, 1466, 1467, 1472, 1479, 1483, 1484, 1485, + 1486, 1487, 281, 1488, 1505, 1490, 1512, 1523, 1528, 1552, + 297, 1550, 1063, 1170, 1529, 1536, 1553, 1565, 1576, 1580, + 1540, 1556, 64, 65, 66, 1577, 1583, 1584, 1587, 1588, + 367, 368, 369, 370, 372, 281, 1591, 519, 1597, 1592, + 1612, 1619, 1632, 1613, 1615, 1639, 1642, 404, 408, 1645, + 297, 410, 297, 1617, 1648, 1633, 1650, 418, 1659, 1677, + 415, 417, 420, 421, 418, 423, 417, 425, 426, 1678, + 417, 429, 430, 1680, 1682, 1684, 1690, 417, 297, 1176, + 1658, 1662, 1664, 1703, 1704, 777, 1656, 1666, 408, 1675, + 408, 1705, 1706, 1708, 1195, 452, 1482, 1481, 418, 1568, + 648, 1206, 88, 96, 461, 462, 676, 1297, 0, 0, 0, 0, 0, 462, 0, 0, 408, 0, 0, 418, 0, 0, 0, 0, 0, 0, 1689, 0, 1692, 384, 385, 386, 387, 388, 389, 390, 391, 392, 393, 394, @@ -2679,139 +2679,139 @@ static const yytype_int16 yycheck[] = 73, 8, 366, 186, 180, 170, 171, 181, 180, 382, 170, 171, 186, 348, 349, 350, 351, 352, 353, 354, 355, 186, 357, 358, 170, 171, 186, 362, 363, 364, - 365, 180, 180, 94, 95, 96, 97, 77, 187, 1658, + 365, 180, 180, 94, 95, 96, 97, 73, 187, 1658, 186, 102, 67, 416, 105, 70, 181, 850, 73, 782, 75, 186, 349, 8, 351, 352, 353, 354, 355, 170, - 171, 358, 170, 171, 73, 362, 363, 364, 157, 158, + 171, 358, 170, 171, 77, 362, 363, 364, 157, 158, 159, 160, 172, 173, 174, 186, 170, 171, 186, 179, 444, 445, 446, 447, 170, 171, 170, 171, 177, 178, - 6, 697, 186, 465, 466, 6, 70, 170, 171, 73, - 186, 75, 186, 182, 73, 184, 189, 180, 170, 171, - 189, 194, 170, 171, 187, 198, 186, 73, 188, 492, - 493, 494, 205, 67, 186, 557, 70, 6, 186, 73, - 503, 75, 206, 207, 208, 180, 180, 211, 212, 213, - 6, 7, 187, 187, 517, 463, 464, 186, 1439, 188, + 73, 697, 186, 465, 466, 6, 70, 170, 171, 73, + 186, 75, 186, 182, 6, 184, 189, 180, 170, 171, + 189, 194, 181, 90, 187, 198, 186, 186, 188, 492, + 493, 494, 205, 100, 186, 557, 180, 6, 180, 180, + 503, 108, 109, 110, 187, 187, 187, 114, 115, 116, + 117, 181, 73, 183, 517, 463, 464, 187, 1439, 73, 1441, 524, 1443, 471, 161, 162, 163, 164, 165, 166, - 167, 168, 169, 170, 171, 172, 173, 174, 503, 181, - 602, 183, 179, 247, 248, 187, 170, 171, 551, 70, - 73, 188, 73, 187, 75, 259, 260, 170, 171, 272, - 993, 274, 186, 6, 7, 998, 999, 1000, 1001, 1002, - 186, 75, 188, 186, 1007, 1008, 161, 162, 163, 164, + 167, 168, 169, 170, 171, 172, 173, 174, 503, 186, + 602, 188, 179, 906, 907, 908, 909, 67, 551, 75, + 70, 188, 70, 73, 170, 171, 170, 171, 181, 272, + 993, 274, 186, 186, 188, 998, 999, 1000, 1001, 1002, + 186, 186, 186, 188, 1007, 1008, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 1498, 170, 171, 1501, 179, 186, 1504, 188, 601, 170, - 171, 181, 67, 188, 180, 70, 186, 186, 73, 603, - 170, 171, 172, 173, 174, 186, 170, 171, 842, 179, + 171, 170, 171, 188, 181, 187, 183, 186, 73, 603, + 170, 171, 172, 173, 174, 186, 70, 186, 842, 179, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, - 171, 172, 173, 174, 1555, 638, 181, 640, 179, 187, - 643, 186, 180, 646, 182, 648, 184, 650, 651, 187, + 171, 172, 173, 174, 1555, 638, 70, 640, 179, 73, + 643, 75, 180, 646, 182, 648, 184, 650, 651, 187, 1013, 189, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 1029, 181, 187, 382, - 179, 674, 186, 70, 73, 181, 738, 183, 643, 73, - 186, 646, 181, 648, 183, 70, 1594, 186, 90, 1122, - 693, 694, 1613, 186, 1615, 188, 1617, 70, 100, 181, - 1133, 183, 1623, 416, 186, 4, 108, 109, 110, 180, - 4, 6, 114, 115, 116, 117, 643, 181, 4, 183, - 782, 648, 186, 181, 4, 183, 788, 181, 186, 183, - 1638, 180, 73, 1641, 75, 186, 1644, 188, 741, 1647, + 179, 674, 186, 186, 67, 188, 738, 70, 643, 70, + 73, 646, 75, 648, 73, 186, 1594, 188, 4, 1122, + 693, 694, 1613, 181, 1615, 183, 1617, 4, 186, 181, + 1133, 183, 1623, 416, 186, 181, 186, 183, 188, 180, + 186, 6, 181, 181, 183, 183, 643, 186, 186, 4, + 782, 648, 186, 186, 188, 188, 788, 186, 4, 188, + 1638, 180, 73, 1641, 75, 73, 1644, 75, 741, 1647, 186, 1662, 188, 1664, 186, 1666, 188, 750, 6, 752, 6, 754, 700, 756, 186, 186, 188, 188, 761, 707, - 186, 764, 188, 180, 73, 713, 75, 186, 186, 188, + 186, 764, 188, 180, 186, 713, 188, 186, 186, 188, 188, 1679, 186, 1681, 188, 1683, 779, 180, 781, 492, - 493, 494, 186, 6, 188, 788, 1149, 4, 1238, 1239, - 186, 186, 188, 188, 4, 186, 1020, 188, 186, 182, - 188, 863, 180, 6, 517, 186, 186, 188, 188, 180, - 813, 524, 186, 7, 188, 818, 819, 820, 186, 186, - 188, 188, 186, 788, 188, 180, 829, 821, 166, 167, - 168, 169, 170, 171, 172, 173, 174, 186, 551, 188, - 180, 179, 845, 846, 847, 848, 4, 186, 6, 188, - 186, 180, 188, 818, 819, 820, 186, 1290, 188, 180, + 493, 494, 186, 6, 188, 788, 1149, 182, 1238, 1239, + 186, 4, 188, 206, 207, 208, 1020, 4, 211, 212, + 213, 863, 180, 6, 517, 186, 186, 188, 188, 180, + 813, 524, 186, 180, 188, 818, 819, 820, 186, 4, + 188, 6, 186, 788, 188, 180, 829, 821, 186, 186, + 188, 188, 6, 7, 247, 248, 180, 186, 551, 188, + 6, 7, 845, 846, 847, 848, 259, 260, 180, 186, + 186, 188, 188, 818, 819, 820, 186, 1290, 188, 7, 186, 788, 188, 180, 829, 868, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, - 883, 884, 180, 886, 179, 888, 889, 180, 180, 892, + 883, 884, 180, 886, 179, 888, 889, 170, 171, 892, 893, 818, 819, 820, 897, 186, 180, 188, 960, 186, - 6, 188, 829, 868, 187, 161, 162, 163, 164, 165, + 180, 188, 829, 868, 6, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 186, 186, 188, 188, 179, 189, 638, 186, 640, 188, 194, - 187, 879, 186, 198, 188, 187, 6, 650, 651, 180, + 180, 879, 186, 198, 188, 187, 187, 650, 651, 187, 205, 868, 186, 186, 188, 188, 186, 186, 188, 188, - 186, 1013, 188, 180, 186, 1179, 188, 187, 161, 162, + 186, 1013, 188, 6, 186, 1179, 188, 187, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 180, 976, 977, 978, 179, 101, 926, 927, 928, 694, 180, 986, 1434, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, - 186, 186, 188, 188, 186, 139, 188, 186, 142, 188, - 186, 180, 188, 147, 148, 186, 180, 188, 741, 180, - 180, 1034, 180, 180, 180, 180, 180, 750, 4, 752, - 180, 754, 6, 756, 4, 5, 187, 1050, 761, 187, - 1044, 764, 187, 1056, 187, 187, 1400, 180, 180, 1062, - 180, 1064, 1065, 182, 182, 182, 1069, 1070, 1071, 1072, - 1073, 1074, 1075, 1076, 187, 187, 187, 182, 182, 39, - 40, 41, 42, 43, 44, 6, 6, 47, 1091, 1151, - 184, 187, 52, 53, 133, 55, 189, 189, 6, 6, - 813, 6, 187, 1106, 90, 187, 66, 1110, 6, 1112, - 182, 4, 5, 4, 100, 179, 184, 382, 7, 182, - 187, 7, 108, 109, 110, 6, 188, 6, 114, 115, - 116, 117, 845, 846, 847, 848, 6, 181, 7, 7, - 264, 7, 6, 6, 187, 7, 39, 40, 41, 42, - 43, 44, 7, 6, 47, 1158, 1104, 281, 6, 52, - 53, 5, 55, 6, 4, 49, 49, 1161, 130, 49, - 187, 49, 181, 66, 6, 6, 181, 1171, 181, 186, - 186, 1405, 1185, 6, 897, 186, 146, 147, 186, 181, - 186, 181, 1195, 1158, 181, 39, 40, 41, 42, 43, - 44, 4, 188, 47, 1198, 183, 1268, 4, 52, 53, - 6, 55, 1448, 6, 6, 6, 133, 177, 178, 7, - 7, 7, 66, 90, 184, 7, 7, 492, 493, 494, - 1195, 1158, 133, 100, 7, 7, 1238, 1239, 133, 7, - 1234, 108, 109, 110, 187, 4, 6, 114, 115, 116, - 117, 181, 517, 146, 147, 1258, 1204, 1260, 6, 1262, - 184, 188, 181, 181, 6, 181, 188, 7, 1195, 183, - 182, 7, 187, 7, 1277, 12, 13, 187, 187, 6, - 6, 1284, 184, 187, 1287, 6, 551, 187, 1291, 1283, - 6, 6, 1240, 7, 1242, 180, 1244, 1291, 1292, 187, - 6, 75, 146, 147, 180, 7, 167, 1310, 7, 7, - 1258, 7, 7, 1261, 1262, 7, 7, 6, 4, 7, - 1556, 188, 7, 7, 7, 7, 7, 7, 1331, 7, + 186, 186, 188, 188, 4, 139, 180, 180, 142, 180, + 180, 180, 180, 147, 148, 180, 180, 180, 741, 180, + 180, 1034, 6, 6, 180, 187, 180, 750, 187, 752, + 187, 754, 187, 756, 4, 5, 187, 1050, 761, 180, + 1044, 764, 180, 1056, 187, 182, 1400, 187, 187, 1062, + 182, 1064, 1065, 182, 182, 182, 1069, 1070, 1071, 1072, + 1073, 1074, 1075, 1076, 6, 184, 187, 133, 6, 39, + 40, 41, 42, 43, 44, 189, 189, 47, 1091, 1151, + 6, 6, 52, 53, 187, 55, 187, 6, 182, 4, + 813, 179, 184, 1106, 90, 7, 66, 1110, 182, 1112, + 187, 4, 5, 188, 100, 7, 6, 382, 6, 6, + 181, 7, 108, 109, 110, 7, 7, 6, 114, 115, + 116, 117, 845, 846, 847, 848, 187, 7, 6, 4, + 264, 7, 6, 6, 6, 49, 39, 40, 41, 42, + 43, 44, 49, 49, 47, 1158, 1104, 281, 49, 52, + 53, 5, 55, 130, 187, 181, 6, 1161, 6, 181, + 181, 186, 186, 66, 181, 6, 186, 1171, 186, 181, + 186, 1405, 1185, 181, 897, 4, 146, 147, 183, 4, + 6, 133, 1195, 1158, 6, 39, 40, 41, 42, 43, + 44, 6, 188, 47, 1198, 6, 1268, 7, 52, 53, + 7, 55, 1448, 7, 7, 133, 7, 177, 178, 7, + 133, 7, 66, 90, 184, 7, 187, 492, 493, 494, + 1195, 1158, 4, 100, 181, 6, 1238, 1239, 181, 184, + 1234, 108, 109, 110, 181, 181, 6, 114, 115, 116, + 117, 7, 517, 146, 147, 1258, 1204, 1260, 6, 1262, + 183, 188, 188, 187, 7, 187, 187, 187, 1195, 7, + 184, 6, 6, 6, 1277, 12, 13, 187, 6, 182, + 7, 1284, 6, 6, 1287, 180, 551, 187, 1291, 1283, + 167, 180, 1240, 7, 1242, 7, 1244, 1291, 1292, 7, + 75, 7, 146, 147, 7, 7, 7, 1310, 6, 6, + 1258, 7, 7, 1261, 1262, 7, 7, 4, 4, 7, + 1556, 188, 6, 6, 180, 6, 187, 7, 1331, 7, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, - 6, 78, 4, 6, 180, 187, 83, 84, 6, 86, - 87, 88, 7, 6, 187, 92, 7, 7, 90, 7, - 6, 6, 1365, 6, 73, 6, 6, 1370, 100, 4, - 4, 4, 188, 638, 6, 640, 108, 109, 110, 6, - 6, 4, 114, 115, 116, 117, 6, 1390, 125, 126, - 127, 186, 181, 7, 1397, 6, 181, 1400, 181, 1112, - 180, 6, 186, 12, 13, 184, 83, 184, 6, 187, - 6, 1414, 187, 161, 162, 163, 164, 165, 166, 167, + 7, 78, 187, 6, 6, 6, 83, 84, 73, 86, + 87, 88, 6, 6, 4, 92, 4, 4, 90, 188, + 6, 6, 1365, 6, 4, 6, 186, 1370, 100, 186, + 181, 181, 181, 638, 7, 640, 108, 109, 110, 187, + 184, 180, 114, 115, 116, 117, 184, 1390, 125, 126, + 127, 6, 6, 83, 1397, 187, 6, 1400, 187, 1112, + 187, 6, 187, 12, 13, 6, 187, 6, 6, 5, + 4, 1414, 7, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 1430, 1431, 694, - 187, 179, 1434, 187, 187, 1400, 6, 187, 6, 6, - 5, 4, 6, 187, 1447, 7, 187, 182, 6, 1452, - 6, 188, 6, 6, 187, 4, 188, 187, 67, 68, - 69, 70, 71, 72, 73, 74, 75, 76, 187, 78, - 6, 6, 129, 6, 83, 84, 741, 86, 87, 88, - 6, 186, 4, 92, 4, 750, 5, 752, 6, 754, - 1438, 756, 1440, 4, 1442, 133, 761, 6, 6, 764, - 6, 90, 1450, 1506, 6, 1453, 6, 6, 4, 6, - 186, 100, 6, 6, 6, 6, 125, 126, 127, 108, - 109, 110, 187, 7, 6, 114, 115, 116, 117, 12, - 13, 6, 1526, 90, 6, 6, 6, 6, 6, 6, - 6, 6, 6, 100, 6, 1258, 6, 6, 813, 1262, + 6, 179, 1434, 187, 187, 1400, 182, 6, 6, 6, + 6, 4, 187, 187, 1447, 187, 6, 6, 6, 1452, + 129, 188, 6, 4, 4, 186, 188, 6, 67, 68, + 69, 70, 71, 72, 73, 74, 75, 76, 4, 78, + 187, 6, 6, 6, 83, 84, 741, 86, 87, 88, + 6, 6, 4, 92, 5, 750, 6, 752, 6, 754, + 1438, 756, 1440, 6, 1442, 6, 761, 6, 6, 764, + 6, 90, 1450, 1506, 133, 1453, 6, 6, 6, 6, + 6, 100, 6, 6, 6, 6, 125, 126, 127, 108, + 109, 110, 6, 181, 6, 114, 115, 116, 117, 12, + 13, 186, 1526, 90, 166, 167, 168, 169, 170, 171, + 172, 173, 174, 100, 6, 1258, 6, 179, 813, 1262, 6, 108, 109, 110, 1557, 6, 1559, 114, 115, 116, - 117, 6, 181, 184, 6, 187, 6, 5, 71, 1572, - 6, 187, 6, 188, 1577, 83, 188, 187, 6, 188, + 117, 7, 6, 184, 6, 187, 6, 5, 71, 1572, + 6, 187, 6, 6, 1577, 83, 187, 7, 6, 188, 845, 846, 847, 848, 67, 68, 69, 70, 71, 72, - 73, 74, 75, 76, 6, 78, 187, 187, 7, 188, - 83, 84, 187, 86, 87, 88, 187, 6, 6, 92, - 1604, 1559, 128, 188, 6, 6, 131, 6, 6, 6, - 6, 6, 1625, 6, 6, 6, 187, 6, 6, 188, - 1633, 188, 897, 6, 6, 187, 187, 90, 6, 187, - 6, 90, 125, 126, 127, 6, 6, 6, 6, 6, - 158, 159, 160, 161, 162, 1658, 6, 1370, 188, 6, - 6, 6, 187, 187, 187, 6, 187, 175, 1633, 6, - 1673, 179, 1675, 6, 6, 6, 6, 1390, 6, 6, - 188, 189, 190, 191, 1397, 193, 194, 195, 196, 187, + 73, 74, 75, 76, 6, 78, 188, 188, 128, 188, + 83, 84, 187, 86, 87, 88, 187, 187, 187, 92, + 1604, 1559, 6, 188, 6, 131, 6, 6, 6, 6, + 6, 6, 1625, 6, 6, 187, 6, 6, 6, 6, + 1633, 188, 897, 6, 187, 187, 90, 6, 6, 6, + 188, 187, 125, 126, 127, 90, 6, 6, 6, 6, + 158, 159, 160, 161, 162, 1658, 6, 1370, 6, 188, + 6, 6, 6, 187, 187, 6, 6, 175, 1633, 6, + 1673, 179, 1675, 187, 6, 187, 6, 1390, 6, 6, + 188, 189, 190, 191, 1397, 193, 194, 195, 196, 6, 198, 199, 200, 6, 6, 6, 6, 205, 1701, 6, - 187, 187, 187, 6, 6, 188, 1633, 187, 1673, 6, - 1675, 6, 6, 6, 1041, 223, 1049, 414, 1431, 1529, - 1419, 3, 1420, 3, 232, 233, -1, 1175, -1, 442, + 187, 187, 187, 6, 6, 188, 1633, 187, 1673, 187, + 1675, 6, 6, 6, 1041, 223, 1420, 1419, 1431, 1529, + 414, 1049, 3, 3, 232, 233, 442, 1175, -1, -1, -1, -1, -1, 241, -1, -1, 1701, -1, -1, 1452, -1, -1, -1, -1, -1, -1, 1673, -1, 1675, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, @@ -3686,7 +3686,7 @@ static const yytype_uint16 yystos[] = 281, 181, 181, 186, 7, 271, 73, 75, 274, 274, 7, 274, 73, 75, 274, 274, 7, 75, 274, 274, 6, 7, 7, 277, 7, 7, 90, 259, 6, 7, - 7, 7, 7, 7, 7, 7, 7, 6, 188, 4, + 212, 212, 212, 212, 7, 7, 7, 6, 188, 4, 188, 186, 186, 186, 188, 188, 271, 271, 271, 4, 6, 187, 6, 180, 6, 118, 6, 118, 6, 118, 6, 118, 188, 258, 186, 257, 7, 6, 7, 7, @@ -6079,15 +6079,31 @@ yyreduce: #line 1372 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); - if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ + int op = (yyvsp[(6) - (8)].i); + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_POINT); + if(p && op == 0){ yymsg(0, "Physical point %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical point %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_POINT, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_POINT, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++){ + double d; + List_Read((yyvsp[(7) - (8)].l), i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical point %d", num); + } List_Delete((yyvsp[(7) - (8)].l)); (yyval.s).Type = MSH_PHYSICAL_POINT; (yyval.s).Num = num; @@ -6096,7 +6112,7 @@ yyreduce: case 139: /* Line 1787 of yacc.c */ -#line 1388 "Gmsh.y" +#line 1404 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -6120,7 +6136,7 @@ yyreduce: case 140: /* Line 1787 of yacc.c */ -#line 1411 "Gmsh.y" +#line 1427 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -6142,7 +6158,7 @@ yyreduce: case 141: /* Line 1787 of yacc.c */ -#line 1429 "Gmsh.y" +#line 1445 "Gmsh.y" { for (int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double dnum; @@ -6167,7 +6183,7 @@ yyreduce: case 142: /* Line 1787 of yacc.c */ -#line 1450 "Gmsh.y" +#line 1466 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -6189,7 +6205,7 @@ yyreduce: case 143: /* Line 1787 of yacc.c */ -#line 1468 "Gmsh.y" +#line 1484 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -6223,7 +6239,7 @@ yyreduce: case 144: /* Line 1787 of yacc.c */ -#line 1498 "Gmsh.y" +#line 1514 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -6257,7 +6273,7 @@ yyreduce: case 145: /* Line 1787 of yacc.c */ -#line 1528 "Gmsh.y" +#line 1544 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -6279,7 +6295,7 @@ yyreduce: case 146: /* Line 1787 of yacc.c */ -#line 1546 "Gmsh.y" +#line 1562 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -6301,7 +6317,7 @@ yyreduce: case 147: /* Line 1787 of yacc.c */ -#line 1565 "Gmsh.y" +#line 1581 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -6331,7 +6347,7 @@ yyreduce: case 148: /* Line 1787 of yacc.c */ -#line 1591 "Gmsh.y" +#line 1607 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -6353,7 +6369,7 @@ yyreduce: case 149: /* Line 1787 of yacc.c */ -#line 1609 "Gmsh.y" +#line 1625 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindCurve(num)){ @@ -6375,18 +6391,34 @@ yyreduce: case 150: /* Line 1787 of yacc.c */ -#line 1627 "Gmsh.y" +#line 1643 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); - if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ + int op = (yyvsp[(6) - (8)].i); + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_LINE); + if(p && op == 0){ yymsg(0, "Physical line %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical line %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_LINE, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_LINE, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++){ + double d; + List_Read((yyvsp[(7) - (8)].l), i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical line %d", num); + } List_Delete((yyvsp[(7) - (8)].l)); (yyval.s).Type = MSH_PHYSICAL_LINE; (yyval.s).Num = num; @@ -6395,7 +6427,7 @@ yyreduce: case 151: /* Line 1787 of yacc.c */ -#line 1646 "Gmsh.y" +#line 1678 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -6417,7 +6449,7 @@ yyreduce: case 152: /* Line 1787 of yacc.c */ -#line 1664 "Gmsh.y" +#line 1696 "Gmsh.y" { int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ @@ -6460,7 +6492,7 @@ yyreduce: case 153: /* Line 1787 of yacc.c */ -#line 1703 "Gmsh.y" +#line 1735 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -6470,7 +6502,7 @@ yyreduce: case 154: /* Line 1787 of yacc.c */ -#line 1709 "Gmsh.y" +#line 1741 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -6480,7 +6512,7 @@ yyreduce: case 155: /* Line 1787 of yacc.c */ -#line 1715 "Gmsh.y" +#line 1747 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -6491,7 +6523,7 @@ yyreduce: case 156: /* Line 1787 of yacc.c */ -#line 1722 "Gmsh.y" +#line 1754 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -6520,7 +6552,7 @@ yyreduce: case 157: /* Line 1787 of yacc.c */ -#line 1747 "Gmsh.y" +#line 1779 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -6549,7 +6581,7 @@ yyreduce: case 158: /* Line 1787 of yacc.c */ -#line 1772 "Gmsh.y" +#line 1804 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -6570,7 +6602,7 @@ yyreduce: case 159: /* Line 1787 of yacc.c */ -#line 1789 "Gmsh.y" +#line 1821 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -6593,7 +6625,7 @@ yyreduce: case 160: /* Line 1787 of yacc.c */ -#line 1809 "Gmsh.y" +#line 1841 "Gmsh.y" { int num = (int)(yyvsp[(4) - (12)].d); if(FindSurface(num)){ @@ -6630,18 +6662,34 @@ yyreduce: case 161: /* Line 1787 of yacc.c */ -#line 1842 "Gmsh.y" +#line 1874 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); - if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ + int op = (yyvsp[(6) - (8)].i); + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE); + if(p && op == 0){ yymsg(0, "Physical surface %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical surface %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_SURFACE, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_SURFACE, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++){ + double d; + List_Read((yyvsp[(7) - (8)].l), i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical surface %d", num); + } List_Delete((yyvsp[(7) - (8)].l)); (yyval.s).Type = MSH_PHYSICAL_SURFACE; (yyval.s).Num = num; @@ -6650,7 +6698,7 @@ yyreduce: case 162: /* Line 1787 of yacc.c */ -#line 1862 "Gmsh.y" +#line 1910 "Gmsh.y" { yymsg(0, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -6672,7 +6720,7 @@ yyreduce: case 163: /* Line 1787 of yacc.c */ -#line 1880 "Gmsh.y" +#line 1928 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -6693,7 +6741,7 @@ yyreduce: case 164: /* Line 1787 of yacc.c */ -#line 1897 "Gmsh.y" +#line 1945 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindVolume(num)){ @@ -6713,18 +6761,34 @@ yyreduce: case 165: /* Line 1787 of yacc.c */ -#line 1913 "Gmsh.y" +#line 1961 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); - if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ + int op = (yyvsp[(6) - (8)].i); + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME); + if(p && op == 0){ yymsg(0, "Physical volume %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical volume %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt((yyvsp[(7) - (8)].l)); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_VOLUME, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_VOLUME, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr((yyvsp[(7) - (8)].l)); i++){ + double d; + List_Read((yyvsp[(7) - (8)].l), i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical volume %d", num); + } List_Delete((yyvsp[(7) - (8)].l)); (yyval.s).Type = MSH_PHYSICAL_VOLUME; (yyval.s).Num = num; @@ -6733,7 +6797,7 @@ yyreduce: case 166: /* Line 1787 of yacc.c */ -#line 1934 "Gmsh.y" +#line 1998 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -6742,7 +6806,7 @@ yyreduce: case 167: /* Line 1787 of yacc.c */ -#line 1939 "Gmsh.y" +#line 2003 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); @@ -6751,7 +6815,7 @@ yyreduce: case 168: /* Line 1787 of yacc.c */ -#line 1944 "Gmsh.y" +#line 2008 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -6760,7 +6824,7 @@ yyreduce: case 169: /* Line 1787 of yacc.c */ -#line 1949 "Gmsh.y" +#line 2013 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -6769,7 +6833,7 @@ yyreduce: case 170: /* Line 1787 of yacc.c */ -#line 1954 "Gmsh.y" +#line 2018 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].v)[0], (yyvsp[(5) - (9)].v)[1], (yyvsp[(5) - (9)].v)[2], (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -6778,7 +6842,7 @@ yyreduce: case 171: /* Line 1787 of yacc.c */ -#line 1959 "Gmsh.y" +#line 2023 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){ @@ -6805,7 +6869,7 @@ yyreduce: case 172: /* Line 1787 of yacc.c */ -#line 1982 "Gmsh.y" +#line 2046 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -6815,7 +6879,7 @@ yyreduce: case 173: /* Line 1787 of yacc.c */ -#line 1988 "Gmsh.y" +#line 2052 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape*)); List_T *tmp = ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); @@ -6827,19 +6891,19 @@ yyreduce: case 174: /* Line 1787 of yacc.c */ -#line 1998 "Gmsh.y" +#line 2062 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } break; case 175: /* Line 1787 of yacc.c */ -#line 1999 "Gmsh.y" +#line 2063 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } break; case 176: /* Line 1787 of yacc.c */ -#line 2004 "Gmsh.y" +#line 2068 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); } @@ -6847,7 +6911,7 @@ yyreduce: case 177: /* Line 1787 of yacc.c */ -#line 2008 "Gmsh.y" +#line 2072 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); } @@ -6855,7 +6919,7 @@ yyreduce: case 178: /* Line 1787 of yacc.c */ -#line 2012 "Gmsh.y" +#line 2076 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6882,7 +6946,7 @@ yyreduce: case 179: /* Line 1787 of yacc.c */ -#line 2035 "Gmsh.y" +#line 2099 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6909,7 +6973,7 @@ yyreduce: case 180: /* Line 1787 of yacc.c */ -#line 2058 "Gmsh.y" +#line 2122 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6936,7 +7000,7 @@ yyreduce: case 181: /* Line 1787 of yacc.c */ -#line 2081 "Gmsh.y" +#line 2145 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -6963,7 +7027,7 @@ yyreduce: case 182: /* Line 1787 of yacc.c */ -#line 2109 "Gmsh.y" +#line 2173 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){ @@ -6988,7 +7052,7 @@ yyreduce: case 183: /* Line 1787 of yacc.c */ -#line 2130 "Gmsh.y" +#line 2194 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) int t = (int)(yyvsp[(4) - (10)].d); @@ -7018,7 +7082,7 @@ yyreduce: case 184: /* Line 1787 of yacc.c */ -#line 2157 "Gmsh.y" +#line 2221 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(12) - (14)].l)) == 0){ @@ -7042,7 +7106,7 @@ yyreduce: case 185: /* Line 1787 of yacc.c */ -#line 2178 "Gmsh.y" +#line 2242 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(14) - (16)].l)) == 0){ @@ -7067,7 +7131,7 @@ yyreduce: case 186: /* Line 1787 of yacc.c */ -#line 2199 "Gmsh.y" +#line 2263 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){ @@ -7091,7 +7155,7 @@ yyreduce: case 187: /* Line 1787 of yacc.c */ -#line 2219 "Gmsh.y" +#line 2283 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (8)].c), "Union")){ @@ -7207,7 +7271,7 @@ yyreduce: case 188: /* Line 1787 of yacc.c */ -#line 2331 "Gmsh.y" +#line 2395 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (8)].c), "MathEval")){ @@ -7230,7 +7294,7 @@ yyreduce: case 189: /* Line 1787 of yacc.c */ -#line 2350 "Gmsh.y" +#line 2414 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){ @@ -7272,7 +7336,7 @@ yyreduce: case 190: /* Line 1787 of yacc.c */ -#line 2389 "Gmsh.y" +#line 2453 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (14)].c), "Cylinder") && List_Nbr((yyvsp[(12) - (14)].l)) == 1){ @@ -7379,7 +7443,7 @@ yyreduce: case 191: /* Line 1787 of yacc.c */ -#line 2497 "Gmsh.y" +#line 2561 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -7392,7 +7456,7 @@ yyreduce: case 192: /* Line 1787 of yacc.c */ -#line 2506 "Gmsh.y" +#line 2570 "Gmsh.y" { #if defined(HAVE_MESH) GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); @@ -7402,7 +7466,7 @@ yyreduce: case 193: /* Line 1787 of yacc.c */ -#line 2512 "Gmsh.y" +#line 2576 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -7421,7 +7485,7 @@ yyreduce: case 194: /* Line 1787 of yacc.c */ -#line 2527 "Gmsh.y" +#line 2591 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ ClearProject(); @@ -7453,7 +7517,7 @@ yyreduce: case 195: /* Line 1787 of yacc.c */ -#line 2555 "Gmsh.y" +#line 2619 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -7469,7 +7533,7 @@ yyreduce: case 196: /* Line 1787 of yacc.c */ -#line 2572 "Gmsh.y" +#line 2636 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -7482,7 +7546,7 @@ yyreduce: case 197: /* Line 1787 of yacc.c */ -#line 2581 "Gmsh.y" +#line 2645 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++){ Shape TheShape; @@ -7495,7 +7559,7 @@ yyreduce: case 198: /* Line 1787 of yacc.c */ -#line 2595 "Gmsh.y" +#line 2659 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1, false); @@ -7505,7 +7569,7 @@ yyreduce: case 199: /* Line 1787 of yacc.c */ -#line 2601 "Gmsh.y" +#line 2665 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0, false); @@ -7515,7 +7579,7 @@ yyreduce: case 200: /* Line 1787 of yacc.c */ -#line 2607 "Gmsh.y" +#line 2671 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -7528,7 +7592,7 @@ yyreduce: case 201: /* Line 1787 of yacc.c */ -#line 2616 "Gmsh.y" +#line 2680 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -7541,7 +7605,7 @@ yyreduce: case 202: /* Line 1787 of yacc.c */ -#line 2625 "Gmsh.y" +#line 2689 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -7554,7 +7618,7 @@ yyreduce: case 203: /* Line 1787 of yacc.c */ -#line 2634 "Gmsh.y" +#line 2698 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -7567,7 +7631,7 @@ yyreduce: case 204: /* Line 1787 of yacc.c */ -#line 2648 "Gmsh.y" +#line 2712 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c)); @@ -7627,7 +7691,7 @@ yyreduce: case 205: /* Line 1787 of yacc.c */ -#line 2704 "Gmsh.y" +#line 2768 "Gmsh.y" { int n = List_Nbr((yyvsp[(3) - (5)].l)); if(n == 1){ @@ -7649,7 +7713,7 @@ yyreduce: case 206: /* Line 1787 of yacc.c */ -#line 2722 "Gmsh.y" +#line 2786 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -7670,7 +7734,7 @@ yyreduce: case 207: /* Line 1787 of yacc.c */ -#line 2739 "Gmsh.y" +#line 2803 "Gmsh.y" { #if defined(HAVE_POST) && defined(HAVE_MESH) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -7689,7 +7753,7 @@ yyreduce: case 208: /* Line 1787 of yacc.c */ -#line 2754 "Gmsh.y" +#line 2818 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -7712,7 +7776,7 @@ yyreduce: case 209: /* Line 1787 of yacc.c */ -#line 2773 "Gmsh.y" +#line 2837 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -7728,7 +7792,7 @@ yyreduce: case 210: /* Line 1787 of yacc.c */ -#line 2785 "Gmsh.y" +#line 2849 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -7756,7 +7820,7 @@ yyreduce: case 211: /* Line 1787 of yacc.c */ -#line 2809 "Gmsh.y" +#line 2873 "Gmsh.y" { Msg::Exit(0); } @@ -7764,7 +7828,7 @@ yyreduce: case 212: /* Line 1787 of yacc.c */ -#line 2813 "Gmsh.y" +#line 2877 "Gmsh.y" { gmsh_yyerrorstate = 999; // this will be checked when yyparse returns YYABORT; @@ -7773,7 +7837,7 @@ yyreduce: case 213: /* Line 1787 of yacc.c */ -#line 2818 "Gmsh.y" +#line 2882 "Gmsh.y" { // FIXME: this is a hack to force a transfer from the old DB to // the new DB. This will become unnecessary if/when we fill the @@ -7784,7 +7848,7 @@ yyreduce: case 214: /* Line 1787 of yacc.c */ -#line 2825 "Gmsh.y" +#line 2889 "Gmsh.y" { CTX::instance()->forcedBBox = 0; GModel::current()->importGEOInternals(); @@ -7794,7 +7858,7 @@ yyreduce: case 215: /* Line 1787 of yacc.c */ -#line 2831 "Gmsh.y" +#line 2895 "Gmsh.y" { CTX::instance()->forcedBBox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); @@ -7803,7 +7867,7 @@ yyreduce: case 216: /* Line 1787 of yacc.c */ -#line 2836 "Gmsh.y" +#line 2900 "Gmsh.y" { #if defined(HAVE_OPENGL) drawContext::global()->draw(); @@ -7813,7 +7877,7 @@ yyreduce: case 217: /* Line 1787 of yacc.c */ -#line 2842 "Gmsh.y" +#line 2906 "Gmsh.y" { #if defined(HAVE_OPENGL) CTX::instance()->mesh.changed = ENT_ALL; @@ -7825,7 +7889,7 @@ yyreduce: case 218: /* Line 1787 of yacc.c */ -#line 2850 "Gmsh.y" +#line 2914 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); } @@ -7833,7 +7897,7 @@ yyreduce: case 219: /* Line 1787 of yacc.c */ -#line 2854 "Gmsh.y" +#line 2918 "Gmsh.y" { GModel::current()->createTopologyFromMesh(1); } @@ -7841,7 +7905,7 @@ yyreduce: case 220: /* Line 1787 of yacc.c */ -#line 2858 "Gmsh.y" +#line 2922 "Gmsh.y" { GModel::current()->importGEOInternals(); GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear); @@ -7850,7 +7914,7 @@ yyreduce: case 221: /* Line 1787 of yacc.c */ -#line 2864 "Gmsh.y" +#line 2928 "Gmsh.y" { int lock = CTX::instance()->lock; CTX::instance()->lock = 0; @@ -7908,7 +7972,7 @@ yyreduce: case 222: /* Line 1787 of yacc.c */ -#line 2918 "Gmsh.y" +#line 2982 "Gmsh.y" { #if defined(HAVE_MESH) SetOrderN(GModel::current(), (yyvsp[(2) - (3)].d), CTX::instance()->mesh.secondOrderLinear, @@ -7920,7 +7984,7 @@ yyreduce: case 223: /* Line 1787 of yacc.c */ -#line 2931 "Gmsh.y" +#line 2995 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -7941,7 +8005,7 @@ yyreduce: case 224: /* Line 1787 of yacc.c */ -#line 2948 "Gmsh.y" +#line 3012 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -7962,7 +8026,7 @@ yyreduce: case 225: /* Line 1787 of yacc.c */ -#line 2965 "Gmsh.y" +#line 3029 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -7987,7 +8051,7 @@ yyreduce: case 226: /* Line 1787 of yacc.c */ -#line 2986 "Gmsh.y" +#line 3050 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -8012,7 +8076,7 @@ yyreduce: case 227: /* Line 1787 of yacc.c */ -#line 3007 "Gmsh.y" +#line 3071 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -8051,7 +8115,7 @@ yyreduce: case 228: /* Line 1787 of yacc.c */ -#line 3042 "Gmsh.y" +#line 3106 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -8063,7 +8127,7 @@ yyreduce: case 229: /* Line 1787 of yacc.c */ -#line 3050 "Gmsh.y" +#line 3114 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -8073,7 +8137,7 @@ yyreduce: case 230: /* Line 1787 of yacc.c */ -#line 3056 "Gmsh.y" +#line 3120 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -8084,7 +8148,7 @@ yyreduce: case 231: /* Line 1787 of yacc.c */ -#line 3063 "Gmsh.y" +#line 3127 "Gmsh.y" { if(!(yyvsp[(3) - (4)].d)) skip_until("If", "EndIf"); } @@ -8092,14 +8156,14 @@ yyreduce: case 232: /* Line 1787 of yacc.c */ -#line 3067 "Gmsh.y" +#line 3131 "Gmsh.y" { } break; case 233: /* Line 1787 of yacc.c */ -#line 3076 "Gmsh.y" +#line 3140 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -8111,7 +8175,7 @@ yyreduce: case 234: /* Line 1787 of yacc.c */ -#line 3084 "Gmsh.y" +#line 3148 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -8123,7 +8187,7 @@ yyreduce: case 235: /* Line 1787 of yacc.c */ -#line 3092 "Gmsh.y" +#line 3156 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -8135,7 +8199,7 @@ yyreduce: case 236: /* Line 1787 of yacc.c */ -#line 3100 "Gmsh.y" +#line 3164 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8145,7 +8209,7 @@ yyreduce: case 237: /* Line 1787 of yacc.c */ -#line 3106 "Gmsh.y" +#line 3170 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -8157,7 +8221,7 @@ yyreduce: case 238: /* Line 1787 of yacc.c */ -#line 3114 "Gmsh.y" +#line 3178 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8167,7 +8231,7 @@ yyreduce: case 239: /* Line 1787 of yacc.c */ -#line 3120 "Gmsh.y" +#line 3184 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -8179,7 +8243,7 @@ yyreduce: case 240: /* Line 1787 of yacc.c */ -#line 3128 "Gmsh.y" +#line 3192 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8189,7 +8253,7 @@ yyreduce: case 241: /* Line 1787 of yacc.c */ -#line 3134 "Gmsh.y" +#line 3198 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -8201,7 +8265,7 @@ yyreduce: case 242: /* Line 1787 of yacc.c */ -#line 3142 "Gmsh.y" +#line 3206 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8211,7 +8275,7 @@ yyreduce: case 243: /* Line 1787 of yacc.c */ -#line 3148 "Gmsh.y" +#line 3212 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(BOUNDARY_LAYER, (yyvsp[(3) - (6)].l), 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., @@ -8222,7 +8286,7 @@ yyreduce: case 244: /* Line 1787 of yacc.c */ -#line 3156 "Gmsh.y" +#line 3220 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -8233,7 +8297,7 @@ yyreduce: case 245: /* Line 1787 of yacc.c */ -#line 3163 "Gmsh.y" +#line 3227 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -8244,7 +8308,7 @@ yyreduce: case 246: /* Line 1787 of yacc.c */ -#line 3170 "Gmsh.y" +#line 3234 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -8255,7 +8319,7 @@ yyreduce: case 247: /* Line 1787 of yacc.c */ -#line 3177 "Gmsh.y" +#line 3241 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -8266,7 +8330,7 @@ yyreduce: case 248: /* Line 1787 of yacc.c */ -#line 3184 "Gmsh.y" +#line 3248 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -8277,7 +8341,7 @@ yyreduce: case 249: /* Line 1787 of yacc.c */ -#line 3191 "Gmsh.y" +#line 3255 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -8288,7 +8352,7 @@ yyreduce: case 250: /* Line 1787 of yacc.c */ -#line 3198 "Gmsh.y" +#line 3262 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -8299,7 +8363,7 @@ yyreduce: case 251: /* Line 1787 of yacc.c */ -#line 3205 "Gmsh.y" +#line 3269 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -8310,7 +8374,7 @@ yyreduce: case 252: /* Line 1787 of yacc.c */ -#line 3212 "Gmsh.y" +#line 3276 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -8321,7 +8385,7 @@ yyreduce: case 253: /* Line 1787 of yacc.c */ -#line 3219 "Gmsh.y" +#line 3283 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8331,7 +8395,7 @@ yyreduce: case 254: /* Line 1787 of yacc.c */ -#line 3225 "Gmsh.y" +#line 3289 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -8342,7 +8406,7 @@ yyreduce: case 255: /* Line 1787 of yacc.c */ -#line 3232 "Gmsh.y" +#line 3296 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8352,7 +8416,7 @@ yyreduce: case 256: /* Line 1787 of yacc.c */ -#line 3238 "Gmsh.y" +#line 3302 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -8363,7 +8427,7 @@ yyreduce: case 257: /* Line 1787 of yacc.c */ -#line 3245 "Gmsh.y" +#line 3309 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8373,7 +8437,7 @@ yyreduce: case 258: /* Line 1787 of yacc.c */ -#line 3251 "Gmsh.y" +#line 3315 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -8384,7 +8448,7 @@ yyreduce: case 259: /* Line 1787 of yacc.c */ -#line 3258 "Gmsh.y" +#line 3322 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8394,7 +8458,7 @@ yyreduce: case 260: /* Line 1787 of yacc.c */ -#line 3264 "Gmsh.y" +#line 3328 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -8405,7 +8469,7 @@ yyreduce: case 261: /* Line 1787 of yacc.c */ -#line 3271 "Gmsh.y" +#line 3335 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8415,7 +8479,7 @@ yyreduce: case 262: /* Line 1787 of yacc.c */ -#line 3277 "Gmsh.y" +#line 3341 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -8426,7 +8490,7 @@ yyreduce: case 263: /* Line 1787 of yacc.c */ -#line 3284 "Gmsh.y" +#line 3348 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8436,7 +8500,7 @@ yyreduce: case 264: /* Line 1787 of yacc.c */ -#line 3290 "Gmsh.y" +#line 3354 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -8447,7 +8511,7 @@ yyreduce: case 265: /* Line 1787 of yacc.c */ -#line 3297 "Gmsh.y" +#line 3361 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8457,7 +8521,7 @@ yyreduce: case 266: /* Line 1787 of yacc.c */ -#line 3303 "Gmsh.y" +#line 3367 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -8468,7 +8532,7 @@ yyreduce: case 267: /* Line 1787 of yacc.c */ -#line 3310 "Gmsh.y" +#line 3374 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8478,7 +8542,7 @@ yyreduce: case 268: /* Line 1787 of yacc.c */ -#line 3316 "Gmsh.y" +#line 3380 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -8489,7 +8553,7 @@ yyreduce: case 269: /* Line 1787 of yacc.c */ -#line 3323 "Gmsh.y" +#line 3387 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8499,7 +8563,7 @@ yyreduce: case 270: /* Line 1787 of yacc.c */ -#line 3329 "Gmsh.y" +#line 3393 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -8510,21 +8574,21 @@ yyreduce: case 271: /* Line 1787 of yacc.c */ -#line 3340 "Gmsh.y" +#line 3404 "Gmsh.y" { } break; case 272: /* Line 1787 of yacc.c */ -#line 3343 "Gmsh.y" +#line 3407 "Gmsh.y" { } break; case 273: /* Line 1787 of yacc.c */ -#line 3349 "Gmsh.y" +#line 3413 "Gmsh.y" { int n = (int)fabs((yyvsp[(3) - (5)].d)); if(n){ // we accept n==0 to easily disable layers @@ -8540,7 +8604,7 @@ yyreduce: case 274: /* Line 1787 of yacc.c */ -#line 3361 "Gmsh.y" +#line 3425 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -8564,7 +8628,7 @@ yyreduce: case 275: /* Line 1787 of yacc.c */ -#line 3381 "Gmsh.y" +#line 3445 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -8591,7 +8655,7 @@ yyreduce: case 276: /* Line 1787 of yacc.c */ -#line 3405 "Gmsh.y" +#line 3469 "Gmsh.y" { extr.mesh.ScaleLast = true; } @@ -8599,7 +8663,7 @@ yyreduce: case 277: /* Line 1787 of yacc.c */ -#line 3409 "Gmsh.y" +#line 3473 "Gmsh.y" { extr.mesh.Recombine = true; } @@ -8607,7 +8671,7 @@ yyreduce: case 278: /* Line 1787 of yacc.c */ -#line 3413 "Gmsh.y" +#line 3477 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); } @@ -8615,7 +8679,7 @@ yyreduce: case 279: /* Line 1787 of yacc.c */ -#line 3417 "Gmsh.y" +#line 3481 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); } @@ -8623,7 +8687,7 @@ yyreduce: case 280: /* Line 1787 of yacc.c */ -#line 3421 "Gmsh.y" +#line 3485 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -8633,7 +8697,7 @@ yyreduce: case 281: /* Line 1787 of yacc.c */ -#line 3427 "Gmsh.y" +#line 3491 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -8643,7 +8707,7 @@ yyreduce: case 282: /* Line 1787 of yacc.c */ -#line 3433 "Gmsh.y" +#line 3497 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1; } @@ -8651,7 +8715,7 @@ yyreduce: case 283: /* Line 1787 of yacc.c */ -#line 3437 "Gmsh.y" +#line 3501 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB; } @@ -8659,7 +8723,7 @@ yyreduce: case 284: /* Line 1787 of yacc.c */ -#line 3441 "Gmsh.y" +#line 3505 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1; } @@ -8667,7 +8731,7 @@ yyreduce: case 285: /* Line 1787 of yacc.c */ -#line 3445 "Gmsh.y" +#line 3509 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB; } @@ -8675,7 +8739,7 @@ yyreduce: case 286: /* Line 1787 of yacc.c */ -#line 3449 "Gmsh.y" +#line 3513 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -8698,7 +8762,7 @@ yyreduce: case 287: /* Line 1787 of yacc.c */ -#line 3468 "Gmsh.y" +#line 3532 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -8710,7 +8774,7 @@ yyreduce: case 288: /* Line 1787 of yacc.c */ -#line 3480 "Gmsh.y" +#line 3544 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; } @@ -8718,7 +8782,7 @@ yyreduce: case 289: /* Line 1787 of yacc.c */ -#line 3484 "Gmsh.y" +#line 3548 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -8735,7 +8799,7 @@ yyreduce: case 290: /* Line 1787 of yacc.c */ -#line 3499 "Gmsh.y" +#line 3563 "Gmsh.y" { (yyval.i) = -1; // left } @@ -8743,7 +8807,7 @@ yyreduce: case 291: /* Line 1787 of yacc.c */ -#line 3503 "Gmsh.y" +#line 3567 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -8761,7 +8825,7 @@ yyreduce: case 292: /* Line 1787 of yacc.c */ -#line 3519 "Gmsh.y" +#line 3583 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); } @@ -8769,7 +8833,7 @@ yyreduce: case 293: /* Line 1787 of yacc.c */ -#line 3523 "Gmsh.y" +#line 3587 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); } @@ -8777,7 +8841,7 @@ yyreduce: case 294: /* Line 1787 of yacc.c */ -#line 3528 "Gmsh.y" +#line 3592 "Gmsh.y" { (yyval.i) = 45; } @@ -8785,7 +8849,7 @@ yyreduce: case 295: /* Line 1787 of yacc.c */ -#line 3532 "Gmsh.y" +#line 3596 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); } @@ -8793,7 +8857,7 @@ yyreduce: case 296: /* Line 1787 of yacc.c */ -#line 3538 "Gmsh.y" +#line 3602 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); } @@ -8801,7 +8865,7 @@ yyreduce: case 297: /* Line 1787 of yacc.c */ -#line 3542 "Gmsh.y" +#line 3606 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); } @@ -8809,7 +8873,7 @@ yyreduce: case 298: /* Line 1787 of yacc.c */ -#line 3549 "Gmsh.y" +#line 3613 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -8869,7 +8933,7 @@ yyreduce: case 299: /* Line 1787 of yacc.c */ -#line 3605 "Gmsh.y" +#line 3669 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -8943,7 +9007,7 @@ yyreduce: case 300: /* Line 1787 of yacc.c */ -#line 3675 "Gmsh.y" +#line 3739 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -8952,7 +9016,7 @@ yyreduce: case 301: /* Line 1787 of yacc.c */ -#line 3680 "Gmsh.y" +#line 3744 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -9023,7 +9087,7 @@ yyreduce: case 302: /* Line 1787 of yacc.c */ -#line 3747 "Gmsh.y" +#line 3811 "Gmsh.y" { if(!(yyvsp[(2) - (3)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -9063,7 +9127,7 @@ yyreduce: case 303: /* Line 1787 of yacc.c */ -#line 3783 "Gmsh.y" +#line 3847 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (7)].l)); i++){ double d; @@ -9075,7 +9139,7 @@ yyreduce: case 304: /* Line 1787 of yacc.c */ -#line 3791 "Gmsh.y" +#line 3855 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9122,7 +9186,7 @@ yyreduce: case 305: /* Line 1787 of yacc.c */ -#line 3834 "Gmsh.y" +#line 3898 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -9165,7 +9229,7 @@ yyreduce: case 306: /* Line 1787 of yacc.c */ -#line 3873 "Gmsh.y" +#line 3937 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -9189,7 +9253,7 @@ yyreduce: case 307: /* Line 1787 of yacc.c */ -#line 3893 "Gmsh.y" +#line 3957 "Gmsh.y" { if(List_Nbr((yyvsp[(5) - (6)].l)) != List_Nbr((yyvsp[(3) - (6)].l))){ yymsg(0, "Number of master (%d) different from number of slave (%d) lines", @@ -9220,7 +9284,7 @@ yyreduce: case 308: /* Line 1787 of yacc.c */ -#line 3921 "Gmsh.y" +#line 3985 "Gmsh.y" { if (List_Nbr((yyvsp[(5) - (13)].l)) != List_Nbr((yyvsp[(10) - (13)].l))){ yymsg(0, "Number of master surface edges (%d) different from number of " @@ -9272,7 +9336,7 @@ yyreduce: case 309: /* Line 1787 of yacc.c */ -#line 3969 "Gmsh.y" +#line 4033 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9304,7 +9368,7 @@ yyreduce: case 310: /* Line 1787 of yacc.c */ -#line 3997 "Gmsh.y" +#line 4061 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9336,7 +9400,7 @@ yyreduce: case 311: /* Line 1787 of yacc.c */ -#line 4025 "Gmsh.y" +#line 4089 "Gmsh.y" { Msg::Error("Point in Volume not implemented yet"); } @@ -9344,7 +9408,7 @@ yyreduce: case 312: /* Line 1787 of yacc.c */ -#line 4029 "Gmsh.y" +#line 4093 "Gmsh.y" { Msg::Error("Line in Volume not implemented yet"); } @@ -9352,7 +9416,7 @@ yyreduce: case 313: /* Line 1787 of yacc.c */ -#line 4033 "Gmsh.y" +#line 4097 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -9384,7 +9448,7 @@ yyreduce: case 314: /* Line 1787 of yacc.c */ -#line 4061 "Gmsh.y" +#line 4125 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9427,7 +9491,7 @@ yyreduce: case 315: /* Line 1787 of yacc.c */ -#line 4100 "Gmsh.y" +#line 4164 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves); @@ -9470,7 +9534,7 @@ yyreduce: case 316: /* Line 1787 of yacc.c */ -#line 4139 "Gmsh.y" +#line 4203 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::viter it = GModel::current()->firstVertex(); @@ -9495,7 +9559,7 @@ yyreduce: case 317: /* Line 1787 of yacc.c */ -#line 4160 "Gmsh.y" +#line 4224 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::eiter it = GModel::current()->firstEdge(); @@ -9520,7 +9584,7 @@ yyreduce: case 318: /* Line 1787 of yacc.c */ -#line 4181 "Gmsh.y" +#line 4245 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::fiter it = GModel::current()->firstFace(); @@ -9545,7 +9609,7 @@ yyreduce: case 319: /* Line 1787 of yacc.c */ -#line 4208 "Gmsh.y" +#line 4272 "Gmsh.y" { ReplaceAllDuplicates(); } @@ -9553,7 +9617,7 @@ yyreduce: case 320: /* Line 1787 of yacc.c */ -#line 4212 "Gmsh.y" +#line 4276 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -9567,7 +9631,7 @@ yyreduce: case 321: /* Line 1787 of yacc.c */ -#line 4222 "Gmsh.y" +#line 4286 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -9601,25 +9665,25 @@ yyreduce: case 322: /* Line 1787 of yacc.c */ -#line 4256 "Gmsh.y" +#line 4320 "Gmsh.y" { (yyval.c) = (char*)"Homology"; } break; case 323: /* Line 1787 of yacc.c */ -#line 4257 "Gmsh.y" +#line 4321 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; } break; case 324: /* Line 1787 of yacc.c */ -#line 4258 "Gmsh.y" +#line 4322 "Gmsh.y" { (yyval.c) = (char*)"Betti"; } break; case 325: /* Line 1787 of yacc.c */ -#line 4263 "Gmsh.y" +#line 4327 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -9629,7 +9693,7 @@ yyreduce: case 326: /* Line 1787 of yacc.c */ -#line 4269 "Gmsh.y" +#line 4333 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -9645,7 +9709,7 @@ yyreduce: case 327: /* Line 1787 of yacc.c */ -#line 4281 "Gmsh.y" +#line 4345 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -9667,7 +9731,7 @@ yyreduce: case 328: /* Line 1787 of yacc.c */ -#line 4299 "Gmsh.y" +#line 4363 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -9694,55 +9758,55 @@ yyreduce: case 329: /* Line 1787 of yacc.c */ -#line 4326 "Gmsh.y" +#line 4390 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; case 330: /* Line 1787 of yacc.c */ -#line 4327 "Gmsh.y" +#line 4391 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); } break; case 331: /* Line 1787 of yacc.c */ -#line 4328 "Gmsh.y" +#line 4392 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); } break; case 332: /* Line 1787 of yacc.c */ -#line 4329 "Gmsh.y" +#line 4393 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); } break; case 333: /* Line 1787 of yacc.c */ -#line 4330 "Gmsh.y" +#line 4394 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); } break; case 334: /* Line 1787 of yacc.c */ -#line 4331 "Gmsh.y" +#line 4395 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); } break; case 335: /* Line 1787 of yacc.c */ -#line 4332 "Gmsh.y" +#line 4396 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); } break; case 336: /* Line 1787 of yacc.c */ -#line 4333 "Gmsh.y" +#line 4397 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); } break; case 337: /* Line 1787 of yacc.c */ -#line 4335 "Gmsh.y" +#line 4399 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -9753,271 +9817,271 @@ yyreduce: case 338: /* Line 1787 of yacc.c */ -#line 4341 "Gmsh.y" +#line 4405 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); } break; case 339: /* Line 1787 of yacc.c */ -#line 4342 "Gmsh.y" +#line 4406 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); } break; case 340: /* Line 1787 of yacc.c */ -#line 4343 "Gmsh.y" +#line 4407 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); } break; case 341: /* Line 1787 of yacc.c */ -#line 4344 "Gmsh.y" +#line 4408 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); } break; case 342: /* Line 1787 of yacc.c */ -#line 4345 "Gmsh.y" +#line 4409 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); } break; case 343: /* Line 1787 of yacc.c */ -#line 4346 "Gmsh.y" +#line 4410 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); } break; case 344: /* Line 1787 of yacc.c */ -#line 4347 "Gmsh.y" +#line 4411 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); } break; case 345: /* Line 1787 of yacc.c */ -#line 4348 "Gmsh.y" +#line 4412 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); } break; case 346: /* Line 1787 of yacc.c */ -#line 4349 "Gmsh.y" +#line 4413 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); } break; case 347: /* Line 1787 of yacc.c */ -#line 4350 "Gmsh.y" +#line 4414 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); } break; case 348: /* Line 1787 of yacc.c */ -#line 4351 "Gmsh.y" +#line 4415 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); } break; case 349: /* Line 1787 of yacc.c */ -#line 4352 "Gmsh.y" +#line 4416 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); } break; case 350: /* Line 1787 of yacc.c */ -#line 4353 "Gmsh.y" +#line 4417 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); } break; case 351: /* Line 1787 of yacc.c */ -#line 4354 "Gmsh.y" +#line 4418 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); } break; case 352: /* Line 1787 of yacc.c */ -#line 4355 "Gmsh.y" +#line 4419 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); } break; case 353: /* Line 1787 of yacc.c */ -#line 4356 "Gmsh.y" +#line 4420 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); } break; case 354: /* Line 1787 of yacc.c */ -#line 4357 "Gmsh.y" +#line 4421 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); } break; case 355: /* Line 1787 of yacc.c */ -#line 4358 "Gmsh.y" +#line 4422 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); } break; case 356: /* Line 1787 of yacc.c */ -#line 4359 "Gmsh.y" +#line 4423 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); } break; case 357: /* Line 1787 of yacc.c */ -#line 4360 "Gmsh.y" +#line 4424 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); } break; case 358: /* Line 1787 of yacc.c */ -#line 4361 "Gmsh.y" +#line 4425 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); } break; case 359: /* Line 1787 of yacc.c */ -#line 4362 "Gmsh.y" +#line 4426 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));} break; case 360: /* Line 1787 of yacc.c */ -#line 4363 "Gmsh.y" +#line 4427 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); } break; case 361: /* Line 1787 of yacc.c */ -#line 4364 "Gmsh.y" +#line 4428 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); } break; case 362: /* Line 1787 of yacc.c */ -#line 4365 "Gmsh.y" +#line 4429 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); } break; case 363: /* Line 1787 of yacc.c */ -#line 4366 "Gmsh.y" +#line 4430 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); } break; case 364: /* Line 1787 of yacc.c */ -#line 4367 "Gmsh.y" +#line 4431 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); } break; case 365: /* Line 1787 of yacc.c */ -#line 4368 "Gmsh.y" +#line 4432 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); } break; case 366: /* Line 1787 of yacc.c */ -#line 4369 "Gmsh.y" +#line 4433 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); } break; case 367: /* Line 1787 of yacc.c */ -#line 4370 "Gmsh.y" +#line 4434 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; case 368: /* Line 1787 of yacc.c */ -#line 4371 "Gmsh.y" +#line 4435 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); } break; case 369: /* Line 1787 of yacc.c */ -#line 4372 "Gmsh.y" +#line 4436 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); } break; case 370: /* Line 1787 of yacc.c */ -#line 4373 "Gmsh.y" +#line 4437 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; } break; case 371: /* Line 1787 of yacc.c */ -#line 4382 "Gmsh.y" +#line 4446 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); } break; case 372: /* Line 1787 of yacc.c */ -#line 4383 "Gmsh.y" +#line 4447 "Gmsh.y" { (yyval.d) = 3.141592653589793; } break; case 373: /* Line 1787 of yacc.c */ -#line 4384 "Gmsh.y" +#line 4448 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); } break; case 374: /* Line 1787 of yacc.c */ -#line 4385 "Gmsh.y" +#line 4449 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); } break; case 375: /* Line 1787 of yacc.c */ -#line 4386 "Gmsh.y" +#line 4450 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); } break; case 376: /* Line 1787 of yacc.c */ -#line 4387 "Gmsh.y" +#line 4451 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); } break; case 377: /* Line 1787 of yacc.c */ -#line 4388 "Gmsh.y" +#line 4452 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); } break; case 378: /* Line 1787 of yacc.c */ -#line 4389 "Gmsh.y" +#line 4453 "Gmsh.y" { (yyval.d) = Cpu(); } break; case 379: /* Line 1787 of yacc.c */ -#line 4390 "Gmsh.y" +#line 4454 "Gmsh.y" { (yyval.d) = GetMemoryUsage()/1024./1024.; } break; case 380: /* Line 1787 of yacc.c */ -#line 4391 "Gmsh.y" +#line 4455 "Gmsh.y" { (yyval.d) = TotalRam(); } break; case 381: /* Line 1787 of yacc.c */ -#line 4396 "Gmsh.y" +#line 4460 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; case 382: /* Line 1787 of yacc.c */ -#line 4398 "Gmsh.y" +#line 4462 "Gmsh.y" { std::vector<double> val(1, (yyvsp[(3) - (6)].d)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -10027,7 +10091,7 @@ yyreduce: case 383: /* Line 1787 of yacc.c */ -#line 4404 "Gmsh.y" +#line 4468 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -10048,7 +10112,7 @@ yyreduce: case 384: /* Line 1787 of yacc.c */ -#line 4421 "Gmsh.y" +#line 4485 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10070,7 +10134,7 @@ yyreduce: case 385: /* Line 1787 of yacc.c */ -#line 4439 "Gmsh.y" +#line 4503 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10092,7 +10156,7 @@ yyreduce: case 386: /* Line 1787 of yacc.c */ -#line 4457 "Gmsh.y" +#line 4521 "Gmsh.y" { (yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -10101,7 +10165,7 @@ yyreduce: case 387: /* Line 1787 of yacc.c */ -#line 4462 "Gmsh.y" +#line 4526 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.d) = !StatFile(tmp); @@ -10111,7 +10175,7 @@ yyreduce: case 388: /* Line 1787 of yacc.c */ -#line 4468 "Gmsh.y" +#line 4532 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -10127,7 +10191,7 @@ yyreduce: case 389: /* Line 1787 of yacc.c */ -#line 4480 "Gmsh.y" +#line 4544 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -10148,7 +10212,7 @@ yyreduce: case 390: /* Line 1787 of yacc.c */ -#line 4497 "Gmsh.y" +#line 4561 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10170,7 +10234,7 @@ yyreduce: case 391: /* Line 1787 of yacc.c */ -#line 4515 "Gmsh.y" +#line 4579 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10192,7 +10256,7 @@ yyreduce: case 392: /* Line 1787 of yacc.c */ -#line 4536 "Gmsh.y" +#line 4600 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), (yyval.d)); Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c)); @@ -10201,7 +10265,7 @@ yyreduce: case 393: /* Line 1787 of yacc.c */ -#line 4541 "Gmsh.y" +#line 4605 "Gmsh.y" { NumberOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), (yyval.d)); Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c)); @@ -10210,7 +10274,7 @@ yyreduce: case 394: /* Line 1787 of yacc.c */ -#line 4546 "Gmsh.y" +#line 4610 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -10224,7 +10288,7 @@ yyreduce: case 395: /* Line 1787 of yacc.c */ -#line 4556 "Gmsh.y" +#line 4620 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -10238,7 +10302,7 @@ yyreduce: case 396: /* Line 1787 of yacc.c */ -#line 4566 "Gmsh.y" +#line 4630 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -10247,7 +10311,7 @@ yyreduce: case 397: /* Line 1787 of yacc.c */ -#line 4571 "Gmsh.y" +#line 4635 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -10260,7 +10324,7 @@ yyreduce: case 398: /* Line 1787 of yacc.c */ -#line 4580 "Gmsh.y" +#line 4644 "Gmsh.y" { (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c)); @@ -10269,7 +10333,7 @@ yyreduce: case 399: /* Line 1787 of yacc.c */ -#line 4585 "Gmsh.y" +#line 4649 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -10297,7 +10361,7 @@ yyreduce: case 400: /* Line 1787 of yacc.c */ -#line 4612 "Gmsh.y" +#line 4676 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); } @@ -10305,7 +10369,7 @@ yyreduce: case 401: /* Line 1787 of yacc.c */ -#line 4616 "Gmsh.y" +#line 4680 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; } @@ -10313,7 +10377,7 @@ yyreduce: case 402: /* Line 1787 of yacc.c */ -#line 4620 "Gmsh.y" +#line 4684 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; } @@ -10321,7 +10385,7 @@ yyreduce: case 403: /* Line 1787 of yacc.c */ -#line 4624 "Gmsh.y" +#line 4688 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; } @@ -10329,7 +10393,7 @@ yyreduce: case 404: /* Line 1787 of yacc.c */ -#line 4628 "Gmsh.y" +#line 4692 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; } @@ -10337,7 +10401,7 @@ yyreduce: case 405: /* Line 1787 of yacc.c */ -#line 4635 "Gmsh.y" +#line 4699 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (11)].d); (yyval.v)[1] = (yyvsp[(4) - (11)].d); (yyval.v)[2] = (yyvsp[(6) - (11)].d); (yyval.v)[3] = (yyvsp[(8) - (11)].d); (yyval.v)[4] = (yyvsp[(10) - (11)].d); } @@ -10345,7 +10409,7 @@ yyreduce: case 406: /* Line 1787 of yacc.c */ -#line 4639 "Gmsh.y" +#line 4703 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (9)].d); (yyval.v)[1] = (yyvsp[(4) - (9)].d); (yyval.v)[2] = (yyvsp[(6) - (9)].d); (yyval.v)[3] = (yyvsp[(8) - (9)].d); (yyval.v)[4] = 1.0; } @@ -10353,7 +10417,7 @@ yyreduce: case 407: /* Line 1787 of yacc.c */ -#line 4643 "Gmsh.y" +#line 4707 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; } @@ -10361,7 +10425,7 @@ yyreduce: case 408: /* Line 1787 of yacc.c */ -#line 4647 "Gmsh.y" +#line 4711 "Gmsh.y" { (yyval.v)[0] = (yyvsp[(2) - (7)].d); (yyval.v)[1] = (yyvsp[(4) - (7)].d); (yyval.v)[2] = (yyvsp[(6) - (7)].d); (yyval.v)[3] = 0.0; (yyval.v)[4] = 1.0; } @@ -10369,7 +10433,7 @@ yyreduce: case 409: /* Line 1787 of yacc.c */ -#line 4654 "Gmsh.y" +#line 4718 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -10378,7 +10442,7 @@ yyreduce: case 410: /* Line 1787 of yacc.c */ -#line 4659 "Gmsh.y" +#line 4723 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); } @@ -10386,7 +10450,7 @@ yyreduce: case 411: /* Line 1787 of yacc.c */ -#line 4666 "Gmsh.y" +#line 4730 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10395,7 +10459,7 @@ yyreduce: case 412: /* Line 1787 of yacc.c */ -#line 4671 "Gmsh.y" +#line 4735 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10403,7 +10467,7 @@ yyreduce: case 413: /* Line 1787 of yacc.c */ -#line 4675 "Gmsh.y" +#line 4739 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -10412,7 +10476,7 @@ yyreduce: case 414: /* Line 1787 of yacc.c */ -#line 4680 "Gmsh.y" +#line 4744 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } @@ -10420,7 +10484,7 @@ yyreduce: case 415: /* Line 1787 of yacc.c */ -#line 4684 "Gmsh.y" +#line 4748 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10432,7 +10496,7 @@ yyreduce: case 416: /* Line 1787 of yacc.c */ -#line 4692 "Gmsh.y" +#line 4756 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10444,7 +10508,7 @@ yyreduce: case 417: /* Line 1787 of yacc.c */ -#line 4703 "Gmsh.y" +#line 4767 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10452,7 +10516,7 @@ yyreduce: case 418: /* Line 1787 of yacc.c */ -#line 4707 "Gmsh.y" +#line 4771 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -10465,7 +10529,7 @@ yyreduce: case 419: /* Line 1787 of yacc.c */ -#line 4719 "Gmsh.y" +#line 4783 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10477,7 +10541,7 @@ yyreduce: case 420: /* Line 1787 of yacc.c */ -#line 4727 "Gmsh.y" +#line 4791 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10489,7 +10553,7 @@ yyreduce: case 421: /* Line 1787 of yacc.c */ -#line 4735 "Gmsh.y" +#line 4799 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); for(double d = (yyvsp[(1) - (3)].d); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d <= (yyvsp[(3) - (3)].d)) : (d >= (yyvsp[(3) - (3)].d)); @@ -10500,7 +10564,7 @@ yyreduce: case 422: /* Line 1787 of yacc.c */ -#line 4742 "Gmsh.y" +#line 4806 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -10514,7 +10578,7 @@ yyreduce: case 423: /* Line 1787 of yacc.c */ -#line 4752 "Gmsh.y" +#line 4816 "Gmsh.y" { // Returns the coordinates of a point and fills a list with it. // This allows to ensure e.g. that relative point positions are @@ -10547,7 +10611,7 @@ yyreduce: case 424: /* Line 1787 of yacc.c */ -#line 4781 "Gmsh.y" +#line 4845 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(0); } @@ -10555,7 +10619,7 @@ yyreduce: case 425: /* Line 1787 of yacc.c */ -#line 4785 "Gmsh.y" +#line 4849 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(1); } @@ -10563,7 +10627,7 @@ yyreduce: case 426: /* Line 1787 of yacc.c */ -#line 4789 "Gmsh.y" +#line 4853 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(2); } @@ -10571,7 +10635,7 @@ yyreduce: case 427: /* Line 1787 of yacc.c */ -#line 4793 "Gmsh.y" +#line 4857 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(3); } @@ -10579,7 +10643,7 @@ yyreduce: case 428: /* Line 1787 of yacc.c */ -#line 4797 "Gmsh.y" +#line 4861 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(0); } @@ -10587,7 +10651,7 @@ yyreduce: case 429: /* Line 1787 of yacc.c */ -#line 4801 "Gmsh.y" +#line 4865 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(1); } @@ -10595,7 +10659,7 @@ yyreduce: case 430: /* Line 1787 of yacc.c */ -#line 4805 "Gmsh.y" +#line 4869 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(2); } @@ -10603,7 +10667,7 @@ yyreduce: case 431: /* Line 1787 of yacc.c */ -#line 4809 "Gmsh.y" +#line 4873 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(3); } @@ -10611,7 +10675,7 @@ yyreduce: case 432: /* Line 1787 of yacc.c */ -#line 4813 "Gmsh.y" +#line 4877 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10644,7 +10708,7 @@ yyreduce: case 433: /* Line 1787 of yacc.c */ -#line 4842 "Gmsh.y" +#line 4906 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10677,7 +10741,7 @@ yyreduce: case 434: /* Line 1787 of yacc.c */ -#line 4871 "Gmsh.y" +#line 4935 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10710,7 +10774,7 @@ yyreduce: case 435: /* Line 1787 of yacc.c */ -#line 4900 "Gmsh.y" +#line 4964 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -10743,7 +10807,7 @@ yyreduce: case 436: /* Line 1787 of yacc.c */ -#line 4930 "Gmsh.y" +#line 4994 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10759,7 +10823,7 @@ yyreduce: case 437: /* Line 1787 of yacc.c */ -#line 4943 "Gmsh.y" +#line 5007 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10775,7 +10839,7 @@ yyreduce: case 438: /* Line 1787 of yacc.c */ -#line 4956 "Gmsh.y" +#line 5020 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10791,7 +10855,7 @@ yyreduce: case 439: /* Line 1787 of yacc.c */ -#line 4969 "Gmsh.y" +#line 5033 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -10807,7 +10871,7 @@ yyreduce: case 440: /* Line 1787 of yacc.c */ -#line 4981 "Gmsh.y" +#line 5045 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -10821,7 +10885,7 @@ yyreduce: case 441: /* Line 1787 of yacc.c */ -#line 4991 "Gmsh.y" +#line 5055 "Gmsh.y" { (yyval.l) = List_Create(List_Nbr((yyvsp[(1) - (1)].l)), 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(1) - (1)].l)); i++){ @@ -10835,7 +10899,7 @@ yyreduce: case 442: /* Line 1787 of yacc.c */ -#line 5001 "Gmsh.y" +#line 5065 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10851,7 +10915,7 @@ yyreduce: case 443: /* Line 1787 of yacc.c */ -#line 5013 "Gmsh.y" +#line 5077 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -10867,7 +10931,7 @@ yyreduce: case 444: /* Line 1787 of yacc.c */ -#line 5025 "Gmsh.y" +#line 5089 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -10883,7 +10947,7 @@ yyreduce: case 445: /* Line 1787 of yacc.c */ -#line 5037 "Gmsh.y" +#line 5101 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10905,7 +10969,7 @@ yyreduce: case 446: /* Line 1787 of yacc.c */ -#line 5055 "Gmsh.y" +#line 5119 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -10927,7 +10991,7 @@ yyreduce: case 447: /* Line 1787 of yacc.c */ -#line 5076 "Gmsh.y" +#line 5140 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10936,7 +11000,7 @@ yyreduce: case 448: /* Line 1787 of yacc.c */ -#line 5081 "Gmsh.y" +#line 5145 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); } @@ -10944,7 +11008,7 @@ yyreduce: case 449: /* Line 1787 of yacc.c */ -#line 5085 "Gmsh.y" +#line 5149 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); } @@ -10952,7 +11016,7 @@ yyreduce: case 450: /* Line 1787 of yacc.c */ -#line 5089 "Gmsh.y" +#line 5153 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -10965,7 +11029,7 @@ yyreduce: case 451: /* Line 1787 of yacc.c */ -#line 5101 "Gmsh.y" +#line 5165 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d)); } @@ -10973,7 +11037,7 @@ yyreduce: case 452: /* Line 1787 of yacc.c */ -#line 5105 "Gmsh.y" +#line 5169 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); } @@ -10981,7 +11045,7 @@ yyreduce: case 453: /* Line 1787 of yacc.c */ -#line 5117 "Gmsh.y" +#line 5181 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(-1, (yyvsp[(1) - (1)].c), &flag); @@ -10992,7 +11056,7 @@ yyreduce: case 454: /* Line 1787 of yacc.c */ -#line 5124 "Gmsh.y" +#line 5188 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -11003,7 +11067,7 @@ yyreduce: case 455: /* Line 1787 of yacc.c */ -#line 5134 "Gmsh.y" +#line 5198 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); } @@ -11011,7 +11075,7 @@ yyreduce: case 456: /* Line 1787 of yacc.c */ -#line 5138 "Gmsh.y" +#line 5202 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -11027,7 +11091,7 @@ yyreduce: case 457: /* Line 1787 of yacc.c */ -#line 5153 "Gmsh.y" +#line 5217 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -11036,7 +11100,7 @@ yyreduce: case 458: /* Line 1787 of yacc.c */ -#line 5158 "Gmsh.y" +#line 5222 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); } @@ -11044,7 +11108,7 @@ yyreduce: case 459: /* Line 1787 of yacc.c */ -#line 5165 "Gmsh.y" +#line 5229 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } @@ -11052,7 +11116,7 @@ yyreduce: case 460: /* Line 1787 of yacc.c */ -#line 5169 "Gmsh.y" +#line 5233 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -11069,7 +11133,7 @@ yyreduce: case 461: /* Line 1787 of yacc.c */ -#line 5182 "Gmsh.y" +#line 5246 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -11081,7 +11145,7 @@ yyreduce: case 462: /* Line 1787 of yacc.c */ -#line 5190 "Gmsh.y" +#line 5254 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -11093,7 +11157,7 @@ yyreduce: case 463: /* Line 1787 of yacc.c */ -#line 5201 "Gmsh.y" +#line 5265 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } @@ -11101,7 +11165,7 @@ yyreduce: case 464: /* Line 1787 of yacc.c */ -#line 5205 "Gmsh.y" +#line 5269 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -11113,7 +11177,7 @@ yyreduce: case 465: /* Line 1787 of yacc.c */ -#line 5213 "Gmsh.y" +#line 5277 "Gmsh.y" { std::string action = Msg::GetGmshOnelabAction(); (yyval.c) = (char *)Malloc(action.size() + 1); @@ -11123,7 +11187,7 @@ yyreduce: case 466: /* Line 1787 of yacc.c */ -#line 5219 "Gmsh.y" +#line 5283 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -11135,7 +11199,7 @@ yyreduce: case 467: /* Line 1787 of yacc.c */ -#line 5227 "Gmsh.y" +#line 5291 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -11147,7 +11211,7 @@ yyreduce: case 468: /* Line 1787 of yacc.c */ -#line 5235 "Gmsh.y" +#line 5299 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -11166,7 +11230,7 @@ yyreduce: case 469: /* Line 1787 of yacc.c */ -#line 5250 "Gmsh.y" +#line 5314 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -11184,7 +11248,7 @@ yyreduce: case 470: /* Line 1787 of yacc.c */ -#line 5264 "Gmsh.y" +#line 5328 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -11202,7 +11266,7 @@ yyreduce: case 471: /* Line 1787 of yacc.c */ -#line 5278 "Gmsh.y" +#line 5342 "Gmsh.y" { std::string input = (yyvsp[(3) - (8)].c); std::string substr_old = (yyvsp[(5) - (8)].c); @@ -11218,7 +11282,7 @@ yyreduce: case 472: /* Line 1787 of yacc.c */ -#line 5290 "Gmsh.y" +#line 5354 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -11238,7 +11302,7 @@ yyreduce: case 473: /* Line 1787 of yacc.c */ -#line 5306 "Gmsh.y" +#line 5370 "Gmsh.y" { if((yyvsp[(3) - (8)].d)){ (yyval.c) = (yyvsp[(5) - (8)].c); @@ -11253,7 +11317,7 @@ yyreduce: case 474: /* Line 1787 of yacc.c */ -#line 5317 "Gmsh.y" +#line 5381 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); } @@ -11261,7 +11325,7 @@ yyreduce: case 475: /* Line 1787 of yacc.c */ -#line 5321 "Gmsh.y" +#line 5385 "Gmsh.y" { char tmpstring[5000]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -11284,7 +11348,7 @@ yyreduce: case 476: /* Line 1787 of yacc.c */ -#line 5340 "Gmsh.y" +#line 5404 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -11295,13 +11359,13 @@ yyreduce: case 477: /* Line 1787 of yacc.c */ -#line 5347 "Gmsh.y" +#line 5411 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); } break; case 478: /* Line 1787 of yacc.c */ -#line 5349 "Gmsh.y" +#line 5413 "Gmsh.y" { std::string val((yyvsp[(3) - (6)].c)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -11313,7 +11377,7 @@ yyreduce: case 479: /* Line 1787 of yacc.c */ -#line 5360 "Gmsh.y" +#line 5424 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); @@ -11322,13 +11386,13 @@ yyreduce: case 480: /* Line 1787 of yacc.c */ -#line 5365 "Gmsh.y" +#line 5429 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); } break; case 481: /* Line 1787 of yacc.c */ -#line 5371 "Gmsh.y" +#line 5435 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11340,7 +11404,7 @@ yyreduce: case 482: /* Line 1787 of yacc.c */ -#line 5380 "Gmsh.y" +#line 5444 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11352,19 +11416,19 @@ yyreduce: case 483: /* Line 1787 of yacc.c */ -#line 5393 "Gmsh.y" +#line 5457 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; case 484: /* Line 1787 of yacc.c */ -#line 5396 "Gmsh.y" +#line 5460 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); } break; /* Line 1787 of yacc.c */ -#line 11368 "Gmsh.tab.cpp" +#line 11432 "Gmsh.tab.cpp" default: break; } /* User semantic actions sometimes alter yychar, and that requires @@ -11596,7 +11660,7 @@ yyreturn: /* Line 2050 of yacc.c */ -#line 5400 "Gmsh.y" +#line 5464 "Gmsh.y" void assignVariable(const std::string &name, int index, int assignType, diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 9c2a70342b1096e1e214c011409b384b846ca1a5..a8a1c87445cdef13c26a8b2f6d865b19ebd6bc83 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1368,18 +1368,34 @@ Shape : $$.Type = MSH_POINT; $$.Num = num; } - | tPhysical tPoint '(' PhysicalId0 ')' tAFFECT ListOfDouble tEND + | tPhysical tPoint '(' PhysicalId0 ')' NumericAffectation ListOfDouble tEND { int num = (int)$4; - if(FindPhysicalGroup(num, MSH_PHYSICAL_POINT)){ + int op = $6; + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_POINT); + if(p && op == 0){ yymsg(0, "Physical point %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical point %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt($7); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_POINT, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_POINT, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr($7); i++){ + double d; + List_Read($7, i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical point %d", num); + } List_Delete($7); $$.Type = MSH_PHYSICAL_POINT; $$.Num = num; @@ -1623,18 +1639,34 @@ Shape : $$.Type = MSH_SEGM_COMPOUND; $$.Num = num; } - | tPhysical tLine '(' PhysicalId1 ')' tAFFECT ListOfDouble tEND + | tPhysical tLine '(' PhysicalId1 ')' NumericAffectation ListOfDouble tEND { int num = (int)$4; - if(FindPhysicalGroup(num, MSH_PHYSICAL_LINE)){ + int op = $6; + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_LINE); + if(p && op == 0){ yymsg(0, "Physical line %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical line %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt($7); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_LINE, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_LINE, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr($7); i++){ + double d; + List_Read($7, i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical line %d", num); + } List_Delete($7); $$.Type = MSH_PHYSICAL_LINE; $$.Num = num; @@ -1838,18 +1870,34 @@ Shape : $$.Type = MSH_SURF_COMPOUND; $$.Num = num; } - | tPhysical tSurface '(' PhysicalId2 ')' tAFFECT ListOfDouble tEND + | tPhysical tSurface '(' PhysicalId2 ')' NumericAffectation ListOfDouble tEND { int num = (int)$4; - if(FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE)){ + int op = $6; + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_SURFACE); + if(p && op == 0){ yymsg(0, "Physical surface %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical surface %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt($7); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_SURFACE, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_SURFACE, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr($7); i++){ + double d; + List_Read($7, i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical surface %d", num); + } List_Delete($7); $$.Type = MSH_PHYSICAL_SURFACE; $$.Num = num; @@ -1909,18 +1957,34 @@ Shape : $$.Type = MSH_VOLUME_COMPOUND; $$.Num = num; } - | tPhysical tVolume '(' PhysicalId3 ')' tAFFECT ListOfDouble tEND + | tPhysical tVolume '(' PhysicalId3 ')' NumericAffectation ListOfDouble tEND { int num = (int)$4; - if(FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME)){ + int op = $6; + PhysicalGroup *p = FindPhysicalGroup(num, MSH_PHYSICAL_VOLUME); + if(p && op == 0){ yymsg(0, "Physical volume %d already exists", num); } - else{ + else if(!p && op > 0){ + yymsg(0, "Physical volume %d does not exists", num); + } + else if(op == 0){ List_T *temp = ListOfDouble2ListOfInt($7); - PhysicalGroup *p = Create_PhysicalGroup(num, MSH_PHYSICAL_VOLUME, temp); + p = Create_PhysicalGroup(num, MSH_PHYSICAL_VOLUME, temp); List_Delete(temp); List_Add(GModel::current()->getGEOInternals()->PhysicalGroups, &p); } + else if(op == 1){ + for(int i = 0; i < List_Nbr($7); i++){ + double d; + List_Read($7, i, &d); + int j = (int)d; + List_Add(p->Entities, &j); + } + } + else{ + yymsg(0, "Unsupported operation on physical volume %d", num); + } List_Delete($7); $$.Type = MSH_PHYSICAL_VOLUME; $$.Num = num;