diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index bdac2b5db0c6fe34c5c6818ed38b98c2dea36036..152269c8c70ec7d09acb54f72aab1d636e774466 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1273,35 +1273,35 @@ static const yytype_uint16 yyrline[] = 2745, 2751, 2757, 2766, 2775, 2784, 2798, 2854, 2872, 2889, 2904, 2923, 2935, 2959, 2963, 2968, 2975, 2980, 2986, 2991, 2997, 3005, 3009, 3013, 3018, 3073, 3086, 3103, 3120, 3142, - 3164, 3199, 3207, 3215, 3221, 3228, 3235, 3255, 3262, 3274, - 3282, 3290, 3299, 3298, 3313, 3312, 3327, 3326, 3341, 3340, - 3354, 3361, 3368, 3375, 3382, 3389, 3396, 3403, 3410, 3418, - 3417, 3431, 3430, 3444, 3443, 3457, 3456, 3470, 3469, 3483, - 3482, 3496, 3495, 3509, 3508, 3522, 3521, 3538, 3541, 3547, - 3559, 3579, 3603, 3607, 3611, 3615, 3619, 3625, 3631, 3635, - 3639, 3643, 3647, 3666, 3679, 3682, 3698, 3701, 3718, 3721, - 3727, 3730, 3737, 3740, 3747, 3803, 3873, 3878, 3945, 3981, - 3989, 4032, 4071, 4091, 4123, 4150, 4176, 4202, 4228, 4254, - 4276, 4304, 4332, 4336, 4340, 4368, 4407, 4446, 4467, 4488, - 4515, 4519, 4529, 4564, 4565, 4566, 4570, 4576, 4588, 4606, - 4634, 4635, 4636, 4637, 4638, 4639, 4640, 4641, 4642, 4649, - 4650, 4651, 4652, 4653, 4654, 4655, 4656, 4657, 4658, 4659, - 4660, 4661, 4662, 4663, 4664, 4665, 4666, 4667, 4668, 4669, - 4670, 4671, 4672, 4673, 4674, 4675, 4676, 4677, 4678, 4679, - 4680, 4681, 4690, 4691, 4692, 4693, 4694, 4695, 4696, 4697, - 4698, 4699, 4700, 4705, 4704, 4712, 4717, 4734, 4752, 4770, - 4788, 4806, 4811, 4817, 4829, 4846, 4864, 4882, 4900, 4921, - 4926, 4931, 4941, 4951, 4956, 4967, 4976, 4981, 5008, 5012, - 5016, 5020, 5024, 5031, 5035, 5039, 5043, 5050, 5055, 5062, - 5067, 5071, 5076, 5080, 5088, 5099, 5103, 5115, 5123, 5131, - 5138, 5148, 5177, 5181, 5185, 5189, 5193, 5197, 5201, 5205, - 5209, 5238, 5267, 5296, 5325, 5338, 5351, 5364, 5377, 5387, - 5397, 5409, 5422, 5434, 5452, 5473, 5478, 5482, 5486, 5498, - 5502, 5514, 5521, 5531, 5535, 5550, 5555, 5562, 5566, 5579, - 5587, 5598, 5602, 5606, 5614, 5620, 5626, 5634, 5642, 5649, - 5664, 5678, 5692, 5704, 5720, 5729, 5738, 5748, 5759, 5763, - 5782, 5789, 5796, 5795, 5808, 5813, 5819, 5828, 5841, 5844, - 5848 + 3164, 3199, 3207, 3215, 3221, 3228, 3235, 3255, 3267, 3279, + 3287, 3295, 3304, 3303, 3318, 3317, 3332, 3331, 3346, 3345, + 3359, 3366, 3373, 3380, 3387, 3394, 3401, 3408, 3415, 3423, + 3422, 3436, 3435, 3449, 3448, 3462, 3461, 3475, 3474, 3488, + 3487, 3501, 3500, 3514, 3513, 3527, 3526, 3543, 3546, 3552, + 3564, 3584, 3608, 3612, 3616, 3620, 3624, 3630, 3636, 3640, + 3644, 3648, 3652, 3671, 3684, 3687, 3703, 3706, 3723, 3726, + 3732, 3735, 3742, 3745, 3752, 3808, 3878, 3883, 3950, 3986, + 3994, 4037, 4076, 4096, 4128, 4155, 4181, 4207, 4233, 4259, + 4281, 4309, 4337, 4341, 4345, 4373, 4412, 4451, 4472, 4493, + 4520, 4524, 4534, 4569, 4570, 4571, 4575, 4581, 4593, 4611, + 4639, 4640, 4641, 4642, 4643, 4644, 4645, 4646, 4647, 4654, + 4655, 4656, 4657, 4658, 4659, 4660, 4661, 4662, 4663, 4664, + 4665, 4666, 4667, 4668, 4669, 4670, 4671, 4672, 4673, 4674, + 4675, 4676, 4677, 4678, 4679, 4680, 4681, 4682, 4683, 4684, + 4685, 4686, 4695, 4696, 4697, 4698, 4699, 4700, 4701, 4702, + 4703, 4704, 4705, 4710, 4709, 4717, 4722, 4739, 4757, 4775, + 4793, 4811, 4816, 4822, 4834, 4851, 4869, 4887, 4905, 4926, + 4931, 4936, 4946, 4956, 4961, 4972, 4981, 4986, 5013, 5017, + 5021, 5025, 5029, 5036, 5040, 5044, 5048, 5055, 5060, 5067, + 5072, 5076, 5081, 5085, 5093, 5104, 5108, 5120, 5128, 5136, + 5143, 5153, 5182, 5186, 5190, 5194, 5198, 5202, 5206, 5210, + 5214, 5243, 5272, 5301, 5330, 5343, 5356, 5369, 5382, 5392, + 5402, 5414, 5427, 5439, 5457, 5478, 5483, 5487, 5491, 5503, + 5507, 5519, 5526, 5536, 5540, 5555, 5560, 5567, 5571, 5584, + 5592, 5603, 5607, 5611, 5619, 5625, 5631, 5639, 5647, 5654, + 5669, 5683, 5697, 5709, 5725, 5734, 5743, 5753, 5764, 5768, + 5787, 5794, 5801, 5800, 5813, 5818, 5824, 5833, 5846, 5849, + 5853 }; #endif @@ -8554,15 +8554,20 @@ yyreduce: case 247: #line 3256 "Gmsh.y" { - if (ImbricatedTest > 0 && statusImbricatedTests[ImbricatedTest]){ - skip_until("If", "EndIf"); - ImbricatedTest--; + if (ImbricatedTest > 0){ + if (statusImbricatedTests[ImbricatedTest]){ + skip_until("If", "EndIf"); + ImbricatedTest--; + } + } + else{ + yymsg(0, "Orphan Else"); } ;} break; case 248: -#line 3263 "Gmsh.y" +#line 3268 "Gmsh.y" { ImbricatedTest--; if (ImbricatedTest < 0) @@ -8571,7 +8576,7 @@ yyreduce: break; case 249: -#line 3275 "Gmsh.y" +#line 3280 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -8582,7 +8587,7 @@ yyreduce: break; case 250: -#line 3283 "Gmsh.y" +#line 3288 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -8593,7 +8598,7 @@ yyreduce: break; case 251: -#line 3291 "Gmsh.y" +#line 3296 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -8604,7 +8609,7 @@ yyreduce: break; case 252: -#line 3299 "Gmsh.y" +#line 3304 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8613,7 +8618,7 @@ yyreduce: break; case 253: -#line 3305 "Gmsh.y" +#line 3310 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -8624,7 +8629,7 @@ yyreduce: break; case 254: -#line 3313 "Gmsh.y" +#line 3318 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8633,7 +8638,7 @@ yyreduce: break; case 255: -#line 3319 "Gmsh.y" +#line 3324 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -8644,7 +8649,7 @@ yyreduce: break; case 256: -#line 3327 "Gmsh.y" +#line 3332 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8653,7 +8658,7 @@ yyreduce: break; case 257: -#line 3333 "Gmsh.y" +#line 3338 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -8664,7 +8669,7 @@ yyreduce: break; case 258: -#line 3341 "Gmsh.y" +#line 3346 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8673,7 +8678,7 @@ yyreduce: break; case 259: -#line 3347 "Gmsh.y" +#line 3352 "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., @@ -8683,7 +8688,7 @@ yyreduce: break; case 260: -#line 3355 "Gmsh.y" +#line 3360 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -8693,7 +8698,7 @@ yyreduce: break; case 261: -#line 3362 "Gmsh.y" +#line 3367 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -8703,7 +8708,7 @@ yyreduce: break; case 262: -#line 3369 "Gmsh.y" +#line 3374 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -8713,7 +8718,7 @@ yyreduce: break; case 263: -#line 3376 "Gmsh.y" +#line 3381 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -8723,7 +8728,7 @@ yyreduce: break; case 264: -#line 3383 "Gmsh.y" +#line 3388 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -8733,7 +8738,7 @@ yyreduce: break; case 265: -#line 3390 "Gmsh.y" +#line 3395 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -8743,7 +8748,7 @@ yyreduce: break; case 266: -#line 3397 "Gmsh.y" +#line 3402 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -8753,7 +8758,7 @@ yyreduce: break; case 267: -#line 3404 "Gmsh.y" +#line 3409 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -8763,7 +8768,7 @@ yyreduce: break; case 268: -#line 3411 "Gmsh.y" +#line 3416 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -8773,7 +8778,7 @@ yyreduce: break; case 269: -#line 3418 "Gmsh.y" +#line 3423 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8782,7 +8787,7 @@ yyreduce: break; case 270: -#line 3424 "Gmsh.y" +#line 3429 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -8792,7 +8797,7 @@ yyreduce: break; case 271: -#line 3431 "Gmsh.y" +#line 3436 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8801,7 +8806,7 @@ yyreduce: break; case 272: -#line 3437 "Gmsh.y" +#line 3442 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -8811,7 +8816,7 @@ yyreduce: break; case 273: -#line 3444 "Gmsh.y" +#line 3449 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8820,7 +8825,7 @@ yyreduce: break; case 274: -#line 3450 "Gmsh.y" +#line 3455 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -8830,7 +8835,7 @@ yyreduce: break; case 275: -#line 3457 "Gmsh.y" +#line 3462 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8839,7 +8844,7 @@ yyreduce: break; case 276: -#line 3463 "Gmsh.y" +#line 3468 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -8849,7 +8854,7 @@ yyreduce: break; case 277: -#line 3470 "Gmsh.y" +#line 3475 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8858,7 +8863,7 @@ yyreduce: break; case 278: -#line 3476 "Gmsh.y" +#line 3481 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -8868,7 +8873,7 @@ yyreduce: break; case 279: -#line 3483 "Gmsh.y" +#line 3488 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8877,7 +8882,7 @@ yyreduce: break; case 280: -#line 3489 "Gmsh.y" +#line 3494 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -8887,7 +8892,7 @@ yyreduce: break; case 281: -#line 3496 "Gmsh.y" +#line 3501 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8896,7 +8901,7 @@ yyreduce: break; case 282: -#line 3502 "Gmsh.y" +#line 3507 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -8906,7 +8911,7 @@ yyreduce: break; case 283: -#line 3509 "Gmsh.y" +#line 3514 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8915,7 +8920,7 @@ yyreduce: break; case 284: -#line 3515 "Gmsh.y" +#line 3520 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -8925,7 +8930,7 @@ yyreduce: break; case 285: -#line 3522 "Gmsh.y" +#line 3527 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -8934,7 +8939,7 @@ yyreduce: break; case 286: -#line 3528 "Gmsh.y" +#line 3533 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -8944,19 +8949,19 @@ yyreduce: break; case 287: -#line 3539 "Gmsh.y" +#line 3544 "Gmsh.y" { ;} break; case 288: -#line 3542 "Gmsh.y" +#line 3547 "Gmsh.y" { ;} break; case 289: -#line 3548 "Gmsh.y" +#line 3553 "Gmsh.y" { int n = (int)fabs((yyvsp[(3) - (5)].d)); if(n){ // we accept n==0 to easily disable layers @@ -8971,7 +8976,7 @@ yyreduce: break; case 290: -#line 3560 "Gmsh.y" +#line 3565 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -8994,7 +8999,7 @@ yyreduce: break; case 291: -#line 3580 "Gmsh.y" +#line 3585 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -9020,35 +9025,35 @@ yyreduce: break; case 292: -#line 3604 "Gmsh.y" +#line 3609 "Gmsh.y" { extr.mesh.ScaleLast = true; ;} break; case 293: -#line 3608 "Gmsh.y" +#line 3613 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 294: -#line 3612 "Gmsh.y" +#line 3617 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); ;} break; case 295: -#line 3616 "Gmsh.y" +#line 3621 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); ;} break; case 296: -#line 3620 "Gmsh.y" +#line 3625 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -9057,7 +9062,7 @@ yyreduce: break; case 297: -#line 3626 "Gmsh.y" +#line 3631 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -9066,35 +9071,35 @@ yyreduce: break; case 298: -#line 3632 "Gmsh.y" +#line 3637 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1; ;} break; case 299: -#line 3636 "Gmsh.y" +#line 3641 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB; ;} break; case 300: -#line 3640 "Gmsh.y" +#line 3645 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1; ;} break; case 301: -#line 3644 "Gmsh.y" +#line 3649 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB; ;} break; case 302: -#line 3648 "Gmsh.y" +#line 3653 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -9116,7 +9121,7 @@ yyreduce: break; case 303: -#line 3667 "Gmsh.y" +#line 3672 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -9127,14 +9132,14 @@ yyreduce: break; case 304: -#line 3679 "Gmsh.y" +#line 3684 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} break; case 305: -#line 3683 "Gmsh.y" +#line 3688 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -9150,14 +9155,14 @@ yyreduce: break; case 306: -#line 3698 "Gmsh.y" +#line 3703 "Gmsh.y" { (yyval.i) = -1; // left ;} break; case 307: -#line 3702 "Gmsh.y" +#line 3707 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -9174,49 +9179,49 @@ yyreduce: break; case 308: -#line 3718 "Gmsh.y" +#line 3723 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; case 309: -#line 3722 "Gmsh.y" +#line 3727 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; case 310: -#line 3727 "Gmsh.y" +#line 3732 "Gmsh.y" { (yyval.i) = 45; ;} break; case 311: -#line 3731 "Gmsh.y" +#line 3736 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} break; case 312: -#line 3737 "Gmsh.y" +#line 3742 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; case 313: -#line 3741 "Gmsh.y" +#line 3746 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; case 314: -#line 3748 "Gmsh.y" +#line 3753 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -9275,7 +9280,7 @@ yyreduce: break; case 315: -#line 3804 "Gmsh.y" +#line 3809 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -9348,7 +9353,7 @@ yyreduce: break; case 316: -#line 3874 "Gmsh.y" +#line 3879 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -9356,7 +9361,7 @@ yyreduce: break; case 317: -#line 3879 "Gmsh.y" +#line 3884 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -9426,7 +9431,7 @@ yyreduce: break; case 318: -#line 3946 "Gmsh.y" +#line 3951 "Gmsh.y" { if(!(yyvsp[(2) - (3)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -9465,7 +9470,7 @@ yyreduce: break; case 319: -#line 3982 "Gmsh.y" +#line 3987 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (7)].l)); i++){ double d; @@ -9476,7 +9481,7 @@ yyreduce: break; case 320: -#line 3990 "Gmsh.y" +#line 3995 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9522,7 +9527,7 @@ yyreduce: break; case 321: -#line 4033 "Gmsh.y" +#line 4038 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -9564,7 +9569,7 @@ yyreduce: break; case 322: -#line 4072 "Gmsh.y" +#line 4077 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -9587,7 +9592,7 @@ yyreduce: break; case 323: -#line 4093 "Gmsh.y" +#line 4098 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){ yymsg(0, "Number of master lines (%d) different from number of " @@ -9621,7 +9626,7 @@ yyreduce: break; case 324: -#line 4125 "Gmsh.y" +#line 4130 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (11)].l)) != List_Nbr((yyvsp[(8) - (11)].l))){ yymsg(0, "Number of master faces (%d) different from number of " @@ -9650,7 +9655,7 @@ yyreduce: break; case 325: -#line 4152 "Gmsh.y" +#line 4157 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){ yymsg(0, "Number of master edges (%d) different from number of " @@ -9678,7 +9683,7 @@ yyreduce: break; case 326: -#line 4178 "Gmsh.y" +#line 4183 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (18)].l)) != List_Nbr((yyvsp[(8) - (18)].l))){ yymsg(0, "Number of master faces (%d) different from number of " @@ -9706,7 +9711,7 @@ yyreduce: break; case 327: -#line 4204 "Gmsh.y" +#line 4209 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){ yymsg(0, "Number of master edges (%d) different from number of " @@ -9734,7 +9739,7 @@ yyreduce: break; case 328: -#line 4230 "Gmsh.y" +#line 4235 "Gmsh.y" { if (List_Nbr((yyvsp[(4) - (12)].l)) != List_Nbr((yyvsp[(8) - (12)].l))){ yymsg(0, "Number of master faces (%d) different from number of " @@ -9762,7 +9767,7 @@ yyreduce: break; case 329: -#line 4256 "Gmsh.y" +#line 4261 "Gmsh.y" { if (List_Nbr((yyvsp[(5) - (12)].l)) != List_Nbr((yyvsp[(10) - (12)].l))){ yymsg(0, "Number of master surface edges (%d) different from number of " @@ -9786,7 +9791,7 @@ yyreduce: break; case 330: -#line 4277 "Gmsh.y" +#line 4282 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9817,7 +9822,7 @@ yyreduce: break; case 331: -#line 4305 "Gmsh.y" +#line 4310 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -9848,21 +9853,21 @@ yyreduce: break; case 332: -#line 4333 "Gmsh.y" +#line 4338 "Gmsh.y" { Msg::Error("Point in Volume not implemented yet"); ;} break; case 333: -#line 4337 "Gmsh.y" +#line 4342 "Gmsh.y" { Msg::Error("Line in Volume not implemented yet"); ;} break; case 334: -#line 4341 "Gmsh.y" +#line 4346 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -9893,7 +9898,7 @@ yyreduce: break; case 335: -#line 4369 "Gmsh.y" +#line 4374 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -9935,7 +9940,7 @@ yyreduce: break; case 336: -#line 4408 "Gmsh.y" +#line 4413 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves); @@ -9977,7 +9982,7 @@ yyreduce: break; case 337: -#line 4447 "Gmsh.y" +#line 4452 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::viter it = GModel::current()->firstVertex(); @@ -10001,7 +10006,7 @@ yyreduce: break; case 338: -#line 4468 "Gmsh.y" +#line 4473 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::eiter it = GModel::current()->firstEdge(); @@ -10025,7 +10030,7 @@ yyreduce: break; case 339: -#line 4489 "Gmsh.y" +#line 4494 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::fiter it = GModel::current()->firstFace(); @@ -10049,14 +10054,14 @@ yyreduce: break; case 340: -#line 4516 "Gmsh.y" +#line 4521 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; case 341: -#line 4520 "Gmsh.y" +#line 4525 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -10069,7 +10074,7 @@ yyreduce: break; case 342: -#line 4530 "Gmsh.y" +#line 4535 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -10102,22 +10107,22 @@ yyreduce: break; case 343: -#line 4564 "Gmsh.y" +#line 4569 "Gmsh.y" { (yyval.c) = (char*)"Homology"; ;} break; case 344: -#line 4565 "Gmsh.y" +#line 4570 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; ;} break; case 345: -#line 4566 "Gmsh.y" +#line 4571 "Gmsh.y" { (yyval.c) = (char*)"Betti"; ;} break; case 346: -#line 4571 "Gmsh.y" +#line 4576 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -10126,7 +10131,7 @@ yyreduce: break; case 347: -#line 4577 "Gmsh.y" +#line 4582 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -10141,7 +10146,7 @@ yyreduce: break; case 348: -#line 4589 "Gmsh.y" +#line 4594 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -10162,7 +10167,7 @@ yyreduce: break; case 349: -#line 4607 "Gmsh.y" +#line 4612 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -10188,47 +10193,47 @@ yyreduce: break; case 350: -#line 4634 "Gmsh.y" +#line 4639 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 351: -#line 4635 "Gmsh.y" +#line 4640 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 352: -#line 4636 "Gmsh.y" +#line 4641 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 353: -#line 4637 "Gmsh.y" +#line 4642 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 354: -#line 4638 "Gmsh.y" +#line 4643 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 355: -#line 4639 "Gmsh.y" +#line 4644 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 356: -#line 4640 "Gmsh.y" +#line 4645 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 357: -#line 4641 "Gmsh.y" +#line 4646 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 358: -#line 4643 "Gmsh.y" +#line 4648 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -10238,232 +10243,232 @@ yyreduce: break; case 359: -#line 4649 "Gmsh.y" +#line 4654 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 360: -#line 4650 "Gmsh.y" +#line 4655 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 361: -#line 4651 "Gmsh.y" +#line 4656 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 362: -#line 4652 "Gmsh.y" +#line 4657 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 363: -#line 4653 "Gmsh.y" +#line 4658 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 364: -#line 4654 "Gmsh.y" +#line 4659 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 365: -#line 4655 "Gmsh.y" +#line 4660 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 366: -#line 4656 "Gmsh.y" +#line 4661 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 367: -#line 4657 "Gmsh.y" +#line 4662 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 368: -#line 4658 "Gmsh.y" +#line 4663 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 369: -#line 4659 "Gmsh.y" +#line 4664 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 370: -#line 4660 "Gmsh.y" +#line 4665 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 371: -#line 4661 "Gmsh.y" +#line 4666 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 372: -#line 4662 "Gmsh.y" +#line 4667 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 373: -#line 4663 "Gmsh.y" +#line 4668 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 374: -#line 4664 "Gmsh.y" +#line 4669 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 375: -#line 4665 "Gmsh.y" +#line 4670 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 376: -#line 4666 "Gmsh.y" +#line 4671 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 377: -#line 4667 "Gmsh.y" +#line 4672 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 378: -#line 4668 "Gmsh.y" +#line 4673 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 379: -#line 4669 "Gmsh.y" +#line 4674 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 380: -#line 4670 "Gmsh.y" +#line 4675 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 381: -#line 4671 "Gmsh.y" +#line 4676 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 382: -#line 4672 "Gmsh.y" +#line 4677 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 383: -#line 4673 "Gmsh.y" +#line 4678 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 384: -#line 4674 "Gmsh.y" +#line 4679 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 385: -#line 4675 "Gmsh.y" +#line 4680 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 386: -#line 4676 "Gmsh.y" +#line 4681 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 387: -#line 4677 "Gmsh.y" +#line 4682 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); ;} break; case 388: -#line 4678 "Gmsh.y" +#line 4683 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 389: -#line 4679 "Gmsh.y" +#line 4684 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 390: -#line 4680 "Gmsh.y" +#line 4685 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 391: -#line 4681 "Gmsh.y" +#line 4686 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 392: -#line 4690 "Gmsh.y" +#line 4695 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 393: -#line 4691 "Gmsh.y" +#line 4696 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 394: -#line 4692 "Gmsh.y" +#line 4697 "Gmsh.y" { (yyval.d) = (double)ImbricatedTest; ;} break; case 395: -#line 4693 "Gmsh.y" +#line 4698 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; case 396: -#line 4694 "Gmsh.y" +#line 4699 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; case 397: -#line 4695 "Gmsh.y" +#line 4700 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; case 398: -#line 4696 "Gmsh.y" +#line 4701 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; case 399: -#line 4697 "Gmsh.y" +#line 4702 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; case 400: -#line 4698 "Gmsh.y" +#line 4703 "Gmsh.y" { (yyval.d) = Cpu(); ;} break; case 401: -#line 4699 "Gmsh.y" +#line 4704 "Gmsh.y" { (yyval.d) = GetMemoryUsage()/1024./1024.; ;} break; case 402: -#line 4700 "Gmsh.y" +#line 4705 "Gmsh.y" { (yyval.d) = TotalRam(); ;} break; case 403: -#line 4705 "Gmsh.y" +#line 4710 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 404: -#line 4707 "Gmsh.y" +#line 4712 "Gmsh.y" { std::vector<double> val(1, (yyvsp[(3) - (6)].d)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -10472,7 +10477,7 @@ yyreduce: break; case 405: -#line 4713 "Gmsh.y" +#line 4718 "Gmsh.y" { (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -10480,7 +10485,7 @@ yyreduce: break; case 406: -#line 4718 "Gmsh.y" +#line 4723 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -10500,7 +10505,7 @@ yyreduce: break; case 407: -#line 4735 "Gmsh.y" +#line 4740 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10521,7 +10526,7 @@ yyreduce: break; case 408: -#line 4753 "Gmsh.y" +#line 4758 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10542,7 +10547,7 @@ yyreduce: break; case 409: -#line 4771 "Gmsh.y" +#line 4776 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10563,7 +10568,7 @@ yyreduce: break; case 410: -#line 4789 "Gmsh.y" +#line 4794 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -10584,7 +10589,7 @@ yyreduce: break; case 411: -#line 4807 "Gmsh.y" +#line 4812 "Gmsh.y" { (yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -10592,7 +10597,7 @@ yyreduce: break; case 412: -#line 4812 "Gmsh.y" +#line 4817 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.d) = !StatFile(tmp); @@ -10601,7 +10606,7 @@ yyreduce: break; case 413: -#line 4818 "Gmsh.y" +#line 4823 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(2) - (4)].c)); @@ -10616,7 +10621,7 @@ yyreduce: break; case 414: -#line 4830 "Gmsh.y" +#line 4835 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -10636,7 +10641,7 @@ yyreduce: break; case 415: -#line 4847 "Gmsh.y" +#line 4852 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10657,7 +10662,7 @@ yyreduce: break; case 416: -#line 4865 "Gmsh.y" +#line 4870 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10678,7 +10683,7 @@ yyreduce: break; case 417: -#line 4883 "Gmsh.y" +#line 4888 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10699,7 +10704,7 @@ yyreduce: break; case 418: -#line 4901 "Gmsh.y" +#line 4906 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -10720,7 +10725,7 @@ yyreduce: break; case 419: -#line 4922 "Gmsh.y" +#line 4927 "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)); @@ -10728,7 +10733,7 @@ yyreduce: break; case 420: -#line 4927 "Gmsh.y" +#line 4932 "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)); @@ -10736,7 +10741,7 @@ yyreduce: break; case 421: -#line 4932 "Gmsh.y" +#line 4937 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -10749,7 +10754,7 @@ yyreduce: break; case 422: -#line 4942 "Gmsh.y" +#line 4947 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -10762,7 +10767,7 @@ yyreduce: break; case 423: -#line 4952 "Gmsh.y" +#line 4957 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -10770,7 +10775,7 @@ yyreduce: break; case 424: -#line 4957 "Gmsh.y" +#line 4962 "Gmsh.y" { int matches = 0; for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ @@ -10784,7 +10789,7 @@ yyreduce: break; case 425: -#line 4968 "Gmsh.y" +#line 4973 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -10796,7 +10801,7 @@ yyreduce: break; case 426: -#line 4977 "Gmsh.y" +#line 4982 "Gmsh.y" { (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c)); @@ -10804,7 +10809,7 @@ yyreduce: break; case 427: -#line 4982 "Gmsh.y" +#line 4987 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -10831,70 +10836,70 @@ yyreduce: break; case 428: -#line 5009 "Gmsh.y" +#line 5014 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; case 429: -#line 5013 "Gmsh.y" +#line 5018 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; case 430: -#line 5017 "Gmsh.y" +#line 5022 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 431: -#line 5021 "Gmsh.y" +#line 5026 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; case 432: -#line 5025 "Gmsh.y" +#line 5030 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; case 433: -#line 5032 "Gmsh.y" +#line 5037 "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); ;} break; case 434: -#line 5036 "Gmsh.y" +#line 5041 "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; ;} break; case 435: -#line 5040 "Gmsh.y" +#line 5045 "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; ;} break; case 436: -#line 5044 "Gmsh.y" +#line 5049 "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; ;} break; case 437: -#line 5051 "Gmsh.y" +#line 5056 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -10902,14 +10907,14 @@ yyreduce: break; case 438: -#line 5056 "Gmsh.y" +#line 5061 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; case 439: -#line 5063 "Gmsh.y" +#line 5068 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -10917,14 +10922,14 @@ yyreduce: break; case 440: -#line 5068 "Gmsh.y" +#line 5073 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 441: -#line 5072 "Gmsh.y" +#line 5077 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -10932,14 +10937,14 @@ yyreduce: break; case 442: -#line 5077 "Gmsh.y" +#line 5082 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 443: -#line 5081 "Gmsh.y" +#line 5086 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10950,7 +10955,7 @@ yyreduce: break; case 444: -#line 5089 "Gmsh.y" +#line 5094 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10961,14 +10966,14 @@ yyreduce: break; case 445: -#line 5100 "Gmsh.y" +#line 5105 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 446: -#line 5104 "Gmsh.y" +#line 5109 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -10980,7 +10985,7 @@ yyreduce: break; case 447: -#line 5116 "Gmsh.y" +#line 5121 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -10991,7 +10996,7 @@ yyreduce: break; case 448: -#line 5124 "Gmsh.y" +#line 5129 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -11002,7 +11007,7 @@ yyreduce: break; case 449: -#line 5132 "Gmsh.y" +#line 5137 "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)); @@ -11012,7 +11017,7 @@ yyreduce: break; case 450: -#line 5139 "Gmsh.y" +#line 5144 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -11025,7 +11030,7 @@ yyreduce: break; case 451: -#line 5149 "Gmsh.y" +#line 5154 "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 @@ -11057,63 +11062,63 @@ yyreduce: break; case 452: -#line 5178 "Gmsh.y" +#line 5183 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(0); ;} break; case 453: -#line 5182 "Gmsh.y" +#line 5187 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(1); ;} break; case 454: -#line 5186 "Gmsh.y" +#line 5191 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(2); ;} break; case 455: -#line 5190 "Gmsh.y" +#line 5195 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(3); ;} break; case 456: -#line 5194 "Gmsh.y" +#line 5199 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(0); ;} break; case 457: -#line 5198 "Gmsh.y" +#line 5203 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(1); ;} break; case 458: -#line 5202 "Gmsh.y" +#line 5207 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(2); ;} break; case 459: -#line 5206 "Gmsh.y" +#line 5211 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(3); ;} break; case 460: -#line 5210 "Gmsh.y" +#line 5215 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -11145,7 +11150,7 @@ yyreduce: break; case 461: -#line 5239 "Gmsh.y" +#line 5244 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -11177,7 +11182,7 @@ yyreduce: break; case 462: -#line 5268 "Gmsh.y" +#line 5273 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -11209,7 +11214,7 @@ yyreduce: break; case 463: -#line 5297 "Gmsh.y" +#line 5302 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -11241,7 +11246,7 @@ yyreduce: break; case 464: -#line 5327 "Gmsh.y" +#line 5332 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -11256,7 +11261,7 @@ yyreduce: break; case 465: -#line 5340 "Gmsh.y" +#line 5345 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -11271,7 +11276,7 @@ yyreduce: break; case 466: -#line 5353 "Gmsh.y" +#line 5358 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -11286,7 +11291,7 @@ yyreduce: break; case 467: -#line 5366 "Gmsh.y" +#line 5371 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -11301,7 +11306,7 @@ yyreduce: break; case 468: -#line 5378 "Gmsh.y" +#line 5383 "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++){ @@ -11314,7 +11319,7 @@ yyreduce: break; case 469: -#line 5388 "Gmsh.y" +#line 5393 "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++){ @@ -11327,7 +11332,7 @@ yyreduce: break; case 470: -#line 5398 "Gmsh.y" +#line 5403 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -11342,7 +11347,7 @@ yyreduce: break; case 471: -#line 5410 "Gmsh.y" +#line 5415 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -11357,7 +11362,7 @@ yyreduce: break; case 472: -#line 5423 "Gmsh.y" +#line 5428 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -11372,7 +11377,7 @@ yyreduce: break; case 473: -#line 5435 "Gmsh.y" +#line 5440 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -11393,7 +11398,7 @@ yyreduce: break; case 474: -#line 5453 "Gmsh.y" +#line 5458 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -11414,7 +11419,7 @@ yyreduce: break; case 475: -#line 5474 "Gmsh.y" +#line 5479 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -11422,21 +11427,21 @@ yyreduce: break; case 476: -#line 5479 "Gmsh.y" +#line 5484 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 477: -#line 5483 "Gmsh.y" +#line 5488 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; case 478: -#line 5487 "Gmsh.y" +#line 5492 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -11448,21 +11453,21 @@ yyreduce: break; case 479: -#line 5499 "Gmsh.y" +#line 5504 "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)); ;} break; case 480: -#line 5503 "Gmsh.y" +#line 5508 "Gmsh.y" { (yyval.u) = CTX::instance()->packColor((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255); ;} break; case 481: -#line 5515 "Gmsh.y" +#line 5520 "Gmsh.y" { int flag; (yyval.u) = GetColorForString(-1, (yyvsp[(1) - (1)].c), &flag); @@ -11472,7 +11477,7 @@ yyreduce: break; case 482: -#line 5522 "Gmsh.y" +#line 5527 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -11482,14 +11487,14 @@ yyreduce: break; case 483: -#line 5532 "Gmsh.y" +#line 5537 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 484: -#line 5536 "Gmsh.y" +#line 5541 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -11504,7 +11509,7 @@ yyreduce: break; case 485: -#line 5551 "Gmsh.y" +#line 5556 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -11512,21 +11517,21 @@ yyreduce: break; case 486: -#line 5556 "Gmsh.y" +#line 5561 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; case 487: -#line 5563 "Gmsh.y" +#line 5568 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 488: -#line 5567 "Gmsh.y" +#line 5572 "Gmsh.y" { if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown string variable '%s'", (yyvsp[(1) - (1)].c)); @@ -11542,7 +11547,7 @@ yyreduce: break; case 489: -#line 5580 "Gmsh.y" +#line 5585 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -11553,7 +11558,7 @@ yyreduce: break; case 490: -#line 5588 "Gmsh.y" +#line 5593 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -11564,21 +11569,21 @@ yyreduce: break; case 491: -#line 5599 "Gmsh.y" +#line 5604 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 492: -#line 5603 "Gmsh.y" +#line 5608 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 493: -#line 5607 "Gmsh.y" +#line 5612 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -11589,7 +11594,7 @@ yyreduce: break; case 494: -#line 5615 "Gmsh.y" +#line 5620 "Gmsh.y" { std::string exe = Msg::GetExecutableName(); (yyval.c) = (char *)Malloc(exe.size() + 1); @@ -11598,7 +11603,7 @@ yyreduce: break; case 495: -#line 5621 "Gmsh.y" +#line 5626 "Gmsh.y" { std::string action = Msg::GetOnelabAction(); (yyval.c) = (char *)Malloc(action.size() + 1); @@ -11607,7 +11612,7 @@ yyreduce: break; case 496: -#line 5627 "Gmsh.y" +#line 5632 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -11618,7 +11623,7 @@ yyreduce: break; case 497: -#line 5635 "Gmsh.y" +#line 5640 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -11629,7 +11634,7 @@ yyreduce: break; case 498: -#line 5643 "Gmsh.y" +#line 5648 "Gmsh.y" { std::string s = Msg::GetOnelabString((yyvsp[(3) - (4)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -11639,7 +11644,7 @@ yyreduce: break; case 499: -#line 5650 "Gmsh.y" +#line 5655 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -11657,7 +11662,7 @@ yyreduce: break; case 500: -#line 5665 "Gmsh.y" +#line 5670 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -11674,7 +11679,7 @@ yyreduce: break; case 501: -#line 5679 "Gmsh.y" +#line 5684 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -11691,7 +11696,7 @@ yyreduce: break; case 502: -#line 5693 "Gmsh.y" +#line 5698 "Gmsh.y" { std::string input = (yyvsp[(3) - (8)].c); std::string substr_old = (yyvsp[(5) - (8)].c); @@ -11706,7 +11711,7 @@ yyreduce: break; case 503: -#line 5705 "Gmsh.y" +#line 5710 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -11725,7 +11730,7 @@ yyreduce: break; case 504: -#line 5721 "Gmsh.y" +#line 5726 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -11737,7 +11742,7 @@ yyreduce: break; case 505: -#line 5730 "Gmsh.y" +#line 5735 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -11749,7 +11754,7 @@ yyreduce: break; case 506: -#line 5739 "Gmsh.y" +#line 5744 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -11762,7 +11767,7 @@ yyreduce: break; case 507: -#line 5749 "Gmsh.y" +#line 5754 "Gmsh.y" { if((yyvsp[(3) - (8)].d)){ (yyval.c) = (yyvsp[(5) - (8)].c); @@ -11776,14 +11781,14 @@ yyreduce: break; case 508: -#line 5760 "Gmsh.y" +#line 5765 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 509: -#line 5764 "Gmsh.y" +#line 5769 "Gmsh.y" { char tmpstring[5000]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -11805,7 +11810,7 @@ yyreduce: break; case 510: -#line 5783 "Gmsh.y" +#line 5788 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -11815,7 +11820,7 @@ yyreduce: break; case 511: -#line 5790 "Gmsh.y" +#line 5795 "Gmsh.y" { std::string tmp = SplitFileName(GetAbsolutePath(gmsh_yyname))[0]; (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -11824,12 +11829,12 @@ yyreduce: break; case 512: -#line 5796 "Gmsh.y" +#line 5801 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 513: -#line 5798 "Gmsh.y" +#line 5803 "Gmsh.y" { std::string val((yyvsp[(3) - (6)].c)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -11840,7 +11845,7 @@ yyreduce: break; case 514: -#line 5809 "Gmsh.y" +#line 5814 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); @@ -11848,12 +11853,12 @@ yyreduce: break; case 515: -#line 5814 "Gmsh.y" +#line 5819 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); ;} break; case 516: -#line 5820 "Gmsh.y" +#line 5825 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11864,7 +11869,7 @@ yyreduce: break; case 517: -#line 5829 "Gmsh.y" +#line 5834 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -11875,23 +11880,23 @@ yyreduce: break; case 518: -#line 5842 "Gmsh.y" +#line 5847 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 519: -#line 5845 "Gmsh.y" +#line 5850 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 520: -#line 5849 "Gmsh.y" +#line 5854 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; /* Line 1267 of yacc.c. */ -#line 11895 "Gmsh.tab.cpp" +#line 11900 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -12105,7 +12110,7 @@ yyreturn: } -#line 5852 "Gmsh.y" +#line 5857 "Gmsh.y" void assignVariable(const std::string &name, int index, int assignType, diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index e6ecc84583c9efe5a49fa9fd9fea3fb2274a31b2..c68cf3fc776dd155edb5a2157b8560b0bbf627e5 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -3254,9 +3254,14 @@ Loop : } | tElse { - if (ImbricatedTest > 0 && statusImbricatedTests[ImbricatedTest]){ - skip_until("If", "EndIf"); - ImbricatedTest--; + if (ImbricatedTest > 0){ + if (statusImbricatedTests[ImbricatedTest]){ + skip_until("If", "EndIf"); + ImbricatedTest--; + } + } + else{ + yymsg(0, "Orphan Else"); } } | tEndIf