From 5970c73fcb2037ac23b7125c9c89d897302ed605 Mon Sep 17 00:00:00 2001 From: Christophe Geuzaine <cgeuzaine@ulg.ac.be> Date: Thu, 4 Oct 2001 12:07:02 +0000 Subject: [PATCH] Fix line numbering in loops --- Parser/Gmsh.tab.cpp | 792 ++++++++++++++++++----------------- Parser/Gmsh.y | 20 +- Parser/Gmsh.yy.cpp | 4 +- benchmarks/misc/errcheck.geo | 15 + benchmarks/misc/lists.geo | 6 + doc/VERSIONS | 5 +- 6 files changed, 442 insertions(+), 400 deletions(-) create mode 100644 benchmarks/misc/errcheck.geo diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index dc59d2f58a..dd567020ec 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -175,7 +175,7 @@ #line 1 "Gmsh.y" -// $Id: Gmsh.tab.cpp,v 1.116 2001-10-04 11:41:20 gyselinc Exp $ +// $Id: Gmsh.tab.cpp,v 1.117 2001-10-04 12:07:01 geuzaine Exp $ #include <stdarg.h> #ifndef _NOPLUGIN @@ -215,6 +215,7 @@ extern Mesh *THEM; static FILE *yyinTab[MAX_OPEN_FILES]; static int yylinenoTab[MAX_OPEN_FILES]; static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; +static int yylinenoImbricatedLoopsTab[MAX_OPEN_FILES]; static double LoopControlVariablesTab[MAX_OPEN_FILES][3]; static char* LoopControlVariablesNameTab[MAX_OPEN_FILES]; static char yynameTab[MAX_OPEN_FILES][256]; @@ -241,7 +242,7 @@ void yyerror (char *s); void vyyerror (char *fmt, ...); void skip_until (char *skip, char *until); -#line 70 "Gmsh.y" +#line 71 "Gmsh.y" typedef union { char *c; int i; @@ -598,43 +599,43 @@ static const short yyrhs[] = { 191, #if YYDEBUG != 0 static const short yyrline[] = { 0, - 152, 154, 155, 156, 163, 165, 168, 176, 190, 202, - 204, 207, 209, 210, 213, 219, 224, 225, 226, 229, - 233, 236, 242, 247, 253, 261, 266, 270, 276, 281, - 285, 290, 294, 297, 302, 306, 310, 314, 319, 323, - 326, 330, 334, 338, 342, 346, 350, 353, 357, 360, - 364, 367, 376, 380, 386, 388, 389, 390, 391, 392, - 393, 394, 395, 396, 397, 398, 401, 406, 435, 440, - 446, 451, 452, 453, 454, 455, 456, 457, 458, 459, - 460, 461, 462, 465, 468, 472, 478, 484, 487, 491, - 497, 503, 506, 510, 516, 522, 525, 529, 537, 543, - 546, 550, 558, 564, 567, 571, 579, 585, 588, 592, - 604, 610, 613, 617, 629, 635, 638, 642, 654, 660, - 663, 667, 680, 686, 689, 693, 706, 712, 715, 719, - 732, 744, 746, 747, 748, 749, 751, 753, 755, 786, - 820, 867, 882, 891, 906, 918, 932, 955, 979, 991, - 1005, 1017, 1031, 1047, 1063, 1076, 1096, 1107, 1113, 1132, - 1143, 1151, 1157, 1163, 1182, 1188, 1194, 1210, 1217, 1223, - 1229, 1240, 1251, 1273, 1285, 1291, 1310, 1331, 1339, 1345, - 1351, 1357, 1369, 1375, 1381, 1393, 1399, 1404, 1409, 1416, - 1418, 1419, 1422, 1427, 1438, 1456, 1464, 1469, 1480, 1548, - 1568, 1575, 1579, 1599, 1610, 1619, 1639, 1659, 1679, 1685, - 1690, 1695, 1699, 1709, 1716, 1725, 1729, 1733, 1738, 1742, - 1747, 1754, 1758, 1762, 1767, 1772, 1778, 1785, 1789, 1794, - 1824, 1850, 1860, 1879, 1897, 1915, 1937, 1958, 1979, 1993, - 2014, 2019, 2030, 2032, 2033, 2034, 2035, 2038, 2040, 2041, - 2042, 2043, 2044, 2045, 2046, 2047, 2054, 2055, 2056, 2057, - 2058, 2059, 2060, 2061, 2062, 2063, 2064, 2065, 2066, 2067, + 153, 155, 156, 157, 164, 166, 169, 177, 191, 203, + 205, 208, 210, 211, 214, 220, 225, 226, 227, 230, + 234, 237, 243, 248, 254, 262, 267, 271, 277, 282, + 286, 291, 295, 298, 303, 307, 311, 315, 320, 324, + 327, 331, 335, 339, 343, 347, 351, 354, 358, 361, + 365, 368, 377, 381, 387, 389, 390, 391, 392, 393, + 394, 395, 396, 397, 398, 399, 402, 407, 436, 441, + 447, 452, 453, 454, 455, 456, 457, 458, 459, 460, + 461, 462, 463, 466, 469, 473, 479, 485, 488, 492, + 498, 504, 507, 511, 517, 523, 526, 530, 538, 544, + 547, 551, 559, 565, 568, 572, 580, 586, 589, 593, + 605, 611, 614, 618, 630, 636, 639, 643, 655, 661, + 664, 668, 681, 687, 690, 694, 707, 713, 716, 720, + 733, 745, 747, 748, 749, 750, 752, 754, 756, 787, + 821, 868, 883, 892, 907, 919, 933, 956, 980, 992, + 1006, 1018, 1032, 1048, 1064, 1077, 1097, 1108, 1114, 1133, + 1144, 1152, 1158, 1164, 1183, 1189, 1195, 1211, 1218, 1224, + 1230, 1241, 1252, 1274, 1286, 1292, 1311, 1332, 1340, 1346, + 1352, 1358, 1370, 1376, 1382, 1394, 1400, 1405, 1410, 1417, + 1419, 1420, 1423, 1428, 1439, 1457, 1465, 1470, 1481, 1549, + 1569, 1576, 1580, 1600, 1613, 1624, 1646, 1668, 1689, 1695, + 1700, 1705, 1709, 1719, 1726, 1735, 1739, 1743, 1748, 1752, + 1757, 1764, 1768, 1772, 1777, 1782, 1788, 1795, 1799, 1804, + 1834, 1860, 1870, 1889, 1907, 1925, 1947, 1968, 1989, 2003, + 2024, 2029, 2040, 2042, 2043, 2044, 2045, 2048, 2050, 2051, + 2052, 2053, 2054, 2055, 2056, 2057, 2064, 2065, 2066, 2067, 2068, 2069, 2070, 2071, 2072, 2073, 2074, 2075, 2076, 2077, - 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2087, 2088, - 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2096, 2097, 2098, - 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2112, - 2117, 2118, 2119, 2123, 2134, 2151, 2162, 2181, 2197, 2213, - 2229, 2246, 2251, 2255, 2259, 2263, 2268, 2273, 2277, 2281, - 2287, 2291, 2296, 2300, 2305, 2309, 2313, 2319, 2325, 2332, - 2338, 2342, 2346, 2356, 2363, 2374, 2388, 2404, 2424, 2448, - 2454, 2458, 2462, 2473, 2478, 2489, 2494, 2512, 2517, 2530, - 2536, 2542, 2547, 2555, 2568, 2572, 2597, 2611 + 2078, 2079, 2080, 2081, 2082, 2083, 2084, 2085, 2086, 2087, + 2088, 2089, 2090, 2091, 2092, 2093, 2094, 2095, 2097, 2098, + 2099, 2100, 2101, 2102, 2103, 2104, 2105, 2106, 2107, 2108, + 2109, 2110, 2111, 2112, 2113, 2114, 2115, 2116, 2117, 2122, + 2127, 2128, 2129, 2133, 2144, 2161, 2172, 2191, 2207, 2223, + 2239, 2256, 2261, 2265, 2269, 2273, 2278, 2283, 2287, 2291, + 2297, 2301, 2306, 2310, 2315, 2319, 2323, 2329, 2335, 2342, + 2348, 2352, 2356, 2366, 2373, 2384, 2398, 2414, 2434, 2458, + 2464, 2468, 2472, 2483, 2488, 2499, 2504, 2522, 2527, 2540, + 2546, 2552, 2557, 2565, 2578, 2582, 2607, 2621 }; #endif @@ -3143,19 +3144,19 @@ yyreduce: switch (yyn) { case 4: -#line 156 "Gmsh.y" +#line 157 "Gmsh.y" { yyerrok ; return 1; ; break;} case 5: -#line 164 "Gmsh.y" +#line 165 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 6: -#line 165 "Gmsh.y" +#line 166 "Gmsh.y" { yyval.d = -yyvsp[0].d; ; break;} case 7: -#line 170 "Gmsh.y" +#line 171 "Gmsh.y" { Msg(PARSER_INFO,"STL file format"); STL_Surf = Create_Surface(1,MSH_SURF_STL,1); @@ -3164,7 +3165,7 @@ case 7: ; break;} case 8: -#line 184 "Gmsh.y" +#line 185 "Gmsh.y" { STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d, yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d, @@ -3173,7 +3174,7 @@ case 8: ; break;} case 9: -#line 191 "Gmsh.y" +#line 192 "Gmsh.y" { Msg(PARSER_INFO,"STL file format read"); Tree_Add(THEM->Surfaces, &STL_Surf); @@ -3181,79 +3182,79 @@ case 9: ; break;} case 12: -#line 208 "Gmsh.y" +#line 209 "Gmsh.y" { return 1; ; break;} case 13: -#line 209 "Gmsh.y" +#line 210 "Gmsh.y" { return 1; ; break;} case 14: -#line 210 "Gmsh.y" +#line 211 "Gmsh.y" { return 1; ; break;} case 15: -#line 215 "Gmsh.y" +#line 216 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format"); Create_Step_Solid_BRep(); ; break;} case 16: -#line 220 "Gmsh.y" +#line 221 "Gmsh.y" { Msg(PARSER_INFO,"Step Iso-10303-21 file format read"); Resolve_BREP (); ; break;} case 20: -#line 231 "Gmsh.y" +#line 232 "Gmsh.y" { ; break;} case 21: -#line 234 "Gmsh.y" +#line 235 "Gmsh.y" { ; break;} case 22: -#line 238 "Gmsh.y" +#line 239 "Gmsh.y" { ; break;} case 23: -#line 244 "Gmsh.y" +#line 245 "Gmsh.y" { Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]); ; break;} case 24: -#line 250 "Gmsh.y" +#line 251 "Gmsh.y" { Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.); ; break;} case 25: -#line 257 "Gmsh.y" +#line 258 "Gmsh.y" { Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l, yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. ); ; break;} case 26: -#line 263 "Gmsh.y" +#line 264 "Gmsh.y" { Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d); ; break;} case 27: -#line 267 "Gmsh.y" +#line 268 "Gmsh.y" { Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1); ; break;} case 28: -#line 271 "Gmsh.y" +#line 272 "Gmsh.y" { /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */ Msg(PARSER_INFO,"Found a face bound"); @@ -3261,207 +3262,207 @@ case 28: ; break;} case 29: -#line 278 "Gmsh.y" +#line 279 "Gmsh.y" { Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 30: -#line 282 "Gmsh.y" +#line 283 "Gmsh.y" { Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l); ; break;} case 31: -#line 287 "Gmsh.y" +#line 288 "Gmsh.y" { Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i); ; break;} case 32: -#line 291 "Gmsh.y" +#line 292 "Gmsh.y" { Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 33: -#line 295 "Gmsh.y" +#line 296 "Gmsh.y" { ; break;} case 34: -#line 299 "Gmsh.y" +#line 300 "Gmsh.y" { Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d); ; break;} case 35: -#line 303 "Gmsh.y" +#line 304 "Gmsh.y" { Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]); ; break;} case 36: -#line 307 "Gmsh.y" +#line 308 "Gmsh.y" { Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d); ; break;} case 37: -#line 311 "Gmsh.y" +#line 312 "Gmsh.y" { Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d); ; break;} case 38: -#line 315 "Gmsh.y" +#line 316 "Gmsh.y" { Msg(PARSER_INFO,"Found a closed shell"); Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l); ; break;} case 39: -#line 321 "Gmsh.y" +#line 322 "Gmsh.y" { ; break;} case 40: -#line 324 "Gmsh.y" +#line 325 "Gmsh.y" { ; break;} case 41: -#line 327 "Gmsh.y" +#line 328 "Gmsh.y" { Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d); ; break;} case 42: -#line 331 "Gmsh.y" +#line 332 "Gmsh.y" { Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 43: -#line 335 "Gmsh.y" +#line 336 "Gmsh.y" { Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d); ; break;} case 44: -#line 339 "Gmsh.y" +#line 340 "Gmsh.y" { Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d); ; break;} case 45: -#line 343 "Gmsh.y" +#line 344 "Gmsh.y" { Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d); ; break;} case 46: -#line 348 "Gmsh.y" +#line 349 "Gmsh.y" { ; break;} case 47: -#line 351 "Gmsh.y" +#line 352 "Gmsh.y" { ; break;} case 48: -#line 355 "Gmsh.y" +#line 356 "Gmsh.y" { ; break;} case 49: -#line 358 "Gmsh.y" +#line 359 "Gmsh.y" { ; break;} case 50: -#line 362 "Gmsh.y" +#line 363 "Gmsh.y" { ; break;} case 51: -#line 365 "Gmsh.y" +#line 366 "Gmsh.y" { ; break;} case 52: -#line 368 "Gmsh.y" +#line 369 "Gmsh.y" { ; break;} case 53: -#line 378 "Gmsh.y" +#line 379 "Gmsh.y" { ; break;} case 54: -#line 381 "Gmsh.y" +#line 382 "Gmsh.y" { Msg(PARSER_INFO,"Gmsh file format read"); ; break;} case 55: -#line 387 "Gmsh.y" +#line 388 "Gmsh.y" { return 1; ; break;} case 56: -#line 388 "Gmsh.y" +#line 389 "Gmsh.y" { return 1; ; break;} case 57: -#line 389 "Gmsh.y" +#line 390 "Gmsh.y" { return 1; ; break;} case 58: -#line 390 "Gmsh.y" +#line 391 "Gmsh.y" { return 1; ; break;} case 59: -#line 391 "Gmsh.y" +#line 392 "Gmsh.y" { return 1; ; break;} case 60: -#line 392 "Gmsh.y" +#line 393 "Gmsh.y" { return 1; ; break;} case 61: -#line 393 "Gmsh.y" +#line 394 "Gmsh.y" { return 1; ; break;} case 62: -#line 394 "Gmsh.y" +#line 395 "Gmsh.y" { return 1; ; break;} case 63: -#line 395 "Gmsh.y" +#line 396 "Gmsh.y" { return 1; ; break;} case 64: -#line 396 "Gmsh.y" +#line 397 "Gmsh.y" { return 1; ; break;} case 65: -#line 397 "Gmsh.y" +#line 398 "Gmsh.y" { return 1; ; break;} case 66: -#line 398 "Gmsh.y" +#line 399 "Gmsh.y" { return 1; ; break;} case 67: -#line 403 "Gmsh.y" +#line 404 "Gmsh.y" { Msg(DIRECT, yyvsp[-2].c); ; break;} case 68: -#line 407 "Gmsh.y" +#line 408 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-2].l) ; i++){ if(!i){ @@ -3486,96 +3487,96 @@ case 68: ; break;} case 69: -#line 437 "Gmsh.y" +#line 438 "Gmsh.y" { if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c); ; break;} case 70: -#line 441 "Gmsh.y" +#line 442 "Gmsh.y" { if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c); ; break;} case 71: -#line 448 "Gmsh.y" +#line 449 "Gmsh.y" { View = BeginView(1); ; break;} case 84: -#line 467 "Gmsh.y" +#line 468 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} case 85: -#line 469 "Gmsh.y" +#line 470 "Gmsh.y" { List_Add(View->SP, &yyvsp[0].d) ; ; break;} case 86: -#line 474 "Gmsh.y" +#line 475 "Gmsh.y" { List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d); List_Add(View->SP, &yyvsp[-1].d); ; break;} case 87: -#line 479 "Gmsh.y" +#line 480 "Gmsh.y" { View->NbSP++ ; ; break;} case 88: -#line 486 "Gmsh.y" +#line 487 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} case 89: -#line 488 "Gmsh.y" +#line 489 "Gmsh.y" { List_Add(View->VP, &yyvsp[0].d) ; ; break;} case 90: -#line 493 "Gmsh.y" +#line 494 "Gmsh.y" { List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d); List_Add(View->VP, &yyvsp[-1].d); ; break;} case 91: -#line 498 "Gmsh.y" +#line 499 "Gmsh.y" { View->NbVP++ ; ; break;} case 92: -#line 505 "Gmsh.y" +#line 506 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} case 93: -#line 507 "Gmsh.y" +#line 508 "Gmsh.y" { List_Add(View->TP, &yyvsp[0].d) ; ; break;} case 94: -#line 512 "Gmsh.y" +#line 513 "Gmsh.y" { List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d); List_Add(View->TP, &yyvsp[-1].d); ; break;} case 95: -#line 517 "Gmsh.y" +#line 518 "Gmsh.y" { View->NbTP++ ; ; break;} case 96: -#line 524 "Gmsh.y" +#line 525 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} case 97: -#line 526 "Gmsh.y" +#line 527 "Gmsh.y" { List_Add(View->SL, &yyvsp[0].d) ; ; break;} case 98: -#line 532 "Gmsh.y" +#line 533 "Gmsh.y" { List_Add(View->SL, &yyvsp[-11].d); List_Add(View->SL, &yyvsp[-5].d); List_Add(View->SL, &yyvsp[-9].d); List_Add(View->SL, &yyvsp[-3].d); @@ -3583,21 +3584,21 @@ case 98: ; break;} case 99: -#line 538 "Gmsh.y" +#line 539 "Gmsh.y" { View->NbSL++ ; ; break;} case 100: -#line 545 "Gmsh.y" +#line 546 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} case 101: -#line 547 "Gmsh.y" +#line 548 "Gmsh.y" { List_Add(View->VL, &yyvsp[0].d) ; ; break;} case 102: -#line 553 "Gmsh.y" +#line 554 "Gmsh.y" { List_Add(View->VL, &yyvsp[-11].d); List_Add(View->VL, &yyvsp[-5].d); List_Add(View->VL, &yyvsp[-9].d); List_Add(View->VL, &yyvsp[-3].d); @@ -3605,21 +3606,21 @@ case 102: ; break;} case 103: -#line 559 "Gmsh.y" +#line 560 "Gmsh.y" { View->NbVL++ ; ; break;} case 104: -#line 566 "Gmsh.y" +#line 567 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} case 105: -#line 568 "Gmsh.y" +#line 569 "Gmsh.y" { List_Add(View->TL, &yyvsp[0].d) ; ; break;} case 106: -#line 574 "Gmsh.y" +#line 575 "Gmsh.y" { List_Add(View->TL, &yyvsp[-11].d); List_Add(View->TL, &yyvsp[-5].d); List_Add(View->TL, &yyvsp[-9].d); List_Add(View->TL, &yyvsp[-3].d); @@ -3627,21 +3628,21 @@ case 106: ; break;} case 107: -#line 580 "Gmsh.y" +#line 581 "Gmsh.y" { View->NbTL++ ; ; break;} case 108: -#line 587 "Gmsh.y" +#line 588 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} case 109: -#line 589 "Gmsh.y" +#line 590 "Gmsh.y" { List_Add(View->ST, &yyvsp[0].d) ; ; break;} case 110: -#line 596 "Gmsh.y" +#line 597 "Gmsh.y" { List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d); List_Add(View->ST, &yyvsp[-5].d); @@ -3652,21 +3653,21 @@ case 110: ; break;} case 111: -#line 605 "Gmsh.y" +#line 606 "Gmsh.y" { View->NbST++ ; ; break;} case 112: -#line 612 "Gmsh.y" +#line 613 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} case 113: -#line 614 "Gmsh.y" +#line 615 "Gmsh.y" { List_Add(View->VT, &yyvsp[0].d) ; ; break;} case 114: -#line 621 "Gmsh.y" +#line 622 "Gmsh.y" { List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d); List_Add(View->VT, &yyvsp[-5].d); @@ -3677,21 +3678,21 @@ case 114: ; break;} case 115: -#line 630 "Gmsh.y" +#line 631 "Gmsh.y" { View->NbVT++ ; ; break;} case 116: -#line 637 "Gmsh.y" +#line 638 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} case 117: -#line 639 "Gmsh.y" +#line 640 "Gmsh.y" { List_Add(View->TT, &yyvsp[0].d) ; ; break;} case 118: -#line 646 "Gmsh.y" +#line 647 "Gmsh.y" { List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d); List_Add(View->TT, &yyvsp[-5].d); @@ -3702,21 +3703,21 @@ case 118: ; break;} case 119: -#line 655 "Gmsh.y" +#line 656 "Gmsh.y" { View->NbTT++ ; ; break;} case 120: -#line 662 "Gmsh.y" +#line 663 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} case 121: -#line 664 "Gmsh.y" +#line 665 "Gmsh.y" { List_Add(View->SS, &yyvsp[0].d) ; ; break;} case 122: -#line 672 "Gmsh.y" +#line 673 "Gmsh.y" { List_Add(View->SS, &yyvsp[-23].d); List_Add(View->SS, &yyvsp[-17].d); List_Add(View->SS, &yyvsp[-11].d); List_Add(View->SS, &yyvsp[-5].d); @@ -3727,21 +3728,21 @@ case 122: ; break;} case 123: -#line 681 "Gmsh.y" +#line 682 "Gmsh.y" { View->NbSS++ ; ; break;} case 124: -#line 688 "Gmsh.y" +#line 689 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} case 125: -#line 690 "Gmsh.y" +#line 691 "Gmsh.y" { List_Add(View->VS, &yyvsp[0].d) ; ; break;} case 126: -#line 698 "Gmsh.y" +#line 699 "Gmsh.y" { List_Add(View->VS, &yyvsp[-23].d); List_Add(View->VS, &yyvsp[-17].d); List_Add(View->VS, &yyvsp[-11].d); List_Add(View->VS, &yyvsp[-5].d); @@ -3752,21 +3753,21 @@ case 126: ; break;} case 127: -#line 707 "Gmsh.y" +#line 708 "Gmsh.y" { View->NbVS++ ; ; break;} case 128: -#line 714 "Gmsh.y" +#line 715 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} case 129: -#line 716 "Gmsh.y" +#line 717 "Gmsh.y" { List_Add(View->TS, &yyvsp[0].d) ; ; break;} case 130: -#line 724 "Gmsh.y" +#line 725 "Gmsh.y" { List_Add(View->TS, &yyvsp[-23].d); List_Add(View->TS, &yyvsp[-17].d); List_Add(View->TS, &yyvsp[-11].d); List_Add(View->TS, &yyvsp[-5].d); @@ -3777,41 +3778,41 @@ case 130: ; break;} case 131: -#line 733 "Gmsh.y" +#line 734 "Gmsh.y" { View->NbTS++ ; ; break;} case 132: -#line 745 "Gmsh.y" +#line 746 "Gmsh.y" { yyval.i = 0 ; ; break;} case 133: -#line 746 "Gmsh.y" +#line 747 "Gmsh.y" { yyval.i = 1 ; ; break;} case 134: -#line 747 "Gmsh.y" +#line 748 "Gmsh.y" { yyval.i = 2 ; ; break;} case 135: -#line 748 "Gmsh.y" +#line 749 "Gmsh.y" { yyval.i = 3 ; ; break;} case 136: -#line 749 "Gmsh.y" +#line 750 "Gmsh.y" { yyval.i = 4 ; ; break;} case 137: -#line 752 "Gmsh.y" +#line 753 "Gmsh.y" { yyval.i = 1 ; ; break;} case 138: -#line 753 "Gmsh.y" +#line 754 "Gmsh.y" { yyval.i = -1 ; ; break;} case 139: -#line 760 "Gmsh.y" +#line 761 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3839,7 +3840,7 @@ case 139: ; break;} case 140: -#line 787 "Gmsh.y" +#line 788 "Gmsh.y" { TheSymbol.Name = yyvsp[-6].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3874,7 +3875,7 @@ case 140: ; break;} case 141: -#line 821 "Gmsh.y" +#line 822 "Gmsh.y" { if(List_Nbr(yyvsp[-5].l) != List_Nbr(yyvsp[-1].l)) vyyerror("Incompatible array dimensions in affectation"); @@ -3922,7 +3923,7 @@ case 141: ; break;} case 142: -#line 868 "Gmsh.y" +#line 869 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){ @@ -3938,7 +3939,7 @@ case 142: ; break;} case 143: -#line 883 "Gmsh.y" +#line 884 "Gmsh.y" { TheSymbol.Name = yyvsp[-2].c; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3948,7 +3949,7 @@ case 143: ; break;} case 144: -#line 892 "Gmsh.y" +#line 893 "Gmsh.y" { TheSymbol.Name = yyvsp[-5].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) @@ -3962,7 +3963,7 @@ case 144: ; break;} case 145: -#line 907 "Gmsh.y" +#line 908 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c))) vyyerror("Unknown string option class '%s'", yyvsp[-5].c); @@ -3975,7 +3976,7 @@ case 145: ; break;} case 146: -#line 919 "Gmsh.y" +#line 920 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-8].c))) vyyerror("Unknown string option class '%s'", yyvsp[-8].c); @@ -3988,7 +3989,7 @@ case 146: ; break;} case 147: -#line 933 "Gmsh.y" +#line 934 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c); @@ -4012,7 +4013,7 @@ case 147: ; break;} case 148: -#line 956 "Gmsh.y" +#line 957 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-8].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-8].c); @@ -4037,7 +4038,7 @@ case 148: ; break;} case 149: -#line 980 "Gmsh.y" +#line 981 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-4].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-4].c); @@ -4050,7 +4051,7 @@ case 149: ; break;} case 150: -#line 992 "Gmsh.y" +#line 993 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-7].c))) vyyerror("Unknown numeric option class '%s'", yyvsp[-7].c); @@ -4063,7 +4064,7 @@ case 150: ; break;} case 151: -#line 1006 "Gmsh.y" +#line 1007 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-7].c))) vyyerror("Unknown color option class '%s'", yyvsp[-7].c); @@ -4076,7 +4077,7 @@ case 151: ; break;} case 152: -#line 1018 "Gmsh.y" +#line 1019 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-10].c))) vyyerror("Unknown color option class '%s'", yyvsp[-10].c); @@ -4089,7 +4090,7 @@ case 152: ; break;} case 153: -#line 1032 "Gmsh.y" +#line 1033 "Gmsh.y" { ColorTable *ct = Get_ColorTable(0); if(!ct) @@ -4106,7 +4107,7 @@ case 153: ; break;} case 154: -#line 1048 "Gmsh.y" +#line 1049 "Gmsh.y" { ColorTable *ct = Get_ColorTable((int)yyvsp[-6].d); if(!ct) @@ -4123,7 +4124,7 @@ case 154: ; break;} case 155: -#line 1064 "Gmsh.y" +#line 1065 "Gmsh.y" { #ifndef _NOPLUGIN if(CTX.default_plugins){ @@ -4138,7 +4139,7 @@ case 155: ; break;} case 156: -#line 1077 "Gmsh.y" +#line 1078 "Gmsh.y" { #ifndef _NOPLUGIN if(CTX.default_plugins){ @@ -4153,7 +4154,7 @@ case 156: ; break;} case 157: -#line 1101 "Gmsh.y" +#line 1102 "Gmsh.y" { Cdbpts101((int)yyvsp[-4].d,yyvsp[-1].v[0],yyvsp[-1].v[1],yyvsp[-1].v[2],yyvsp[-1].v[3],yyvsp[-1].v[4]); yyval.s.Type = MSH_POINT; @@ -4161,7 +4162,7 @@ case 157: ; break;} case 158: -#line 1108 "Gmsh.y" +#line 1109 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_POINT,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_POINT; @@ -4169,7 +4170,7 @@ case 158: ; break;} case 159: -#line 1114 "Gmsh.y" +#line 1115 "Gmsh.y" { Vertex *v; Attractor *a; @@ -4190,7 +4191,7 @@ case 159: ; break;} case 160: -#line 1133 "Gmsh.y" +#line 1134 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ List_Read(yyvsp[-3].l,i,&d); @@ -4203,14 +4204,14 @@ case 160: ; break;} case 161: -#line 1144 "Gmsh.y" +#line 1145 "Gmsh.y" { yyval.s.Type = MSH_POINT; yyval.s.Num = (int)yyvsp[-2].d; ; break;} case 162: -#line 1152 "Gmsh.y" +#line 1153 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_LINE,1,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_LINE; @@ -4218,7 +4219,7 @@ case 162: ; break;} case 163: -#line 1158 "Gmsh.y" +#line 1159 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_SPLN,3,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_SPLN; @@ -4226,7 +4227,7 @@ case 163: ; break;} case 164: -#line 1164 "Gmsh.y" +#line 1165 "Gmsh.y" { Curve *c; Attractor *a; @@ -4247,7 +4248,7 @@ case 164: ; break;} case 165: -#line 1183 "Gmsh.y" +#line 1184 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_CIRC,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_CIRC ; @@ -4255,7 +4256,7 @@ case 165: ; break;} case 166: -#line 1189 "Gmsh.y" +#line 1190 "Gmsh.y" { Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_ELLI,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); yyval.s.Type = MSH_SEGM_ELLI ; @@ -4263,7 +4264,7 @@ case 166: ; break;} case 167: -#line 1195 "Gmsh.y" +#line 1196 "Gmsh.y" { List_T *temp; int i,j; @@ -4281,7 +4282,7 @@ case 167: ; break;} case 168: -#line 1212 "Gmsh.y" +#line 1213 "Gmsh.y" { Cdbseg101((int)yyvsp[-14].d,MSH_SEGM_PARAMETRIC,2,NULL,NULL,-1,-1,yyvsp[-10].d,yyvsp[-8].d,yyvsp[-6].c,yyvsp[-4].c,yyvsp[-2].c); yyval.s.Type = MSH_SEGM_PARAMETRIC ; @@ -4289,7 +4290,7 @@ case 168: ; break;} case 169: -#line 1218 "Gmsh.y" +#line 1219 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_LINE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_LINE; @@ -4297,7 +4298,7 @@ case 169: ; break;} case 170: -#line 1224 "Gmsh.y" +#line 1225 "Gmsh.y" { yyval.s.Type = MSH_SEGM_LOOP; Cdbz101((int)yyvsp[-4].d,yyval.s.Type,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); @@ -4305,7 +4306,7 @@ case 170: ; break;} case 171: -#line 1230 "Gmsh.y" +#line 1231 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BSPLN,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4318,7 +4319,7 @@ case 171: ; break;} case 172: -#line 1241 "Gmsh.y" +#line 1242 "Gmsh.y" { if(List_Nbr(yyvsp[-1].l) > 3){ Cdbseg101((int)yyvsp[-4].d,MSH_SEGM_BEZIER,2,yyvsp[-1].l,NULL,-1,-1,0.,1.,NULL,NULL,NULL); @@ -4331,7 +4332,7 @@ case 172: ; break;} case 173: -#line 1252 "Gmsh.y" +#line 1253 "Gmsh.y" { List_T *Temp; int i; @@ -4355,7 +4356,7 @@ case 173: ; break;} case 174: -#line 1274 "Gmsh.y" +#line 1275 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Curve *c = FindCurve(yyval.s.Num,THEM); @@ -4366,7 +4367,7 @@ case 174: ; break;} case 175: -#line 1286 "Gmsh.y" +#line 1287 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_PLAN,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_PLAN; @@ -4374,7 +4375,7 @@ case 175: ; break;} case 176: -#line 1292 "Gmsh.y" +#line 1293 "Gmsh.y" { Surface *s,*support; support = FindSurface((int)yyvsp[-4].d,THEM); @@ -4395,7 +4396,7 @@ case 176: ; break;} case 177: -#line 1311 "Gmsh.y" +#line 1312 "Gmsh.y" { List_Read(yyvsp[-1].l,0,&d); i = (int)d; @@ -4418,7 +4419,7 @@ case 177: ; break;} case 178: -#line 1334 "Gmsh.y" +#line 1335 "Gmsh.y" { CreateNurbsSurface ( (int) yyvsp[-16].d , (int)yyvsp[-4].d , (int)yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); yyval.s.Type = MSH_SURF_NURBS; @@ -4426,13 +4427,13 @@ case 178: ; break;} case 179: -#line 1342 "Gmsh.y" +#line 1343 "Gmsh.y" { CreateNurbsSurfaceSupport ((int)yyvsp[-16].d, (int) yyvsp[-4].d , (int) yyvsp[-2].d , yyvsp[-13].l, yyvsp[-10].l, yyvsp[-8].l); ; break;} case 180: -#line 1346 "Gmsh.y" +#line 1347 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_SURFACE,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_SURFACE; @@ -4440,7 +4441,7 @@ case 180: ; break;} case 181: -#line 1352 "Gmsh.y" +#line 1353 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_SURF_LOOP,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_SURF_LOOP; @@ -4448,7 +4449,7 @@ case 181: ; break;} case 182: -#line 1358 "Gmsh.y" +#line 1359 "Gmsh.y" { yyval.s.Num = (int)yyvsp[-2].d; Surface *s = FindSurface(yyval.s.Num,THEM); @@ -4459,7 +4460,7 @@ case 182: ; break;} case 183: -#line 1370 "Gmsh.y" +#line 1371 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4467,7 +4468,7 @@ case 183: ; break;} case 184: -#line 1376 "Gmsh.y" +#line 1377 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_VOLUME; @@ -4475,7 +4476,7 @@ case 184: ; break;} case 185: -#line 1382 "Gmsh.y" +#line 1383 "Gmsh.y" { Cdbz101((int)yyvsp[-4].d,MSH_PHYSICAL_VOLUME,0,0,0,0,0,NULL,yyvsp[-1].l,NULL); yyval.s.Type = MSH_PHYSICAL_VOLUME; @@ -4483,60 +4484,60 @@ case 185: ; break;} case 186: -#line 1395 "Gmsh.y" +#line 1396 "Gmsh.y" { TranslateShapes (yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 187: -#line 1400 "Gmsh.y" +#line 1401 "Gmsh.y" { RotateShapes(yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l); yyval.l = yyvsp[-1].l; ; break;} case 188: -#line 1405 "Gmsh.y" +#line 1406 "Gmsh.y" { SymmetryShapes(yyvsp[-3].v[0],yyvsp[-3].v[1],yyvsp[-3].v[2],yyvsp[-3].v[3],yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 189: -#line 1410 "Gmsh.y" +#line 1411 "Gmsh.y" { DilatShapes(yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].d,yyvsp[-1].l,1); yyval.l = yyvsp[-1].l; ; break;} case 190: -#line 1417 "Gmsh.y" +#line 1418 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 191: -#line 1418 "Gmsh.y" +#line 1419 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 192: -#line 1419 "Gmsh.y" +#line 1420 "Gmsh.y" { yyval.l = yyvsp[0].l; ; break;} case 193: -#line 1424 "Gmsh.y" +#line 1425 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); ; break;} case 194: -#line 1428 "Gmsh.y" +#line 1429 "Gmsh.y" { List_Add(yyval.l,&yyvsp[0].s); yyval.l = yyvsp[-1].l; ; break;} case 195: -#line 1440 "Gmsh.y" +#line 1441 "Gmsh.y" { yyval.l = List_Create(3,3,sizeof(Shape)); for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -4548,7 +4549,7 @@ case 195: ; break;} case 196: -#line 1458 "Gmsh.y" +#line 1459 "Gmsh.y" { for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ List_Read (yyvsp[-1].l,i,&TheShape); @@ -4557,20 +4558,20 @@ case 196: ; break;} case 197: -#line 1465 "Gmsh.y" +#line 1466 "Gmsh.y" { if(!strcmp(yyvsp[-4].c, "View")) FreeView((int)yyvsp[-2].d); ; break;} case 198: -#line 1470 "Gmsh.y" +#line 1471 "Gmsh.y" { Init_Mesh(THEM, 1); ; break;} case 199: -#line 1482 "Gmsh.y" +#line 1483 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Include")){ @@ -4639,7 +4640,7 @@ case 199: ; break;} case 200: -#line 1549 "Gmsh.y" +#line 1550 "Gmsh.y" { if(!strcmp(yyvsp[-2].c, "Sleep")){ @@ -4661,7 +4662,7 @@ case 200: ; break;} case 201: -#line 1569 "Gmsh.y" +#line 1570 "Gmsh.y" { #ifndef _NOPLUGIN if(CTX.default_plugins) @@ -4670,13 +4671,13 @@ case 201: ; break;} case 202: -#line 1576 "Gmsh.y" +#line 1577 "Gmsh.y" { exit(0); ; break;} case 203: -#line 1580 "Gmsh.y" +#line 1581 "Gmsh.y" { if(!CTX.batch){ // we're in interactive mode if(Tree_Nbr(THEM->Points) != Last_NumberOfPoints){ @@ -4692,29 +4693,33 @@ case 203: ; break;} case 204: -#line 1602 "Gmsh.y" +#line 1603 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-1].d ; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ; LoopControlVariablesNameTab[ImbricatedLoop] = "" ; - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; ; break;} case 205: -#line 1611 "Gmsh.y" +#line 1614 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; LoopControlVariablesTab[ImbricatedLoop][1] = yyvsp[-3].d ; LoopControlVariablesTab[ImbricatedLoop][2] = yyvsp[-1].d ; LoopControlVariablesNameTab[ImbricatedLoop] = "" ; - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; ; break;} case 206: -#line 1620 "Gmsh.y" +#line 1625 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-3].d ; @@ -4732,11 +4737,13 @@ case 206: List_Write(pSymbol->val, 0, &yyvsp[-3].d); } - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; ; break;} case 207: -#line 1640 "Gmsh.y" +#line 1647 "Gmsh.y" { // here, we seek remember the position in yyin LoopControlVariablesTab[ImbricatedLoop][0] = yyvsp[-5].d ; @@ -4754,11 +4761,13 @@ case 207: List_Write(pSymbol->val, 0, &yyvsp[-5].d); } - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; ; break;} case 208: -#line 1660 "Gmsh.y" +#line 1669 "Gmsh.y" { if(LoopControlVariablesTab[ImbricatedLoop-1][1] > LoopControlVariablesTab[ImbricatedLoop-1][0]){ @@ -4773,6 +4782,7 @@ case 208: } fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]); + yylineno = yylinenoImbricatedLoopsTab[ImbricatedLoop-1]; } else{ ImbricatedLoop--; @@ -4780,7 +4790,7 @@ case 208: ; break;} case 209: -#line 1680 "Gmsh.y" +#line 1690 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction(yyvsp[0].c,yyin,yylineno)) vyyerror("Redefinition of function %s",yyvsp[0].c); @@ -4788,39 +4798,39 @@ case 209: ; break;} case 210: -#line 1686 "Gmsh.y" +#line 1696 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction(&yyin,yylineno)) vyyerror("Error while exiting function"); ; break;} case 211: -#line 1691 "Gmsh.y" +#line 1701 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction(yyvsp[-1].c,&yyin,yylineno)) vyyerror("Unknown function %s",yyvsp[-1].c); ; break;} case 212: -#line 1696 "Gmsh.y" +#line 1706 "Gmsh.y" { if(!yyvsp[-1].d) skip_until("If", "EndIf"); ; break;} case 213: -#line 1700 "Gmsh.y" +#line 1710 "Gmsh.y" { ; break;} case 214: -#line 1712 "Gmsh.y" +#line 1722 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,&pc,&prc,NULL); ; break;} case 215: -#line 1717 "Gmsh.y" +#line 1727 "Gmsh.y" { Curve *pc, *prc; Extrude_ProtudePoint(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d, @@ -4828,95 +4838,95 @@ case 215: ; break;} case 216: -#line 1726 "Gmsh.y" +#line 1736 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,NULL); ; break;} case 217: -#line 1730 "Gmsh.y" +#line 1740 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,NULL); ; break;} case 218: -#line 1734 "Gmsh.y" +#line 1744 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 219: -#line 1739 "Gmsh.y" +#line 1749 "Gmsh.y" { Extrude_ProtudeCurve(1,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],0.,0.,0.,0.,&extr); ; break;} case 220: -#line 1743 "Gmsh.y" +#line 1753 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 221: -#line 1748 "Gmsh.y" +#line 1758 "Gmsh.y" { Extrude_ProtudeCurve(0,(int)yyvsp[-12].d,yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,&extr); ; break;} case 222: -#line 1755 "Gmsh.y" +#line 1765 "Gmsh.y" { Extrude_ProtudeSurface(1,(int)yyvsp[-4].d,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2],0.,0.,0.,0.,0,NULL); ; break;} case 223: -#line 1759 "Gmsh.y" +#line 1769 "Gmsh.y" { Extrude_ProtudeSurface(0,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2],yyvsp[-2].d,0,NULL); ; break;} case 224: -#line 1763 "Gmsh.y" +#line 1773 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 225: -#line 1768 "Gmsh.y" +#line 1778 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(1,(int)yyvsp[-8].d,yyvsp[-6].v[0],yyvsp[-6].v[1],yyvsp[-6].v[2],0.,0.,0.,0.,vol,&extr); ; break;} case 226: -#line 1773 "Gmsh.y" +#line 1783 "Gmsh.y" { extr.mesh.ExtrudeMesh = false; extr.mesh.Recombine = false; ; break;} case 227: -#line 1779 "Gmsh.y" +#line 1789 "Gmsh.y" { int vol = NEWREG(); Extrude_ProtudeSurface(0,(int)yyvsp[-12].d,yyvsp[-10].v[0],yyvsp[-10].v[1],yyvsp[-10].v[2],yyvsp[-8].v[0],yyvsp[-8].v[1],yyvsp[-8].v[2],yyvsp[-6].d,vol,&extr); ; break;} case 228: -#line 1787 "Gmsh.y" +#line 1797 "Gmsh.y" { ; break;} case 229: -#line 1790 "Gmsh.y" +#line 1800 "Gmsh.y" { ; break;} case 230: -#line 1796 "Gmsh.y" +#line 1806 "Gmsh.y" { double d; int j; @@ -4947,7 +4957,7 @@ case 230: ; break;} case 231: -#line 1825 "Gmsh.y" +#line 1835 "Gmsh.y" { double d; int j; @@ -4975,13 +4985,13 @@ case 231: ; break;} case 232: -#line 1851 "Gmsh.y" +#line 1861 "Gmsh.y" { extr.mesh.Recombine = true; ; break;} case 233: -#line 1862 "Gmsh.y" +#line 1872 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5001,7 +5011,7 @@ case 233: ; break;} case 234: -#line 1880 "Gmsh.y" +#line 1890 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5021,7 +5031,7 @@ case 234: ; break;} case 235: -#line 1898 "Gmsh.y" +#line 1908 "Gmsh.y" { Curve *c; for(i=0;i<List_Nbr(yyvsp[-6].l);i++){ @@ -5041,7 +5051,7 @@ case 235: ; break;} case 236: -#line 1916 "Gmsh.y" +#line 1926 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5065,7 +5075,7 @@ case 236: ; break;} case 237: -#line 1938 "Gmsh.y" +#line 1948 "Gmsh.y" { Surface *s = FindSurface((int)yyvsp[-4].d,THEM); if(!s) @@ -5088,7 +5098,7 @@ case 237: ; break;} case 238: -#line 1959 "Gmsh.y" +#line 1969 "Gmsh.y" { Volume *v = FindVolume((int)yyvsp[-4].d,THEM); if(!v) @@ -5111,7 +5121,7 @@ case 238: ; break;} case 239: -#line 1980 "Gmsh.y" +#line 1990 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-3].l);i++){ @@ -5127,7 +5137,7 @@ case 239: ; break;} case 240: -#line 1994 "Gmsh.y" +#line 2004 "Gmsh.y" { Surface *s; for(i=0;i<List_Nbr(yyvsp[-1].l);i++){ @@ -5143,71 +5153,71 @@ case 240: ; break;} case 241: -#line 2016 "Gmsh.y" +#line 2026 "Gmsh.y" { Coherence_PS(); ; break;} case 242: -#line 2020 "Gmsh.y" +#line 2030 "Gmsh.y" { IntersectAllSegmentsTogether(); ; break;} case 243: -#line 2031 "Gmsh.y" +#line 2041 "Gmsh.y" {yyval.i = 1;; break;} case 244: -#line 2032 "Gmsh.y" +#line 2042 "Gmsh.y" {yyval.i = 0;; break;} case 245: -#line 2033 "Gmsh.y" +#line 2043 "Gmsh.y" {yyval.i = -1;; break;} case 246: -#line 2034 "Gmsh.y" +#line 2044 "Gmsh.y" {yyval.i = -1;; break;} case 247: -#line 2035 "Gmsh.y" +#line 2045 "Gmsh.y" {yyval.i = -1;; break;} case 248: -#line 2039 "Gmsh.y" +#line 2049 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 249: -#line 2040 "Gmsh.y" +#line 2050 "Gmsh.y" { yyval.d = yyvsp[-1].d ; ; break;} case 250: -#line 2041 "Gmsh.y" +#line 2051 "Gmsh.y" { yyval.d = -yyvsp[0].d ; ; break;} case 251: -#line 2042 "Gmsh.y" +#line 2052 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 252: -#line 2043 "Gmsh.y" +#line 2053 "Gmsh.y" { yyval.d = !yyvsp[0].d ; ; break;} case 253: -#line 2044 "Gmsh.y" +#line 2054 "Gmsh.y" { yyval.d = yyvsp[-2].d - yyvsp[0].d ; ; break;} case 254: -#line 2045 "Gmsh.y" +#line 2055 "Gmsh.y" { yyval.d = yyvsp[-2].d + yyvsp[0].d ; ; break;} case 255: -#line 2046 "Gmsh.y" +#line 2056 "Gmsh.y" { yyval.d = yyvsp[-2].d * yyvsp[0].d ; ; break;} case 256: -#line 2048 "Gmsh.y" +#line 2058 "Gmsh.y" { if(!yyvsp[0].d) vyyerror("Division by zero in '%g / %g'", yyvsp[-2].d, yyvsp[0].d); @@ -5216,235 +5226,235 @@ case 256: ; break;} case 257: -#line 2054 "Gmsh.y" +#line 2064 "Gmsh.y" { yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ; break;} case 258: -#line 2055 "Gmsh.y" +#line 2065 "Gmsh.y" { yyval.d = pow(yyvsp[-2].d,yyvsp[0].d) ; ; break;} case 259: -#line 2056 "Gmsh.y" +#line 2066 "Gmsh.y" { yyval.d = yyvsp[-2].d < yyvsp[0].d ; ; break;} case 260: -#line 2057 "Gmsh.y" +#line 2067 "Gmsh.y" { yyval.d = yyvsp[-2].d > yyvsp[0].d ; ; break;} case 261: -#line 2058 "Gmsh.y" +#line 2068 "Gmsh.y" { yyval.d = yyvsp[-2].d <= yyvsp[0].d ; ; break;} case 262: -#line 2059 "Gmsh.y" +#line 2069 "Gmsh.y" { yyval.d = yyvsp[-2].d >= yyvsp[0].d ; ; break;} case 263: -#line 2060 "Gmsh.y" +#line 2070 "Gmsh.y" { yyval.d = yyvsp[-2].d == yyvsp[0].d ; ; break;} case 264: -#line 2061 "Gmsh.y" +#line 2071 "Gmsh.y" { yyval.d = yyvsp[-2].d != yyvsp[0].d ; ; break;} case 265: -#line 2062 "Gmsh.y" +#line 2072 "Gmsh.y" { yyval.d = yyvsp[-2].d && yyvsp[0].d ; ; break;} case 266: -#line 2063 "Gmsh.y" +#line 2073 "Gmsh.y" { yyval.d = yyvsp[-2].d || yyvsp[0].d ; ; break;} case 267: -#line 2064 "Gmsh.y" +#line 2074 "Gmsh.y" { yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ; break;} case 268: -#line 2065 "Gmsh.y" +#line 2075 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 269: -#line 2066 "Gmsh.y" +#line 2076 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 270: -#line 2067 "Gmsh.y" +#line 2077 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 271: -#line 2068 "Gmsh.y" +#line 2078 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 272: -#line 2069 "Gmsh.y" +#line 2079 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 273: -#line 2070 "Gmsh.y" +#line 2080 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 274: -#line 2071 "Gmsh.y" +#line 2081 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 275: -#line 2072 "Gmsh.y" +#line 2082 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 276: -#line 2073 "Gmsh.y" +#line 2083 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 277: -#line 2074 "Gmsh.y" +#line 2084 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 278: -#line 2075 "Gmsh.y" +#line 2085 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 279: -#line 2076 "Gmsh.y" +#line 2086 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 280: -#line 2077 "Gmsh.y" +#line 2087 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 281: -#line 2078 "Gmsh.y" +#line 2088 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 282: -#line 2079 "Gmsh.y" +#line 2089 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 283: -#line 2080 "Gmsh.y" +#line 2090 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 284: -#line 2081 "Gmsh.y" +#line 2091 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 285: -#line 2082 "Gmsh.y" +#line 2092 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 286: -#line 2083 "Gmsh.y" +#line 2093 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 287: -#line 2084 "Gmsh.y" +#line 2094 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 288: -#line 2085 "Gmsh.y" +#line 2095 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 289: -#line 2087 "Gmsh.y" +#line 2097 "Gmsh.y" { yyval.d = exp(yyvsp[-1].d); ; break;} case 290: -#line 2088 "Gmsh.y" +#line 2098 "Gmsh.y" { yyval.d = log(yyvsp[-1].d); ; break;} case 291: -#line 2089 "Gmsh.y" +#line 2099 "Gmsh.y" { yyval.d = log10(yyvsp[-1].d); ; break;} case 292: -#line 2090 "Gmsh.y" +#line 2100 "Gmsh.y" { yyval.d = sqrt(yyvsp[-1].d); ; break;} case 293: -#line 2091 "Gmsh.y" +#line 2101 "Gmsh.y" { yyval.d = sin(yyvsp[-1].d); ; break;} case 294: -#line 2092 "Gmsh.y" +#line 2102 "Gmsh.y" { yyval.d = asin(yyvsp[-1].d); ; break;} case 295: -#line 2093 "Gmsh.y" +#line 2103 "Gmsh.y" { yyval.d = cos(yyvsp[-1].d); ; break;} case 296: -#line 2094 "Gmsh.y" +#line 2104 "Gmsh.y" { yyval.d = acos(yyvsp[-1].d); ; break;} case 297: -#line 2095 "Gmsh.y" +#line 2105 "Gmsh.y" { yyval.d = tan(yyvsp[-1].d); ; break;} case 298: -#line 2096 "Gmsh.y" +#line 2106 "Gmsh.y" { yyval.d = atan(yyvsp[-1].d); ; break;} case 299: -#line 2097 "Gmsh.y" +#line 2107 "Gmsh.y" { yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 300: -#line 2098 "Gmsh.y" +#line 2108 "Gmsh.y" { yyval.d = sinh(yyvsp[-1].d); ; break;} case 301: -#line 2099 "Gmsh.y" +#line 2109 "Gmsh.y" { yyval.d = cosh(yyvsp[-1].d); ; break;} case 302: -#line 2100 "Gmsh.y" +#line 2110 "Gmsh.y" { yyval.d = tanh(yyvsp[-1].d); ; break;} case 303: -#line 2101 "Gmsh.y" +#line 2111 "Gmsh.y" { yyval.d = fabs(yyvsp[-1].d); ; break;} case 304: -#line 2102 "Gmsh.y" +#line 2112 "Gmsh.y" { yyval.d = floor(yyvsp[-1].d); ; break;} case 305: -#line 2103 "Gmsh.y" +#line 2113 "Gmsh.y" { yyval.d = ceil(yyvsp[-1].d); ; break;} case 306: -#line 2104 "Gmsh.y" +#line 2114 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 307: -#line 2105 "Gmsh.y" +#line 2115 "Gmsh.y" { yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ; break;} case 308: -#line 2106 "Gmsh.y" +#line 2116 "Gmsh.y" { yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ; break;} case 309: -#line 2107 "Gmsh.y" +#line 2117 "Gmsh.y" { yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ; break;} case 310: -#line 2116 "Gmsh.y" +#line 2126 "Gmsh.y" { yyval.d = yyvsp[0].d; ; break;} case 311: -#line 2117 "Gmsh.y" +#line 2127 "Gmsh.y" { yyval.d = 3.141592653589793; ; break;} case 312: -#line 2118 "Gmsh.y" +#line 2128 "Gmsh.y" { yyval.d = ParUtil::Instance()->rank(); ; break;} case 313: -#line 2119 "Gmsh.y" +#line 2129 "Gmsh.y" { yyval.d = ParUtil::Instance()->size(); ; break;} case 314: -#line 2124 "Gmsh.y" +#line 2134 "Gmsh.y" { TheSymbol.Name = yyvsp[0].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5456,7 +5466,7 @@ case 314: ; break;} case 315: -#line 2135 "Gmsh.y" +#line 2145 "Gmsh.y" { TheSymbol.Name = yyvsp[-3].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5474,7 +5484,7 @@ case 315: ; break;} case 316: -#line 2152 "Gmsh.y" +#line 2162 "Gmsh.y" { TheSymbol.Name = yyvsp[-1].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5486,7 +5496,7 @@ case 316: ; break;} case 317: -#line 2163 "Gmsh.y" +#line 2173 "Gmsh.y" { TheSymbol.Name = yyvsp[-4].c ; if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))) { @@ -5504,7 +5514,7 @@ case 317: ; break;} case 318: -#line 2182 "Gmsh.y" +#line 2192 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-2].c); @@ -5521,7 +5531,7 @@ case 318: ; break;} case 319: -#line 2198 "Gmsh.y" +#line 2208 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-5].c); @@ -5538,7 +5548,7 @@ case 319: ; break;} case 320: -#line 2214 "Gmsh.y" +#line 2224 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-3].c); @@ -5555,7 +5565,7 @@ case 320: ; break;} case 321: -#line 2230 "Gmsh.y" +#line 2240 "Gmsh.y" { if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-6].c))){ vyyerror("Unknown numeric option class '%s'", yyvsp[-6].c); @@ -5572,130 +5582,130 @@ case 321: ; break;} case 322: -#line 2248 "Gmsh.y" +#line 2258 "Gmsh.y" { memcpy(yyval.v, yyvsp[0].v, 5*sizeof(double)) ; ; break;} case 323: -#line 2252 "Gmsh.y" +#line 2262 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = -yyvsp[0].v[i] ; ; break;} case 324: -#line 2256 "Gmsh.y" +#line 2266 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[0].v[i]; ; break;} case 325: -#line 2260 "Gmsh.y" +#line 2270 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ; ; break;} case 326: -#line 2264 "Gmsh.y" +#line 2274 "Gmsh.y" { for(i=0 ; i<5 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ; ; break;} case 327: -#line 2270 "Gmsh.y" +#line 2280 "Gmsh.y" { yyval.v[0]=yyvsp[-9].d; yyval.v[1]=yyvsp[-7].d; yyval.v[2]=yyvsp[-5].d; yyval.v[3]=yyvsp[-3].d; yyval.v[4]=yyvsp[-1].d; ; break;} case 328: -#line 2274 "Gmsh.y" +#line 2284 "Gmsh.y" { yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; yyval.v[2]=yyvsp[-3].d; yyval.v[3]=yyvsp[-1].d; yyval.v[4]=1.0; ; break;} case 329: -#line 2278 "Gmsh.y" +#line 2288 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} case 330: -#line 2282 "Gmsh.y" +#line 2292 "Gmsh.y" { yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0; ; break;} case 331: -#line 2289 "Gmsh.y" +#line 2299 "Gmsh.y" { ; break;} case 332: -#line 2292 "Gmsh.y" +#line 2302 "Gmsh.y" { ; break;} case 333: -#line 2298 "Gmsh.y" +#line 2308 "Gmsh.y" { ; break;} case 334: -#line 2301 "Gmsh.y" +#line 2311 "Gmsh.y" { ; break;} case 335: -#line 2307 "Gmsh.y" +#line 2317 "Gmsh.y" { ; break;} case 336: -#line 2310 "Gmsh.y" +#line 2320 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} case 337: -#line 2314 "Gmsh.y" +#line 2324 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} case 338: -#line 2321 "Gmsh.y" +#line 2331 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(List_T*)) ; List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} case 339: -#line 2326 "Gmsh.y" +#line 2336 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].l)) ; ; break;} case 340: -#line 2334 "Gmsh.y" +#line 2344 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 341: -#line 2339 "Gmsh.y" +#line 2349 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} case 342: -#line 2343 "Gmsh.y" +#line 2353 "Gmsh.y" { yyval.l=yyvsp[-1].l; ; break;} case 343: -#line 2347 "Gmsh.y" +#line 2357 "Gmsh.y" { yyval.l=yyvsp[-1].l; for(i=0 ; i<List_Nbr(yyval.l) ; i++){ @@ -5705,7 +5715,7 @@ case 343: ; break;} case 344: -#line 2358 "Gmsh.y" +#line 2368 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.)) @@ -5713,7 +5723,7 @@ case 344: ; break;} case 345: -#line 2364 "Gmsh.y" +#line 2374 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; if(!yyvsp[0].d || (yyvsp[-4].d<yyvsp[-2].d && yyvsp[0].d<0) || (yyvsp[-4].d>yyvsp[-2].d && yyvsp[0].d>0)){ @@ -5726,7 +5736,7 @@ case 345: ; break;} case 346: -#line 2375 "Gmsh.y" +#line 2385 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5742,7 +5752,7 @@ case 346: ; break;} case 347: -#line 2389 "Gmsh.y" +#line 2399 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-2].c ; @@ -5760,7 +5770,7 @@ case 347: ; break;} case 348: -#line 2405 "Gmsh.y" +#line 2415 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5782,7 +5792,7 @@ case 348: ; break;} case 349: -#line 2425 "Gmsh.y" +#line 2435 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; TheSymbol.Name = yyvsp[-5].c ; @@ -5806,26 +5816,26 @@ case 349: ; break;} case 350: -#line 2450 "Gmsh.y" +#line 2460 "Gmsh.y" { yyval.l = List_Create(2,1,sizeof(double)) ; List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 351: -#line 2455 "Gmsh.y" +#line 2465 "Gmsh.y" { yyval.l = yyvsp[0].l ; ; break;} case 352: -#line 2459 "Gmsh.y" +#line 2469 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].d)) ; ; break;} case 353: -#line 2463 "Gmsh.y" +#line 2473 "Gmsh.y" { for(i=0 ; i<List_Nbr(yyvsp[0].l) ; i++){ List_Read(yyvsp[0].l, i, &d) ; @@ -5835,26 +5845,26 @@ case 353: ; break;} case 354: -#line 2475 "Gmsh.y" +#line 2485 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d); ; break;} case 355: -#line 2479 "Gmsh.y" +#line 2489 "Gmsh.y" { yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255); ; break;} case 356: -#line 2490 "Gmsh.y" +#line 2500 "Gmsh.y" { yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag); if(flag) vyyerror("Unknown color '%s'", yyvsp[0].c); ; break;} case 357: -#line 2495 "Gmsh.y" +#line 2505 "Gmsh.y" { if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c))){ vyyerror("Unknown color option class '%s'", yyvsp[-4].c); @@ -5872,13 +5882,13 @@ case 357: ; break;} case 358: -#line 2514 "Gmsh.y" +#line 2524 "Gmsh.y" { yyval.l = yyvsp[-1].l; ; break;} case 359: -#line 2518 "Gmsh.y" +#line 2528 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; ColorTable *ct = Get_ColorTable((int)yyvsp[-3].d); @@ -5891,26 +5901,26 @@ case 359: ; break;} case 360: -#line 2532 "Gmsh.y" +#line 2542 "Gmsh.y" { yyval.l = List_Create(256,10,sizeof(unsigned int)) ; List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} case 361: -#line 2537 "Gmsh.y" +#line 2547 "Gmsh.y" { List_Add(yyval.l, &(yyvsp[0].u)) ; ; break;} case 362: -#line 2544 "Gmsh.y" +#line 2554 "Gmsh.y" { yyval.c = yyvsp[0].c; ; break;} case 363: -#line 2548 "Gmsh.y" +#line 2558 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-3].c)+strlen(yyvsp[-1].c)+1)*sizeof(char)) ; strcpy(yyval.c, yyvsp[-3].c) ; @@ -5920,7 +5930,7 @@ case 363: ; break;} case 364: -#line 2556 "Gmsh.y" +#line 2566 "Gmsh.y" { yyval.c = (char *)Malloc((strlen(yyvsp[-1].c)+1)*sizeof(char)) ; for(i=strlen(yyvsp[-1].c)-1; i>=0; i--){ @@ -5935,13 +5945,13 @@ case 364: ; break;} case 365: -#line 2569 "Gmsh.y" +#line 2579 "Gmsh.y" { yyval.c = yyvsp[-1].c; ; break;} case 366: -#line 2573 "Gmsh.y" +#line 2583 "Gmsh.y" { for(i = 0 ; i<List_Nbr(yyvsp[-1].l) ; i++){ if(!i){ @@ -5968,7 +5978,7 @@ case 366: ; break;} case 367: -#line 2598 "Gmsh.y" +#line 2608 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-3].c))) vyyerror("Unknown string option class '%s'", yyvsp[-3].c); @@ -5984,7 +5994,7 @@ case 367: ; break;} case 368: -#line 2612 "Gmsh.y" +#line 2622 "Gmsh.y" { if(!(pStrCat = Get_StringOptionCategory(yyvsp[-6].c))) vyyerror("Unknown string option class '%s'", yyvsp[-6].c); @@ -6221,7 +6231,7 @@ yyerrhandle: } return 1; } -#line 2627 "Gmsh.y" +#line 2637 "Gmsh.y" void InitSymbols(void){ diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index 278ac6b65f..74fd1e2a6a 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1,6 +1,6 @@ %{ -// $Id: Gmsh.y,v 1.102 2001-10-04 11:41:20 gyselinc Exp $ +// $Id: Gmsh.y,v 1.103 2001-10-04 12:07:02 geuzaine Exp $ #include <stdarg.h> #ifndef _NOPLUGIN @@ -40,6 +40,7 @@ extern Mesh *THEM; static FILE *yyinTab[MAX_OPEN_FILES]; static int yylinenoTab[MAX_OPEN_FILES]; static fpos_t yyposImbricatedLoopsTab[MAX_OPEN_FILES]; +static int yylinenoImbricatedLoopsTab[MAX_OPEN_FILES]; static double LoopControlVariablesTab[MAX_OPEN_FILES][3]; static char* LoopControlVariablesNameTab[MAX_OPEN_FILES]; static char yynameTab[MAX_OPEN_FILES][256]; @@ -1605,7 +1606,9 @@ Loop : LoopControlVariablesTab[ImbricatedLoop][1] = $5 ; LoopControlVariablesTab[ImbricatedLoop][2] = 1.0 ; LoopControlVariablesNameTab[ImbricatedLoop] = "" ; - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; } | tFor '(' FExpr tDOTS FExpr tDOTS FExpr ')' { @@ -1614,7 +1617,9 @@ Loop : LoopControlVariablesTab[ImbricatedLoop][1] = $5 ; LoopControlVariablesTab[ImbricatedLoop][2] = $7 ; LoopControlVariablesNameTab[ImbricatedLoop] = "" ; - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; } | tFor tSTRING tIn '{' FExpr tDOTS FExpr '}' { @@ -1634,7 +1639,9 @@ Loop : List_Write(pSymbol->val, 0, &$5); } - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; } | tFor tSTRING tIn '{' FExpr tDOTS FExpr tDOTS FExpr '}' { @@ -1654,7 +1661,9 @@ Loop : List_Write(pSymbol->val, 0, &$5); } - fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop++]); + fgetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop]); + yylinenoImbricatedLoopsTab[ImbricatedLoop] = yylineno; + ImbricatedLoop++; } | tEndFor { @@ -1671,6 +1680,7 @@ Loop : } fsetpos( yyin, &yyposImbricatedLoopsTab[ImbricatedLoop-1]); + yylineno = yylinenoImbricatedLoopsTab[ImbricatedLoop-1]; } else{ ImbricatedLoop--; diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index 11ef9776e6..f872b8d4cb 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -2,7 +2,7 @@ /* A lexical scanner generated by flex */ /* Scanner skeleton version: - * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.116 2001-10-04 11:41:20 gyselinc Exp $ + * $Header: /cvsroot/gmsh/Parser/Gmsh.yy.cpp,v 1.117 2001-10-04 12:07:02 geuzaine Exp $ */ #define FLEX_SCANNER @@ -998,7 +998,7 @@ char *yytext; #define INITIAL 0 #line 2 "Gmsh.l" -// $Id: Gmsh.yy.cpp,v 1.116 2001-10-04 11:41:20 gyselinc Exp $ +// $Id: Gmsh.yy.cpp,v 1.117 2001-10-04 12:07:02 geuzaine Exp $ #include <stdio.h> #include <stdlib.h> diff --git a/benchmarks/misc/errcheck.geo b/benchmarks/misc/errcheck.geo new file mode 100644 index 0000000000..8690a58fca --- /dev/null +++ b/benchmarks/misc/errcheck.geo @@ -0,0 +1,15 @@ +defined=0; + +For i In {1:4} + +defined++; + +Printf("defined = %g", defined); + +If (defined == 4) + undefined++; + Printf("undefined = %g!", undefined); +EndIf + +EndFor + diff --git a/benchmarks/misc/lists.geo b/benchmarks/misc/lists.geo index 00ec8b0bd7..f664ca14fb 100644 --- a/benchmarks/misc/lists.geo +++ b/benchmarks/misc/lists.geo @@ -24,3 +24,9 @@ Printf("c = %g %g %g %g", c[]); c[{b[]}] = {8,9,10} ; Printf("c = %g %g %g %g", c[]); + +Include "errcheck.geo" ; + +undefined = 999; + +Include "errcheck.geo" ; diff --git a/doc/VERSIONS b/doc/VERSIONS index 1e303f8757..9f83081768 100644 --- a/doc/VERSIONS +++ b/doc/VERSIONS @@ -1,7 +1,8 @@ -$Date: 2001-09-25 13:06:57 $ +$Date: 2001-10-04 12:07:02 $ New in 1.27: Added ability to extrude curves with Layers/Recombine -attributes; New PointSize/LineWidth options; +attributes; New PointSize/LineWidth options; Fixed For/EndFor loops in +included files + line numebring in loops; New in 1.26: Enhanced 2D anisotropic mesh generator (metric intersections); fixed small bug in 3D initial mesh; added alternative -- GitLab