diff --git a/Geo/GEdge.cpp b/Geo/GEdge.cpp index dc4c6a0b561ba5840657b54e94394001cb7a5beb..6bae59bb46442cc77ee416d8e2e15729fb1c807a 100644 --- a/Geo/GEdge.cpp +++ b/Geo/GEdge.cpp @@ -33,7 +33,7 @@ GEdge::~GEdge() { if(v0) v0->delEdge(this); if(v1 && v1 != v0) v1->delEdge(this); - if (_cp)delete _cp; + if(_cp) delete _cp; deleteMesh(); } @@ -97,9 +97,9 @@ void GEdge::setMeshMaster(GEdge* ge,const std::vector<double>& tfo) SVector3 d11 = locXYZ1 - tfoXYZ1; double tol = CTX::instance()->geom.tolerance * CTX::instance()->lc; - + bool fwd = (d00.norm()*d11.norm() < d01.norm()*d10.norm()); - + if ((d00.norm() < tol) && (d11.norm() < tol)) { GEntity::setMeshMaster(ge,tfo); masterOrientation = 1; @@ -109,7 +109,7 @@ void GEdge::setMeshMaster(GEdge* ge,const std::vector<double>& tfo) getEndVertex() ->setMeshMaster(ge->getEndVertex() ,tfo); return; } - + if ((d01.norm() < tol) && (d10.norm() < tol)) { GEntity::setMeshMaster(ge,tfo); masterOrientation = -1; @@ -119,7 +119,7 @@ void GEdge::setMeshMaster(GEdge* ge,const std::vector<double>& tfo) getEndVertex() ->setMeshMaster(ge->getBeginVertex(),tfo); return; } - + Msg::Info("Error in transformation from edge %d (%d-%d) to %d (%d-%d)" "(minimal transformed node distances %g %g, tolerance %g)", ge->tag(),ge->getBeginVertex()->tag(),ge->getEndVertex()->tag(), diff --git a/Geo/GModelIO_OCC.cpp b/Geo/GModelIO_OCC.cpp index f85fd598c17bfed3c309e7f016f79c86bfe9b7c2..86b51c355a39ecf88bc3ade2e552cad8f5401ee2 100644 --- a/Geo/GModelIO_OCC.cpp +++ b/Geo/GModelIO_OCC.cpp @@ -70,6 +70,35 @@ void OCC_Internals::addVertex(int tag, double x, double y, double z) bind(result, tag); } +void OCC_Internals::addLine(int tag, int startTag, int endTag) +{ + if(tag > 0 && _tagEdge.IsBound(tag)){ + Msg::Error("OCC edge with tag %d already exists", tag); + return; + } + if(!_tagVertex.IsBound(startTag)){ + Msg::Error("Unknown OCC vertex with tag %d", startTag); + return; + } + if(!_tagVertex.IsBound(endTag)){ + Msg::Error("Unknown OCC vertex with tag %d", endTag); + return; + } + + TopoDS_Edge result; + try{ + TopoDS_Vertex start = TopoDS::Vertex(_tagVertex.Find(startTag)); + TopoDS_Vertex end = TopoDS::Vertex(_tagVertex.Find(endTag)); + result = BRepBuilderAPI_MakeEdge(start, end).Edge(); + } + catch(Standard_Failure &err){ + Msg::Error("OCC %s", err.GetMessageString()); + return; + } + if(tag <= 0) tag = _getMaxTag(1) + 1; + bind(result, tag); +} + void OCC_Internals::addCircleArc(int tag, int startTag, int centerTag, int endTag) { if(tag > 0 && _tagEdge.IsBound(tag)){ diff --git a/Geo/GModelIO_OCC.h b/Geo/GModelIO_OCC.h index af9c2c5e77fc6f9423b55190d951d1c21642f691..010ef035a5e60ae4ab69d03c49be0bfb4fd24503 100644 --- a/Geo/GModelIO_OCC.h +++ b/Geo/GModelIO_OCC.h @@ -43,6 +43,7 @@ class OCC_Internals { // add shapes only using internal OCC data void addVertex(int tag, double x, double y, double z); + void addLine(int tag, int startTag, int endTag); void addCircleArc(int tag, int startTag, int centerTag, int endTag); void addSphere(int tag, double xc, double yc, double zc, double radius); void addBlock(int tag, double x1, double y1, double z1, @@ -146,6 +147,7 @@ public: enum BooleanOperator { Intersection, Cut, Section, Fuse }; OCC_Internals(){} void addVertex(int tag, double x, double y, double z){} + void addLine(int tag, int startTag, int endTag){} void addCircleArc(int tag, int tagStart, int tagCenter, int tagEnd){} void addSphere(int tag, double xc, double yc, double zc, double radius){}; void addBlock(int tag, double x1, double y1, double z1, diff --git a/Geo/Geo.cpp b/Geo/Geo.cpp index 54ab857f8d8c0e5d12d78182a2b46468dd9fb9db..a995cf5ca219e08ecb929d14a58dfc9544876563 100644 --- a/Geo/Geo.cpp +++ b/Geo/Geo.cpp @@ -627,7 +627,7 @@ Curve *Create_Curve(int Num, int Typ, int Order, List_T *Liste, pC->end = v; } else { - Msg::Error("Unknown control point %d in Curve %d (c)", p2, pC->Num); + Msg::Error("Unknown control point %d in Curve %d (c)", p2, pC->Num); } } End_Curve(pC); diff --git a/Geo/GeoInterpolation.cpp b/Geo/GeoInterpolation.cpp index 700da6bc4da055a316c753912a3903793032fa1f..978be063c6d497df15c9e9366ea4af895ee3aeb6 100644 --- a/Geo/GeoInterpolation.cpp +++ b/Geo/GeoInterpolation.cpp @@ -378,29 +378,35 @@ Vertex InterpolateCurve(Curve *c, double u, int derivee) // printf("MSH_SEGM_LINE\n"); #endif N = List_Nbr(c->Control_Points); - i = (int)((double)(N - 1) * u); - while(i >= N - 1) - i--; - while(i < 0) - i++; - t1 = (double)(i) / (double)(N - 1); - t2 = (double)(i + 1) / (double)(N - 1); - t = (u - t1) / (t2 - t1); - List_Read(c->Control_Points, i, &v[1]); - List_Read(c->Control_Points, i + 1, &v[2]); - if(!c->geometry){ - V.Pos.X = v[1]->Pos.X + t * (v[2]->Pos.X - v[1]->Pos.X); - V.Pos.Y = v[1]->Pos.Y + t * (v[2]->Pos.Y - v[1]->Pos.Y); - V.Pos.Z = v[1]->Pos.Z + t * (v[2]->Pos.Z - v[1]->Pos.Z); - V.w = (1. - t) * v[1]->w + t * v[2]->w; - V.lc = (1. - t) * v[1]->lc + t * v[2]->lc; + if(N < 2){ + Msg::Error("Line with less than 2 control points"); + V.Pos.X = V.Pos.Y = V.Pos.Z = 0; } else{ - SPoint2 p = v[1]->pntOnGeometry + (v[2]->pntOnGeometry - v[1]->pntOnGeometry) * t; - SPoint3 pp = c->geometry->point(p); - V.Pos.X = pp.x(); - V.Pos.Y = pp.y(); - V.Pos.Z = pp.z(); + i = (int)((double)(N - 1) * u); + while(i >= N - 1) + i--; + while(i < 0) + i++; + t1 = (double)(i) / (double)(N - 1); + t2 = (double)(i + 1) / (double)(N - 1); + t = (u - t1) / (t2 - t1); + List_Read(c->Control_Points, i, &v[1]); + List_Read(c->Control_Points, i + 1, &v[2]); + if(!c->geometry){ + V.Pos.X = v[1]->Pos.X + t * (v[2]->Pos.X - v[1]->Pos.X); + V.Pos.Y = v[1]->Pos.Y + t * (v[2]->Pos.Y - v[1]->Pos.Y); + V.Pos.Z = v[1]->Pos.Z + t * (v[2]->Pos.Z - v[1]->Pos.Z); + V.w = (1. - t) * v[1]->w + t * v[2]->w; + V.lc = (1. - t) * v[1]->lc + t * v[2]->lc; + } + else{ + SPoint2 p = v[1]->pntOnGeometry + (v[2]->pntOnGeometry - v[1]->pntOnGeometry) * t; + SPoint3 pp = c->geometry->point(p); + V.Pos.X = pp.x(); + V.Pos.Y = pp.y(); + V.Pos.Z = pp.z(); + } } break; @@ -408,26 +414,33 @@ Vertex InterpolateCurve(Curve *c, double u, int derivee) case MSH_SEGM_CIRC_INV: case MSH_SEGM_ELLI: case MSH_SEGM_ELLI_INV: - if(c->Typ == MSH_SEGM_CIRC_INV || c->Typ == MSH_SEGM_ELLI_INV) { - V.u = 1. - u; - u = V.u; + N = List_Nbr(c->Control_Points); + if(N < 2){ + Msg::Error("Circle or ellipse with less than 2 control points"); + V.Pos.X = V.Pos.Y = V.Pos.Z = 0; + } + else{ + if(c->Typ == MSH_SEGM_CIRC_INV || c->Typ == MSH_SEGM_ELLI_INV) { + V.u = 1. - u; + u = V.u; + } + theta = c->Circle.t1 - (c->Circle.t1 - c->Circle.t2) * u; + theta -= c->Circle.incl; // for ellipses + V.Pos.X = + c->Circle.f1 * cos(theta) * cos(c->Circle.incl) - + c->Circle.f2 * sin(theta) * sin(c->Circle.incl); + V.Pos.Y = + c->Circle.f1 * cos(theta) * sin(c->Circle.incl) + + c->Circle.f2 * sin(theta) * cos(c->Circle.incl); + V.Pos.Z = 0.0; + Projette(&V, c->Circle.invmat); + List_Read(c->Control_Points, 1, &v[0]); + V.Pos.X += v[0]->Pos.X; + V.Pos.Y += v[0]->Pos.Y; + V.Pos.Z += v[0]->Pos.Z; + V.w = (1. - u) * c->beg->w + u * c->end->w; + V.lc = (1. - u) * c->beg->lc + u * c->end->lc; } - theta = c->Circle.t1 - (c->Circle.t1 - c->Circle.t2) * u; - theta -= c->Circle.incl; // for ellipses - V.Pos.X = - c->Circle.f1 * cos(theta) * cos(c->Circle.incl) - - c->Circle.f2 * sin(theta) * sin(c->Circle.incl); - V.Pos.Y = - c->Circle.f1 * cos(theta) * sin(c->Circle.incl) + - c->Circle.f2 * sin(theta) * cos(c->Circle.incl); - V.Pos.Z = 0.0; - Projette(&V, c->Circle.invmat); - List_Read(c->Control_Points, 1, &v[0]); - V.Pos.X += v[0]->Pos.X; - V.Pos.Y += v[0]->Pos.Y; - V.Pos.Z += v[0]->Pos.Z; - V.w = (1. - u) * c->beg->w + u * c->end->w; - V.lc = (1. - u) * c->beg->lc + u * c->end->lc; break; case MSH_SEGM_BSPLN: @@ -443,56 +456,63 @@ Vertex InterpolateCurve(Curve *c, double u, int derivee) case MSH_SEGM_SPLN: N = List_Nbr(c->Control_Points); - i = (int)((double)(N - 1) * u); - if(i < 0) - i = 0; - if(i >= N - 1) - i = N - 2; - t1 = (double)(i) / (double)(N - 1); - t2 = (double)(i + 1) / (double)(N - 1); - t = (u - t1) / (t2 - t1); - List_Read(c->Control_Points, i, &v[1]); - List_Read(c->Control_Points, i + 1, &v[2]); - if(!i) { - if(c->beg == c->end){ - List_Read(c->Control_Points, N - 2, &v[0]); + if(N < 2){ + Msg::Error("Spline with less than 2 control points"); + V.Pos.X = V.Pos.Y = V.Pos.Z = 0; + } + else{ + i = (int)((double)(N - 1) * u); + if(i < 0) + i = 0; + if(i >= N - 1) + i = N - 2; + t1 = (double)(i) / (double)(N - 1); + t2 = (double)(i + 1) / (double)(N - 1); + t = (u - t1) / (t2 - t1); + List_Read(c->Control_Points, i, &v[1]); + List_Read(c->Control_Points, i + 1, &v[2]); + if(!i) { + if(c->beg == c->end){ + List_Read(c->Control_Points, N - 2, &v[0]); + } + else{ + v[0] = &temp1; + v[0]->Pos.X = 2. * v[1]->Pos.X - v[2]->Pos.X; + v[0]->Pos.Y = 2. * v[1]->Pos.Y - v[2]->Pos.Y; + v[0]->Pos.Z = 2. * v[1]->Pos.Z - v[2]->Pos.Z; + v[0]->pntOnGeometry = v[1]->pntOnGeometry * 2. - v[2]->pntOnGeometry; + } } - else{ - v[0] = &temp1; - v[0]->Pos.X = 2. * v[1]->Pos.X - v[2]->Pos.X; - v[0]->Pos.Y = 2. * v[1]->Pos.Y - v[2]->Pos.Y; - v[0]->Pos.Z = 2. * v[1]->Pos.Z - v[2]->Pos.Z; - v[0]->pntOnGeometry = v[1]->pntOnGeometry * 2. - v[2]->pntOnGeometry; + else { + List_Read(c->Control_Points, i - 1, &v[0]); } - } - else { - List_Read(c->Control_Points, i - 1, &v[0]); - } - if(i == N - 2) { - if(c->beg == c->end){ - List_Read(c->Control_Points, 1, &v[3]); + if(i == N - 2) { + if(c->beg == c->end){ + List_Read(c->Control_Points, 1, &v[3]); + } + else{ + v[3] = &temp2; + v[3]->Pos.X = 2. * v[2]->Pos.X - v[1]->Pos.X; + v[3]->Pos.Y = 2. * v[2]->Pos.Y - v[1]->Pos.Y; + v[3]->Pos.Z = 2. * v[2]->Pos.Z - v[1]->Pos.Z; + v[3]->pntOnGeometry = v[2]->pntOnGeometry * 2. - v[1]->pntOnGeometry; + } + } + else { + List_Read(c->Control_Points, i + 2, &v[3]); + } + if(c->geometry){ + SPoint2 pp = InterpolateCubicSpline(v, t, c->mat, t1, t2,c->geometry,0); + SPoint3 pt = c->geometry->point(pp); + V.Pos.X = pt.x(); + V.Pos.Y = pt.y(); + V.Pos.Z = pt.z(); } else{ - v[3] = &temp2; - v[3]->Pos.X = 2. * v[2]->Pos.X - v[1]->Pos.X; - v[3]->Pos.Y = 2. * v[2]->Pos.Y - v[1]->Pos.Y; - v[3]->Pos.Z = 2. * v[2]->Pos.Z - v[1]->Pos.Z; - v[3]->pntOnGeometry = v[2]->pntOnGeometry * 2. - v[1]->pntOnGeometry; + InterpolateCatmullRom(v, t, V); + // V = InterpolateCubicSpline(v, t, c->mat, 0, t1, t2); } } - else { - List_Read(c->Control_Points, i + 2, &v[3]); - } - if(c->geometry){ - SPoint2 pp = InterpolateCubicSpline(v, t, c->mat, t1, t2,c->geometry,0); - SPoint3 pt = c->geometry->point(pp); - V.Pos.X = pt.x(); - V.Pos.Y = pt.y(); - V.Pos.Z = pt.z(); - } - else - InterpolateCatmullRom(v, t, V); - // V = InterpolateCubicSpline(v, t, c->mat, 0, t1, t2); break; case MSH_SEGM_BND_LAYER: diff --git a/Mesh/meshGEdge.cpp b/Mesh/meshGEdge.cpp index f11748bdc53e8c4847356b91136fb06b2716b833..0f35039338031416163c01c0f4efdf9153a89fcd 100644 --- a/Mesh/meshGEdge.cpp +++ b/Mesh/meshGEdge.cpp @@ -543,7 +543,7 @@ void meshGEdge::operator() (GEdge *ge) return; } - if (ge->model()->getNumEdges() > 1000){ + if (ge->model()->getNumEdges() > 1000){ if (ge->tag() % 1000 == 1){ Msg::Info("Meshing curve %d/%d (%s)", ge->tag(), ge->model()->getNumEdges(), ge->getTypeString().c_str()); } @@ -640,7 +640,6 @@ void meshGEdge::operator() (GEdge *ge) } } - //printFandPrimitive(ge->tag(),Points); // if the curve is periodic and if the begin vertex is identical to @@ -649,7 +648,11 @@ void meshGEdge::operator() (GEdge *ge) // curve. So, the mesh vertex and its associated geom vertex are not // necessary at the same location GPoint beg_p, end_p; - if(ge->getBeginVertex() == ge->getEndVertex() && + if(!ge->getBeginVertex() && !ge->getEndVertex()){ + Msg::Warning("Skipping curve with no begin nor end vertex"); + return; + } + else if(ge->getBeginVertex() == ge->getEndVertex() && ge->getBeginVertex()->edges().size() == 1){ end_p = beg_p = ge->point(t_begin); Msg::Debug("Meshing periodic closed curve"); diff --git a/Parser/Gmsh.l b/Parser/Gmsh.l index 411d0706c5f5fc19972995b4a0da4b8e87a38b54..47e59bcef13a43253e6915ff3e80c2ad64e8ecdd 100644 --- a/Parser/Gmsh.l +++ b/Parser/Gmsh.l @@ -122,8 +122,10 @@ Bezier return tBezier; Block return tBlock; BSpline return tBSpline; BooleanUnion return tBooleanUnion; +BooleanFuse return tBooleanUnion; BooleanIntersection return tBooleanIntersection; BooleanSubtraction return tBooleanSubtraction; +BooleanDifference return tBooleanSubtraction; BoundingBox return tBoundingBox; Catenary return tCatenary; diff --git a/Parser/Gmsh.tab.cpp b/Parser/Gmsh.tab.cpp index 76f4098a042f525167da05283d92ba38b92d6cb5..b54a9469e321c3b0ab0907f62398be2aa4f0404e 100644 --- a/Parser/Gmsh.tab.cpp +++ b/Parser/Gmsh.tab.cpp @@ -1366,48 +1366,48 @@ static const yytype_uint16 yyrline[] = 1489, 1495, 1500, 1526, 1527, 1531, 1542, 1557, 1567, 1568, 1573, 1581, 1590, 1598, 1616, 1620, 1626, 1634, 1638, 1644, 1652, 1656, 1662, 1670, 1674, 1680, 1689, 1692, 1705, 1708, - 1716, 1724, 1752, 1795, 1818, 1836, 1857, 1875, 1915, 1945, - 1963, 1981, 2008, 2027, 2032, 2050, 2096, 2114, 2153, 2159, - 2165, 2172, 2213, 2239, 2263, 2288, 2305, 2309, 2328, 2362, - 2409, 2427, 2444, 2473, 2477, 2493, 2541, 2546, 2551, 2556, - 2561, 2566, 2589, 2595, 2606, 2607, 2612, 2615, 2619, 2648, - 2677, 2706, 2740, 2762, 2788, 2810, 2833, 2854, 2910, 2934, - 2959, 2985, 3098, 3117, 3160, 3169, 3175, 3190, 3218, 3235, - 3244, 3258, 3272, 3278, 3284, 3293, 3302, 3311, 3325, 3387, - 3405, 3422, 3437, 3466, 3478, 3502, 3506, 3511, 3519, 3524, - 3530, 3535, 3541, 3549, 3553, 3557, 3562, 3622, 3638, 3655, - 3672, 3694, 3716, 3751, 3759, 3767, 3773, 3780, 3787, 3807, - 3833, 3845, 3857, 3865, 3873, 3882, 3881, 3896, 3895, 3910, - 3909, 3924, 3923, 3937, 3944, 3951, 3958, 3965, 3972, 3979, - 3986, 3993, 4001, 4000, 4014, 4013, 4027, 4026, 4040, 4039, - 4053, 4052, 4066, 4065, 4079, 4078, 4092, 4091, 4105, 4104, - 4121, 4124, 4130, 4142, 4162, 4186, 4190, 4194, 4198, 4202, - 4206, 4212, 4218, 4222, 4226, 4230, 4234, 4253, 4266, 4267, - 4268, 4272, 4273, 4274, 4277, 4298, 4318, 4321, 4337, 4340, - 4357, 4360, 4366, 4369, 4376, 4379, 4386, 4442, 4512, 4517, - 4584, 4620, 4628, 4671, 4710, 4730, 4762, 4789, 4815, 4841, - 4867, 4893, 4915, 4943, 4971, 4999, 5027, 5055, 5094, 5133, - 5154, 5175, 5202, 5206, 5216, 5251, 5252, 5253, 5257, 5263, - 5275, 5293, 5321, 5322, 5323, 5324, 5325, 5326, 5327, 5328, - 5329, 5336, 5337, 5338, 5339, 5340, 5341, 5342, 5343, 5344, - 5345, 5346, 5347, 5348, 5349, 5350, 5351, 5352, 5353, 5354, - 5355, 5356, 5357, 5358, 5359, 5360, 5361, 5362, 5363, 5364, - 5365, 5366, 5367, 5368, 5377, 5378, 5379, 5380, 5381, 5382, - 5383, 5384, 5385, 5386, 5387, 5392, 5391, 5399, 5404, 5409, - 5426, 5444, 5462, 5480, 5498, 5503, 5509, 5524, 5543, 5563, - 5583, 5603, 5626, 5631, 5636, 5646, 5656, 5661, 5672, 5681, - 5686, 5691, 5718, 5722, 5726, 5730, 5734, 5741, 5745, 5749, - 5753, 5760, 5765, 5772, 5777, 5781, 5786, 5790, 5798, 5809, - 5813, 5825, 5833, 5841, 5848, 5858, 5887, 5891, 5895, 5899, - 5903, 5907, 5911, 5915, 5919, 5948, 5977, 6006, 6035, 6048, - 6061, 6074, 6087, 6097, 6107, 6117, 6129, 6142, 6154, 6158, - 6162, 6166, 6170, 6188, 6206, 6214, 6222, 6251, 6264, 6269, - 6273, 6277, 6289, 6293, 6305, 6322, 6332, 6336, 6351, 6356, - 6363, 6367, 6380, 6394, 6408, 6422, 6436, 6444, 6455, 6459, - 6463, 6471, 6477, 6483, 6491, 6499, 6506, 6514, 6529, 6543, - 6557, 6569, 6585, 6594, 6603, 6613, 6624, 6632, 6640, 6644, - 6663, 6670, 6676, 6683, 6691, 6690, 6703, 6708, 6714, 6723, - 6736, 6739, 6743 + 1716, 1724, 1752, 1795, 1818, 1847, 1868, 1886, 1926, 1956, + 1974, 1992, 2019, 2038, 2043, 2061, 2107, 2125, 2164, 2170, + 2176, 2183, 2224, 2250, 2274, 2299, 2316, 2320, 2339, 2373, + 2420, 2438, 2455, 2484, 2488, 2504, 2552, 2557, 2562, 2567, + 2572, 2577, 2600, 2606, 2617, 2618, 2623, 2626, 2630, 2659, + 2688, 2717, 2751, 2773, 2799, 2821, 2844, 2865, 2921, 2945, + 2970, 2996, 3109, 3128, 3171, 3180, 3186, 3201, 3229, 3246, + 3255, 3269, 3283, 3289, 3295, 3304, 3313, 3322, 3336, 3398, + 3416, 3433, 3448, 3477, 3489, 3513, 3517, 3522, 3530, 3535, + 3541, 3546, 3552, 3560, 3564, 3568, 3573, 3633, 3649, 3666, + 3683, 3705, 3727, 3762, 3770, 3778, 3784, 3791, 3798, 3818, + 3844, 3856, 3868, 3876, 3884, 3893, 3892, 3907, 3906, 3921, + 3920, 3935, 3934, 3948, 3955, 3962, 3969, 3976, 3983, 3990, + 3997, 4004, 4012, 4011, 4025, 4024, 4038, 4037, 4051, 4050, + 4064, 4063, 4077, 4076, 4090, 4089, 4103, 4102, 4116, 4115, + 4132, 4135, 4141, 4153, 4173, 4197, 4201, 4205, 4209, 4213, + 4217, 4223, 4229, 4233, 4237, 4241, 4245, 4264, 4277, 4278, + 4279, 4283, 4284, 4285, 4288, 4314, 4335, 4338, 4354, 4357, + 4374, 4377, 4383, 4386, 4393, 4396, 4403, 4459, 4529, 4534, + 4601, 4637, 4645, 4688, 4727, 4747, 4779, 4806, 4832, 4858, + 4884, 4910, 4932, 4960, 4988, 5016, 5044, 5072, 5111, 5150, + 5171, 5192, 5219, 5223, 5233, 5268, 5269, 5270, 5274, 5280, + 5292, 5310, 5338, 5339, 5340, 5341, 5342, 5343, 5344, 5345, + 5346, 5353, 5354, 5355, 5356, 5357, 5358, 5359, 5360, 5361, + 5362, 5363, 5364, 5365, 5366, 5367, 5368, 5369, 5370, 5371, + 5372, 5373, 5374, 5375, 5376, 5377, 5378, 5379, 5380, 5381, + 5382, 5383, 5384, 5385, 5394, 5395, 5396, 5397, 5398, 5399, + 5400, 5401, 5402, 5403, 5404, 5409, 5408, 5416, 5421, 5426, + 5443, 5461, 5479, 5497, 5515, 5520, 5526, 5541, 5560, 5580, + 5600, 5620, 5643, 5648, 5653, 5663, 5673, 5678, 5689, 5698, + 5703, 5708, 5735, 5739, 5743, 5747, 5751, 5758, 5762, 5766, + 5770, 5777, 5782, 5789, 5794, 5798, 5803, 5807, 5815, 5826, + 5830, 5842, 5850, 5858, 5865, 5875, 5904, 5908, 5912, 5916, + 5920, 5924, 5928, 5932, 5936, 5965, 5994, 6023, 6052, 6065, + 6078, 6091, 6104, 6114, 6124, 6134, 6146, 6159, 6171, 6175, + 6179, 6183, 6187, 6205, 6223, 6231, 6239, 6268, 6281, 6286, + 6290, 6294, 6306, 6310, 6322, 6339, 6349, 6353, 6368, 6373, + 6380, 6384, 6397, 6411, 6425, 6439, 6453, 6461, 6472, 6476, + 6480, 6488, 6494, 6500, 6508, 6516, 6523, 6531, 6546, 6560, + 6574, 6586, 6602, 6611, 6620, 6630, 6641, 6649, 6657, 6661, + 6680, 6687, 6693, 6700, 6708, 6707, 6720, 6725, 6731, 6740, + 6753, 6756, 6760 }; #endif @@ -7684,12 +7684,23 @@ yyreduce: yymsg(0, "Curve %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (7)].l)); - Curve *c = Create_Curve(num, MSH_SEGM_LINE, 1, temp, NULL, - -1, -1, 0., 1.); - Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); - CreateReversedCurve(c); - List_Delete(temp); + if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ + if(List_Nbr((yyvsp[(6) - (7)].l)) == 2){ + double d[3]; + List_Read((yyvsp[(6) - (7)].l), 0, &d[0]); List_Read((yyvsp[(6) - (7)].l), 1, &d[1]); + GModel::current()->getOCCInternals()->addLine(num, (int)d[0], (int)d[1]); + } + else + yymsg(0, "OpenCASCADE line only takes 2 points"); + } + else{ + List_T *temp = ListOfDouble2ListOfInt((yyvsp[(6) - (7)].l)); + Curve *c = Create_Curve(num, MSH_SEGM_LINE, 1, temp, NULL, + -1, -1, 0., 1.); + Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); + CreateReversedCurve(c); + List_Delete(temp); + } } List_Delete((yyvsp[(6) - (7)].l)); (yyval.s).Type = MSH_SEGM_LINE; @@ -7698,7 +7709,7 @@ yyreduce: break; case 175: -#line 1837 "Gmsh.y" +#line 1848 "Gmsh.y" { for (int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ double dnum; @@ -7722,7 +7733,7 @@ yyreduce: break; case 176: -#line 1858 "Gmsh.y" +#line 1869 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -7743,7 +7754,7 @@ yyreduce: break; case 177: -#line 1876 "Gmsh.y" +#line 1887 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -7786,7 +7797,7 @@ yyreduce: break; case 178: -#line 1916 "Gmsh.y" +#line 1927 "Gmsh.y" { int num = (int)(yyvsp[(3) - (8)].d); if(FindCurve(num)){ @@ -7819,7 +7830,7 @@ yyreduce: break; case 179: -#line 1946 "Gmsh.y" +#line 1957 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -7840,7 +7851,7 @@ yyreduce: break; case 180: -#line 1964 "Gmsh.y" +#line 1975 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindCurve(num)){ @@ -7861,7 +7872,7 @@ yyreduce: break; case 181: -#line 1983 "Gmsh.y" +#line 1994 "Gmsh.y" { int num = (int)(yyvsp[(3) - (11)].d); if(List_Nbr((yyvsp[(6) - (11)].l)) + (int)(yyvsp[(10) - (11)].d) + 1 != List_Nbr((yyvsp[(8) - (11)].l))){ @@ -7890,7 +7901,7 @@ yyreduce: break; case 182: -#line 2009 "Gmsh.y" +#line 2020 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindEdgeLoop(num)){ @@ -7911,14 +7922,14 @@ yyreduce: break; case 183: -#line 2028 "Gmsh.y" +#line 2039 "Gmsh.y" { GModel::current()->getGEOInternals()->addCompoundMesh ( 1 , (yyvsp[(3) - (4)].l) ); ;} break; case 184: -#line 2033 "Gmsh.y" +#line 2044 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindCurve(num)){ @@ -7939,7 +7950,7 @@ yyreduce: break; case 185: -#line 2051 "Gmsh.y" +#line 2062 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); int op = (yyvsp[(6) - (8)].i); @@ -7985,7 +7996,7 @@ yyreduce: break; case 186: -#line 2097 "Gmsh.y" +#line 2108 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -8006,7 +8017,7 @@ yyreduce: break; case 187: -#line 2115 "Gmsh.y" +#line 2126 "Gmsh.y" { int num = (int)(yyvsp[(4) - (9)].d), type = 0; if(FindSurface(num)){ @@ -8048,7 +8059,7 @@ yyreduce: break; case 188: -#line 2154 "Gmsh.y" +#line 2165 "Gmsh.y" { myGmshSurface = 0; (yyval.s).Type = 0; @@ -8057,7 +8068,7 @@ yyreduce: break; case 189: -#line 2160 "Gmsh.y" +#line 2171 "Gmsh.y" { myGmshSurface = gmshSurface::getSurface((int)(yyvsp[(3) - (4)].d)); (yyval.s).Type = 0; @@ -8066,7 +8077,7 @@ yyreduce: break; case 190: -#line 2166 "Gmsh.y" +#line 2177 "Gmsh.y" { int num = (int)(yyvsp[(4) - (10)].d); myGmshSurface = gmshParametricSurface::NewParametricSurface(num, (yyvsp[(7) - (10)].c), (yyvsp[(8) - (10)].c), (yyvsp[(9) - (10)].c)); @@ -8076,7 +8087,7 @@ yyreduce: break; case 191: -#line 2173 "Gmsh.y" +#line 2184 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(List_Nbr((yyvsp[(6) - (7)].l)) == 4){ // solid sphere (volume) @@ -8120,7 +8131,7 @@ yyreduce: break; case 192: -#line 2214 "Gmsh.y" +#line 2225 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if (List_Nbr((yyvsp[(6) - (7)].l)) != 2){ @@ -8149,7 +8160,7 @@ yyreduce: break; case 193: -#line 2240 "Gmsh.y" +#line 2251 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(List_Nbr((yyvsp[(6) - (7)].l)) == 6){ @@ -8176,7 +8187,7 @@ yyreduce: break; case 194: -#line 2264 "Gmsh.y" +#line 2275 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(List_Nbr((yyvsp[(6) - (7)].l)) == 7){ @@ -8204,7 +8215,7 @@ yyreduce: break; case 195: -#line 2289 "Gmsh.y" +#line 2300 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurfaceLoop(num)){ @@ -8224,14 +8235,14 @@ yyreduce: break; case 196: -#line 2306 "Gmsh.y" +#line 2317 "Gmsh.y" { GModel::current()->getGEOInternals()->addCompoundMesh ( 2 , (yyvsp[(3) - (4)].l) ); ;} break; case 197: -#line 2310 "Gmsh.y" +#line 2321 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindSurface(num)){ @@ -8253,7 +8264,7 @@ yyreduce: break; case 198: -#line 2330 "Gmsh.y" +#line 2341 "Gmsh.y" { int num = (int)(yyvsp[(4) - (12)].d); if(FindSurface(num)){ @@ -8289,7 +8300,7 @@ yyreduce: break; case 199: -#line 2363 "Gmsh.y" +#line 2374 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); int op = (yyvsp[(6) - (8)].i); @@ -8335,7 +8346,7 @@ yyreduce: break; case 200: -#line 2410 "Gmsh.y" +#line 2421 "Gmsh.y" { yymsg(0, "'Complex Volume' command is deprecated: use 'Volume' instead"); int num = (int)(yyvsp[(4) - (8)].d); @@ -8356,7 +8367,7 @@ yyreduce: break; case 201: -#line 2428 "Gmsh.y" +#line 2439 "Gmsh.y" { int num = (int)(yyvsp[(3) - (7)].d); if(FindVolume(num)){ @@ -8376,7 +8387,7 @@ yyreduce: break; case 202: -#line 2445 "Gmsh.y" +#line 2456 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindVolume(num)){ @@ -8408,14 +8419,14 @@ yyreduce: break; case 203: -#line 2474 "Gmsh.y" +#line 2485 "Gmsh.y" { GModel::current()->getGEOInternals()->addCompoundMesh ( 3 , (yyvsp[(3) - (4)].l) ); ;} break; case 204: -#line 2478 "Gmsh.y" +#line 2489 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].d); if(FindVolume(num)){ @@ -8434,7 +8445,7 @@ yyreduce: break; case 205: -#line 2494 "Gmsh.y" +#line 2505 "Gmsh.y" { int num = (int)(yyvsp[(4) - (8)].i); int op = (yyvsp[(6) - (8)].i); @@ -8480,7 +8491,7 @@ yyreduce: break; case 206: -#line 2542 "Gmsh.y" +#line 2553 "Gmsh.y" { TranslateShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -8488,7 +8499,7 @@ yyreduce: break; case 207: -#line 2547 "Gmsh.y" +#line 2558 "Gmsh.y" { RotateShapes((yyvsp[(3) - (11)].v)[0], (yyvsp[(3) - (11)].v)[1], (yyvsp[(3) - (11)].v)[2], (yyvsp[(5) - (11)].v)[0], (yyvsp[(5) - (11)].v)[1], (yyvsp[(5) - (11)].v)[2], (yyvsp[(7) - (11)].d), (yyvsp[(10) - (11)].l)); (yyval.l) = (yyvsp[(10) - (11)].l); @@ -8496,7 +8507,7 @@ yyreduce: break; case 208: -#line 2552 "Gmsh.y" +#line 2563 "Gmsh.y" { SymmetryShapes((yyvsp[(2) - (5)].v)[0], (yyvsp[(2) - (5)].v)[1], (yyvsp[(2) - (5)].v)[2], (yyvsp[(2) - (5)].v)[3], (yyvsp[(4) - (5)].l)); (yyval.l) = (yyvsp[(4) - (5)].l); @@ -8504,7 +8515,7 @@ yyreduce: break; case 209: -#line 2557 "Gmsh.y" +#line 2568 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -8512,7 +8523,7 @@ yyreduce: break; case 210: -#line 2562 "Gmsh.y" +#line 2573 "Gmsh.y" { DilatShapes((yyvsp[(3) - (9)].v)[0], (yyvsp[(3) - (9)].v)[1], (yyvsp[(3) - (9)].v)[2], (yyvsp[(5) - (9)].v)[0], (yyvsp[(5) - (9)].v)[1], (yyvsp[(5) - (9)].v)[2], (yyvsp[(8) - (9)].l)); (yyval.l) = (yyvsp[(8) - (9)].l); @@ -8520,7 +8531,7 @@ yyreduce: break; case 211: -#line 2567 "Gmsh.y" +#line 2578 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); if(!strcmp((yyvsp[(1) - (4)].c), "Duplicata")){ @@ -8546,7 +8557,7 @@ yyreduce: break; case 212: -#line 2590 "Gmsh.y" +#line 2601 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); IntersectCurvesWithSurface((yyvsp[(4) - (9)].l), (int)(yyvsp[(8) - (9)].d), (yyval.l)); @@ -8555,7 +8566,7 @@ yyreduce: break; case 213: -#line 2596 "Gmsh.y" +#line 2607 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape*)); List_T *tmp = ListOfDouble2ListOfInt((yyvsp[(7) - (9)].l)); @@ -8566,31 +8577,31 @@ yyreduce: break; case 214: -#line 2606 "Gmsh.y" +#line 2617 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 215: -#line 2607 "Gmsh.y" +#line 2618 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 216: -#line 2612 "Gmsh.y" +#line 2623 "Gmsh.y" { (yyval.l) = List_Create(3, 3, sizeof(Shape)); ;} break; case 217: -#line 2616 "Gmsh.y" +#line 2627 "Gmsh.y" { List_Add((yyval.l), &(yyvsp[(2) - (2)].s)); ;} break; case 218: -#line 2620 "Gmsh.y" +#line 2631 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8622,7 +8633,7 @@ yyreduce: break; case 219: -#line 2649 "Gmsh.y" +#line 2660 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8654,7 +8665,7 @@ yyreduce: break; case 220: -#line 2678 "Gmsh.y" +#line 2689 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8686,7 +8697,7 @@ yyreduce: break; case 221: -#line 2707 "Gmsh.y" +#line 2718 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){ double d; @@ -8718,7 +8729,7 @@ yyreduce: break; case 222: -#line 2741 "Gmsh.y" +#line 2752 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(7) - (8)].l)) == 4){ @@ -8743,7 +8754,7 @@ yyreduce: break; case 223: -#line 2763 "Gmsh.y" +#line 2774 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) int t = (int)(yyvsp[(4) - (10)].d); @@ -8772,7 +8783,7 @@ yyreduce: break; case 224: -#line 2790 "Gmsh.y" +#line 2801 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(12) - (14)].l)) == 0){ @@ -8796,7 +8807,7 @@ yyreduce: break; case 225: -#line 2812 "Gmsh.y" +#line 2823 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(14) - (16)].l)) == 0){ @@ -8821,7 +8832,7 @@ yyreduce: break; case 226: -#line 2834 "Gmsh.y" +#line 2845 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(10) - (12)].l)) == 1){ @@ -8845,7 +8856,7 @@ yyreduce: break; case 227: -#line 2856 "Gmsh.y" +#line 2867 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){ @@ -8903,7 +8914,7 @@ yyreduce: break; case 228: -#line 2912 "Gmsh.y" +#line 2923 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(12) - (14)].l)) == 1){ @@ -8929,7 +8940,7 @@ yyreduce: break; case 229: -#line 2936 "Gmsh.y" +#line 2947 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(12) - (14)].l)) == 3){ @@ -8956,7 +8967,7 @@ yyreduce: break; case 230: -#line 2961 "Gmsh.y" +#line 2972 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(List_Nbr((yyvsp[(12) - (14)].l)) == 5){ @@ -8984,7 +8995,7 @@ yyreduce: break; case 231: -#line 2986 "Gmsh.y" +#line 2997 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (8)].c), "Union")){ @@ -9100,7 +9111,7 @@ yyreduce: break; case 232: -#line 3099 "Gmsh.y" +#line 3110 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (8)].c), "MathEval")){ @@ -9122,7 +9133,7 @@ yyreduce: break; case 233: -#line 3118 "Gmsh.y" +#line 3129 "Gmsh.y" { #if defined(HAVE_DINTEGRATION) if(!strcmp((yyvsp[(2) - (6)].c), "CutMesh")){ @@ -9163,7 +9174,7 @@ yyreduce: break; case 234: -#line 3161 "Gmsh.y" +#line 3172 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -9175,7 +9186,7 @@ yyreduce: break; case 235: -#line 3170 "Gmsh.y" +#line 3181 "Gmsh.y" { #if defined(HAVE_MESH) GModel::current()->getFields()->deleteField((int)(yyvsp[(4) - (6)].d)); @@ -9184,7 +9195,7 @@ yyreduce: break; case 236: -#line 3176 "Gmsh.y" +#line 3187 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (6)].c), "View")){ @@ -9202,7 +9213,7 @@ yyreduce: break; case 237: -#line 3191 "Gmsh.y" +#line 3202 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Meshes") || !strcmp((yyvsp[(2) - (3)].c), "All")){ ClearProject(); @@ -9233,7 +9244,7 @@ yyreduce: break; case 238: -#line 3219 "Gmsh.y" +#line 3230 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (4)].c), "Empty") && !strcmp((yyvsp[(3) - (4)].c), "Views")){ @@ -9248,7 +9259,7 @@ yyreduce: break; case 239: -#line 3236 "Gmsh.y" +#line 3247 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -9260,7 +9271,7 @@ yyreduce: break; case 240: -#line 3245 "Gmsh.y" +#line 3256 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(5) - (6)].l)); i++){ Shape TheShape; @@ -9272,7 +9283,7 @@ yyreduce: break; case 241: -#line 3259 "Gmsh.y" +#line 3270 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -9284,7 +9295,7 @@ yyreduce: break; case 242: -#line 3273 "Gmsh.y" +#line 3284 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 1, false); @@ -9293,7 +9304,7 @@ yyreduce: break; case 243: -#line 3279 "Gmsh.y" +#line 3290 "Gmsh.y" { for(int i = 0; i < 4; i++) VisibilityShape((yyvsp[(2) - (3)].c), i, 0, false); @@ -9302,7 +9313,7 @@ yyreduce: break; case 244: -#line 3285 "Gmsh.y" +#line 3296 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -9314,7 +9325,7 @@ yyreduce: break; case 245: -#line 3294 "Gmsh.y" +#line 3305 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -9326,7 +9337,7 @@ yyreduce: break; case 246: -#line 3303 "Gmsh.y" +#line 3314 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++){ Shape TheShape; @@ -9338,7 +9349,7 @@ yyreduce: break; case 247: -#line 3312 "Gmsh.y" +#line 3323 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ Shape TheShape; @@ -9350,7 +9361,7 @@ yyreduce: break; case 248: -#line 3326 "Gmsh.y" +#line 3337 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Include")){ std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(2) - (3)].c)); @@ -9415,7 +9426,7 @@ yyreduce: break; case 249: -#line 3388 "Gmsh.y" +#line 3399 "Gmsh.y" { int n = List_Nbr((yyvsp[(3) - (5)].l)); if(n == 1){ @@ -9436,7 +9447,7 @@ yyreduce: break; case 250: -#line 3406 "Gmsh.y" +#line 3417 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(1) - (7)].c), "Save") && !strcmp((yyvsp[(2) - (7)].c), "View")){ @@ -9456,7 +9467,7 @@ yyreduce: break; case 251: -#line 3423 "Gmsh.y" +#line 3434 "Gmsh.y" { #if defined(HAVE_POST) && defined(HAVE_MESH) if(!strcmp((yyvsp[(1) - (7)].c), "Background") && !strcmp((yyvsp[(2) - (7)].c), "Mesh") && !strcmp((yyvsp[(3) - (7)].c), "View")){ @@ -9474,7 +9485,7 @@ yyreduce: break; case 252: -#line 3438 "Gmsh.y" +#line 3449 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (3)].c), "Sleep")){ SleepInSeconds((yyvsp[(2) - (3)].d)); @@ -9506,7 +9517,7 @@ yyreduce: break; case 253: -#line 3467 "Gmsh.y" +#line 3478 "Gmsh.y" { #if defined(HAVE_PLUGINS) try { @@ -9521,7 +9532,7 @@ yyreduce: break; case 254: -#line 3479 "Gmsh.y" +#line 3490 "Gmsh.y" { #if defined(HAVE_POST) if(!strcmp((yyvsp[(2) - (3)].c), "ElementsFromAllViews")) @@ -9548,14 +9559,14 @@ yyreduce: break; case 255: -#line 3503 "Gmsh.y" +#line 3514 "Gmsh.y" { Msg::Exit(0); ;} break; case 256: -#line 3507 "Gmsh.y" +#line 3518 "Gmsh.y" { gmsh_yyerrorstate = 999; // this will be checked when yyparse returns YYABORT; @@ -9563,7 +9574,7 @@ yyreduce: break; case 257: -#line 3512 "Gmsh.y" +#line 3523 "Gmsh.y" { // FIXME: this is a hack to force a transfer from the old DB to // the new DB. This will become unnecessary if/when we fill the @@ -9574,7 +9585,7 @@ yyreduce: break; case 258: -#line 3520 "Gmsh.y" +#line 3531 "Gmsh.y" { new GModel(); GModel::current(GModel::list.size() - 1); @@ -9582,7 +9593,7 @@ yyreduce: break; case 259: -#line 3525 "Gmsh.y" +#line 3536 "Gmsh.y" { CTX::instance()->forcedBBox = 0; GModel::current()->importGEOInternals(); @@ -9591,7 +9602,7 @@ yyreduce: break; case 260: -#line 3531 "Gmsh.y" +#line 3542 "Gmsh.y" { CTX::instance()->forcedBBox = 1; SetBoundingBox((yyvsp[(3) - (15)].d), (yyvsp[(5) - (15)].d), (yyvsp[(7) - (15)].d), (yyvsp[(9) - (15)].d), (yyvsp[(11) - (15)].d), (yyvsp[(13) - (15)].d)); @@ -9599,7 +9610,7 @@ yyreduce: break; case 261: -#line 3536 "Gmsh.y" +#line 3547 "Gmsh.y" { #if defined(HAVE_OPENGL) drawContext::global()->draw(); @@ -9608,7 +9619,7 @@ yyreduce: break; case 262: -#line 3542 "Gmsh.y" +#line 3553 "Gmsh.y" { #if defined(HAVE_OPENGL) CTX::instance()->mesh.changed = ENT_ALL; @@ -9619,21 +9630,21 @@ yyreduce: break; case 263: -#line 3550 "Gmsh.y" +#line 3561 "Gmsh.y" { GModel::current()->createTopologyFromMesh(); ;} break; case 264: -#line 3554 "Gmsh.y" +#line 3565 "Gmsh.y" { GModel::current()->createTopologyFromMesh(1); ;} break; case 265: -#line 3558 "Gmsh.y" +#line 3569 "Gmsh.y" { GModel::current()->importGEOInternals(); GModel::current()->refineMesh(CTX::instance()->mesh.secondOrderLinear); @@ -9641,7 +9652,7 @@ yyreduce: break; case 266: -#line 3564 "Gmsh.y" +#line 3575 "Gmsh.y" { int lock = CTX::instance()->lock; CTX::instance()->lock = 0; @@ -9698,7 +9709,7 @@ yyreduce: break; case 267: -#line 3623 "Gmsh.y" +#line 3634 "Gmsh.y" { #if defined(HAVE_POPPLER) std::vector<int> is; @@ -9713,7 +9724,7 @@ yyreduce: break; case 268: -#line 3639 "Gmsh.y" +#line 3650 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (6)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (6)].d); @@ -9733,7 +9744,7 @@ yyreduce: break; case 269: -#line 3656 "Gmsh.y" +#line 3667 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(3) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(5) - (8)].d); @@ -9753,7 +9764,7 @@ yyreduce: break; case 270: -#line 3673 "Gmsh.y" +#line 3684 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (8)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (8)].d); @@ -9778,7 +9789,7 @@ yyreduce: break; case 271: -#line 3695 "Gmsh.y" +#line 3706 "Gmsh.y" { LoopControlVariablesTab[ImbricatedLoop][0] = (yyvsp[(5) - (10)].d); LoopControlVariablesTab[ImbricatedLoop][1] = (yyvsp[(7) - (10)].d); @@ -9803,7 +9814,7 @@ yyreduce: break; case 272: -#line 3717 "Gmsh.y" +#line 3728 "Gmsh.y" { if(ImbricatedLoop <= 0){ yymsg(0, "Invalid For/EndFor loop"); @@ -9841,7 +9852,7 @@ yyreduce: break; case 273: -#line 3752 "Gmsh.y" +#line 3763 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -9852,7 +9863,7 @@ yyreduce: break; case 274: -#line 3760 "Gmsh.y" +#line 3771 "Gmsh.y" { if(!FunctionManager::Instance()->createFunction (std::string((yyvsp[(2) - (2)].c)), gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -9863,7 +9874,7 @@ yyreduce: break; case 275: -#line 3768 "Gmsh.y" +#line 3779 "Gmsh.y" { if(!FunctionManager::Instance()->leaveFunction (&gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -9872,7 +9883,7 @@ yyreduce: break; case 276: -#line 3774 "Gmsh.y" +#line 3785 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -9882,7 +9893,7 @@ yyreduce: break; case 277: -#line 3781 "Gmsh.y" +#line 3792 "Gmsh.y" { if(!FunctionManager::Instance()->enterFunction (std::string((yyvsp[(2) - (3)].c)), &gmsh_yyin, gmsh_yyname, gmsh_yylineno)) @@ -9892,7 +9903,7 @@ yyreduce: break; case 278: -#line 3788 "Gmsh.y" +#line 3799 "Gmsh.y" { ImbricatedTest++; if(ImbricatedTest > MAX_RECUR_TESTS-1){ @@ -9915,7 +9926,7 @@ yyreduce: break; case 279: -#line 3808 "Gmsh.y" +#line 3819 "Gmsh.y" { if(ImbricatedTest > 0){ if (statusImbricatedTests[ImbricatedTest]){ @@ -9944,7 +9955,7 @@ yyreduce: break; case 280: -#line 3834 "Gmsh.y" +#line 3845 "Gmsh.y" { if(ImbricatedTest > 0){ if(statusImbricatedTests[ImbricatedTest]){ @@ -9959,7 +9970,7 @@ yyreduce: break; case 281: -#line 3846 "Gmsh.y" +#line 3857 "Gmsh.y" { ImbricatedTest--; if(ImbricatedTest < 0) @@ -9968,7 +9979,7 @@ yyreduce: break; case 282: -#line 3858 "Gmsh.y" +#line 3869 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (5)].l), @@ -9979,7 +9990,7 @@ yyreduce: break; case 283: -#line 3866 "Gmsh.y" +#line 3877 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (11)].l), @@ -9990,7 +10001,7 @@ yyreduce: break; case 284: -#line 3874 "Gmsh.y" +#line 3885 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (13)].l), @@ -10001,7 +10012,7 @@ yyreduce: break; case 285: -#line 3882 "Gmsh.y" +#line 3893 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10010,7 +10021,7 @@ yyreduce: break; case 286: -#line 3888 "Gmsh.y" +#line 3899 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE, (yyvsp[(4) - (7)].l), @@ -10021,7 +10032,7 @@ yyreduce: break; case 287: -#line 3896 "Gmsh.y" +#line 3907 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10030,7 +10041,7 @@ yyreduce: break; case 288: -#line 3902 "Gmsh.y" +#line 3913 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(ROTATE, (yyvsp[(10) - (13)].l), @@ -10041,7 +10052,7 @@ yyreduce: break; case 289: -#line 3910 "Gmsh.y" +#line 3921 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10050,7 +10061,7 @@ yyreduce: break; case 290: -#line 3916 "Gmsh.y" +#line 3927 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShapes(TRANSLATE_ROTATE, (yyvsp[(12) - (15)].l), @@ -10061,7 +10072,7 @@ yyreduce: break; case 291: -#line 3924 "Gmsh.y" +#line 3935 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10070,7 +10081,7 @@ yyreduce: break; case 292: -#line 3930 "Gmsh.y" +#line 3941 "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., @@ -10080,7 +10091,7 @@ yyreduce: break; case 293: -#line 3938 "Gmsh.y" +#line 3949 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (8)].d), @@ -10090,7 +10101,7 @@ yyreduce: break; case 294: -#line 3945 "Gmsh.y" +#line 3956 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (8)].d), @@ -10100,7 +10111,7 @@ yyreduce: break; case 295: -#line 3952 "Gmsh.y" +#line 3963 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (8)].d), @@ -10110,7 +10121,7 @@ yyreduce: break; case 296: -#line 3959 "Gmsh.y" +#line 3970 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -10120,7 +10131,7 @@ yyreduce: break; case 297: -#line 3966 "Gmsh.y" +#line 3977 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -10130,7 +10141,7 @@ yyreduce: break; case 298: -#line 3973 "Gmsh.y" +#line 3984 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -10140,7 +10151,7 @@ yyreduce: break; case 299: -#line 3980 "Gmsh.y" +#line 3991 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (14)].d), @@ -10150,7 +10161,7 @@ yyreduce: break; case 300: -#line 3987 "Gmsh.y" +#line 3998 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (14)].d), @@ -10160,7 +10171,7 @@ yyreduce: break; case 301: -#line 3994 "Gmsh.y" +#line 4005 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (14)].d), @@ -10170,7 +10181,7 @@ yyreduce: break; case 302: -#line 4001 "Gmsh.y" +#line 4012 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10179,7 +10190,7 @@ yyreduce: break; case 303: -#line 4007 "Gmsh.y" +#line 4018 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_POINT, (int)(yyvsp[(4) - (12)].d), @@ -10189,7 +10200,7 @@ yyreduce: break; case 304: -#line 4014 "Gmsh.y" +#line 4025 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10198,7 +10209,7 @@ yyreduce: break; case 305: -#line 4020 "Gmsh.y" +#line 4031 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (12)].d), @@ -10208,7 +10219,7 @@ yyreduce: break; case 306: -#line 4027 "Gmsh.y" +#line 4038 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10217,7 +10228,7 @@ yyreduce: break; case 307: -#line 4033 "Gmsh.y" +#line 4044 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (12)].d), @@ -10227,7 +10238,7 @@ yyreduce: break; case 308: -#line 4040 "Gmsh.y" +#line 4051 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10236,7 +10247,7 @@ yyreduce: break; case 309: -#line 4046 "Gmsh.y" +#line 4057 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_POINT, (int)(yyvsp[(4) - (16)].d), @@ -10246,7 +10257,7 @@ yyreduce: break; case 310: -#line 4053 "Gmsh.y" +#line 4064 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10255,7 +10266,7 @@ yyreduce: break; case 311: -#line 4059 "Gmsh.y" +#line 4070 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (16)].d), @@ -10265,7 +10276,7 @@ yyreduce: break; case 312: -#line 4066 "Gmsh.y" +#line 4077 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10274,7 +10285,7 @@ yyreduce: break; case 313: -#line 4072 "Gmsh.y" +#line 4083 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (16)].d), @@ -10284,7 +10295,7 @@ yyreduce: break; case 314: -#line 4079 "Gmsh.y" +#line 4090 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10293,7 +10304,7 @@ yyreduce: break; case 315: -#line 4085 "Gmsh.y" +#line 4096 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_POINT, (int)(yyvsp[(4) - (18)].d), @@ -10303,7 +10314,7 @@ yyreduce: break; case 316: -#line 4092 "Gmsh.y" +#line 4103 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10312,7 +10323,7 @@ yyreduce: break; case 317: -#line 4098 "Gmsh.y" +#line 4109 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SEGM_LINE, (int)(yyvsp[(4) - (18)].d), @@ -10322,7 +10333,7 @@ yyreduce: break; case 318: -#line 4105 "Gmsh.y" +#line 4116 "Gmsh.y" { extr.mesh.ExtrudeMesh = extr.mesh.Recombine = false; extr.mesh.QuadToTri = NO_QUADTRI; @@ -10331,7 +10342,7 @@ yyreduce: break; case 319: -#line 4111 "Gmsh.y" +#line 4122 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); ExtrudeShape(TRANSLATE_ROTATE, MSH_SURF_PLAN, (int)(yyvsp[(4) - (18)].d), @@ -10341,19 +10352,19 @@ yyreduce: break; case 320: -#line 4122 "Gmsh.y" +#line 4133 "Gmsh.y" { ;} break; case 321: -#line 4125 "Gmsh.y" +#line 4136 "Gmsh.y" { ;} break; case 322: -#line 4131 "Gmsh.y" +#line 4142 "Gmsh.y" { int n = (int)fabs((yyvsp[(3) - (5)].d)); if(n){ // we accept n==0 to easily disable layers @@ -10368,7 +10379,7 @@ yyreduce: break; case 323: -#line 4143 "Gmsh.y" +#line 4154 "Gmsh.y" { extr.mesh.ExtrudeMesh = true; extr.mesh.NbLayer = List_Nbr((yyvsp[(3) - (7)].l)); @@ -10391,7 +10402,7 @@ yyreduce: break; case 324: -#line 4163 "Gmsh.y" +#line 4174 "Gmsh.y" { yymsg(0, "Explicit region numbers in layers are deprecated"); extr.mesh.ExtrudeMesh = true; @@ -10417,42 +10428,42 @@ yyreduce: break; case 325: -#line 4187 "Gmsh.y" +#line 4198 "Gmsh.y" { extr.mesh.ScaleLast = true; ;} break; case 326: -#line 4191 "Gmsh.y" +#line 4202 "Gmsh.y" { extr.mesh.Recombine = true; ;} break; case 327: -#line 4195 "Gmsh.y" +#line 4206 "Gmsh.y" { extr.mesh.Recombine = (yyvsp[(2) - (3)].d) ? true : false; ;} break; case 328: -#line 4199 "Gmsh.y" +#line 4210 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); ;} break; case 329: -#line 4203 "Gmsh.y" +#line 4214 "Gmsh.y" { yymsg(0, "Keyword 'QuadTriSngl' deprecated. Use 'QuadTriNoNewVerts' instead."); ;} break; case 330: -#line 4207 "Gmsh.y" +#line 4218 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -10461,7 +10472,7 @@ yyreduce: break; case 331: -#line 4213 "Gmsh.y" +#line 4224 "Gmsh.y" { yymsg(0, "Method 'QuadTriDbl' deprecated. Use 'QuadTriAddVerts' instead, " "which has no requirement for the number of extrusion layers and meshes " @@ -10470,35 +10481,35 @@ yyreduce: break; case 332: -#line 4219 "Gmsh.y" +#line 4230 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1; ;} break; case 333: -#line 4223 "Gmsh.y" +#line 4234 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_ADDVERTS_1_RECOMB; ;} break; case 334: -#line 4227 "Gmsh.y" +#line 4238 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1; ;} break; case 335: -#line 4231 "Gmsh.y" +#line 4242 "Gmsh.y" { extr.mesh.QuadToTri = QUADTRI_NOVERTS_1_RECOMB; ;} break; case 336: -#line 4235 "Gmsh.y" +#line 4246 "Gmsh.y" { int num = (int)(yyvsp[(3) - (9)].d); if(FindSurface(num)){ @@ -10520,7 +10531,7 @@ yyreduce: break; case 337: -#line 4254 "Gmsh.y" +#line 4265 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (6)].c), "Index")) extr.mesh.BoundaryLayerIndex = (yyvsp[(4) - (6)].d); @@ -10531,37 +10542,37 @@ yyreduce: break; case 338: -#line 4266 "Gmsh.y" +#line 4277 "Gmsh.y" { (yyval.i) = OCC_Internals::Fuse; ;} break; case 339: -#line 4267 "Gmsh.y" +#line 4278 "Gmsh.y" { (yyval.i) = OCC_Internals::Intersection; ;} break; case 340: -#line 4268 "Gmsh.y" +#line 4279 "Gmsh.y" { (yyval.i) = OCC_Internals::Cut; ;} break; case 341: -#line 4272 "Gmsh.y" +#line 4283 "Gmsh.y" { (yyval.i) = 0; ;} break; case 342: -#line 4273 "Gmsh.y" +#line 4284 "Gmsh.y" { (yyval.i) = 1; ;} break; case 343: -#line 4274 "Gmsh.y" +#line 4285 "Gmsh.y" { (yyval.i) = (yyvsp[(2) - (3)].d); ;} break; case 344: -#line 4278 "Gmsh.y" +#line 4290 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -10572,9 +10583,13 @@ yyreduce: for(int i = 0; i < List_Nbr((yyvsp[(7) - (9)].l)); i++){ Shape s; List_Read((yyvsp[(7) - (9)].l), i, &s); tool[3].push_back(s.Num); } - GModel::current()->getOCCInternals()->applyBooleanOperator + std::vector<int> ret = + GModel::current()->getOCCInternals()->applyBooleanOperator (-1, shape, tool, (OCC_Internals::BooleanOperator)(yyvsp[(1) - (9)].i), (yyvsp[(4) - (9)].i), (yyvsp[(8) - (9)].i)); - // FIXME add to returned list of shapes + for(unsigned int i = 0; i < ret.size(); i++){ + double d = ret[i]; + List_Add((yyval.l), &d); + } } List_Delete((yyvsp[(3) - (9)].l)); List_Delete((yyvsp[(7) - (9)].l)); @@ -10582,7 +10597,7 @@ yyreduce: break; case 345: -#line 4299 "Gmsh.y" +#line 4316 "Gmsh.y" { if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ std::vector<int> shape[4], tool[4]; @@ -10601,14 +10616,14 @@ yyreduce: break; case 346: -#line 4318 "Gmsh.y" +#line 4335 "Gmsh.y" { (yyval.v)[0] = (yyval.v)[1] = 1.; ;} break; case 347: -#line 4322 "Gmsh.y" +#line 4339 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Progression") || !strcmp((yyvsp[(2) - (3)].c), "Power")) (yyval.v)[0] = 1.; @@ -10624,14 +10639,14 @@ yyreduce: break; case 348: -#line 4337 "Gmsh.y" +#line 4354 "Gmsh.y" { (yyval.i) = -1; // left ;} break; case 349: -#line 4341 "Gmsh.y" +#line 4358 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "Right")) (yyval.i) = 1; @@ -10648,49 +10663,49 @@ yyreduce: break; case 350: -#line 4357 "Gmsh.y" +#line 4374 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; case 351: -#line 4361 "Gmsh.y" +#line 4378 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; case 352: -#line 4366 "Gmsh.y" +#line 4383 "Gmsh.y" { (yyval.i) = 45; ;} break; case 353: -#line 4370 "Gmsh.y" +#line 4387 "Gmsh.y" { (yyval.i) = (int)(yyvsp[(2) - (2)].d); ;} break; case 354: -#line 4376 "Gmsh.y" +#line 4393 "Gmsh.y" { (yyval.l) = List_Create(1, 1, sizeof(double)); ;} break; case 355: -#line 4380 "Gmsh.y" +#line 4397 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); ;} break; case 356: -#line 4387 "Gmsh.y" +#line 4404 "Gmsh.y" { int type = (int)(yyvsp[(6) - (7)].v)[0]; double coef = fabs((yyvsp[(6) - (7)].v)[1]); @@ -10749,7 +10764,7 @@ yyreduce: break; case 357: -#line 4443 "Gmsh.y" +#line 4460 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (6)].l)); if(k != 0 && k != 3 && k != 4){ @@ -10822,7 +10837,7 @@ yyreduce: break; case 358: -#line 4513 "Gmsh.y" +#line 4530 "Gmsh.y" { yymsg(1, "Elliptic Surface is deprecated: use Transfinite instead (with smoothing)"); List_Delete((yyvsp[(7) - (8)].l)); @@ -10830,7 +10845,7 @@ yyreduce: break; case 359: -#line 4518 "Gmsh.y" +#line 4535 "Gmsh.y" { int k = List_Nbr((yyvsp[(4) - (5)].l)); if(k != 0 && k != 6 && k != 8){ @@ -10900,7 +10915,7 @@ yyreduce: break; case 360: -#line 4585 "Gmsh.y" +#line 4602 "Gmsh.y" { if(!(yyvsp[(2) - (3)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -10939,7 +10954,7 @@ yyreduce: break; case 361: -#line 4621 "Gmsh.y" +#line 4638 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(4) - (8)].l)); i++){ double d; @@ -10950,7 +10965,7 @@ yyreduce: break; case 362: -#line 4629 "Gmsh.y" +#line 4646 "Gmsh.y" { if(!(yyvsp[(3) - (5)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -10996,7 +11011,7 @@ yyreduce: break; case 363: -#line 4672 "Gmsh.y" +#line 4689 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Volumes); @@ -11038,7 +11053,7 @@ yyreduce: break; case 364: -#line 4711 "Gmsh.y" +#line 4728 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ double d; @@ -11061,7 +11076,7 @@ yyreduce: break; case 365: -#line 4732 "Gmsh.y" +#line 4749 "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 " @@ -11095,7 +11110,7 @@ yyreduce: break; case 366: -#line 4764 "Gmsh.y" +#line 4781 "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 " @@ -11124,7 +11139,7 @@ yyreduce: break; case 367: -#line 4791 "Gmsh.y" +#line 4808 "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 " @@ -11152,7 +11167,7 @@ yyreduce: break; case 368: -#line 4817 "Gmsh.y" +#line 4834 "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 " @@ -11180,7 +11195,7 @@ yyreduce: break; case 369: -#line 4843 "Gmsh.y" +#line 4860 "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 " @@ -11208,7 +11223,7 @@ yyreduce: break; case 370: -#line 4869 "Gmsh.y" +#line 4886 "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 " @@ -11236,7 +11251,7 @@ yyreduce: break; case 371: -#line 4895 "Gmsh.y" +#line 4912 "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 " @@ -11260,7 +11275,7 @@ yyreduce: break; case 372: -#line 4916 "Gmsh.y" +#line 4933 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -11291,7 +11306,7 @@ yyreduce: break; case 373: -#line 4944 "Gmsh.y" +#line 4961 "Gmsh.y" { Surface *s = FindSurface((int)(yyvsp[(8) - (10)].d)); if(s){ @@ -11322,7 +11337,7 @@ yyreduce: break; case 374: -#line 4972 "Gmsh.y" +#line 4989 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -11353,7 +11368,7 @@ yyreduce: break; case 375: -#line 5000 "Gmsh.y" +#line 5017 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -11384,7 +11399,7 @@ yyreduce: break; case 376: -#line 5028 "Gmsh.y" +#line 5045 "Gmsh.y" { Volume *v = FindVolume((int)(yyvsp[(8) - (10)].d)); if(v){ @@ -11415,7 +11430,7 @@ yyreduce: break; case 377: -#line 5056 "Gmsh.y" +#line 5073 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Surfaces); @@ -11457,7 +11472,7 @@ yyreduce: break; case 378: -#line 5095 "Gmsh.y" +#line 5112 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ List_T *tmp = Tree2List(GModel::current()->getGEOInternals()->Curves); @@ -11499,7 +11514,7 @@ yyreduce: break; case 379: -#line 5134 "Gmsh.y" +#line 5151 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::viter it = GModel::current()->firstVertex(); @@ -11523,7 +11538,7 @@ yyreduce: break; case 380: -#line 5155 "Gmsh.y" +#line 5172 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::eiter it = GModel::current()->firstEdge(); @@ -11547,7 +11562,7 @@ yyreduce: break; case 381: -#line 5176 "Gmsh.y" +#line 5193 "Gmsh.y" { if(!(yyvsp[(3) - (4)].l)){ for(GModel::fiter it = GModel::current()->firstFace(); @@ -11571,14 +11586,14 @@ yyreduce: break; case 382: -#line 5203 "Gmsh.y" +#line 5220 "Gmsh.y" { ReplaceAllDuplicates(); ;} break; case 383: -#line 5207 "Gmsh.y" +#line 5224 "Gmsh.y" { if(!strcmp((yyvsp[(2) - (3)].c), "Geometry")) ReplaceAllDuplicates(); @@ -11591,7 +11606,7 @@ yyreduce: break; case 384: -#line 5217 "Gmsh.y" +#line 5234 "Gmsh.y" { if(List_Nbr((yyvsp[(4) - (6)].l)) >= 2){ double d; @@ -11624,22 +11639,22 @@ yyreduce: break; case 385: -#line 5251 "Gmsh.y" +#line 5268 "Gmsh.y" { (yyval.c) = (char*)"Homology"; ;} break; case 386: -#line 5252 "Gmsh.y" +#line 5269 "Gmsh.y" { (yyval.c) = (char*)"Cohomology"; ;} break; case 387: -#line 5253 "Gmsh.y" +#line 5270 "Gmsh.y" { (yyval.c) = (char*)"Betti"; ;} break; case 388: -#line 5258 "Gmsh.y" +#line 5275 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < 4; i++) dim.push_back(i); @@ -11648,7 +11663,7 @@ yyreduce: break; case 389: -#line 5264 "Gmsh.y" +#line 5281 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (5)].l)); i++){ @@ -11663,7 +11678,7 @@ yyreduce: break; case 390: -#line 5276 "Gmsh.y" +#line 5293 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(3) - (7)].l)); i++){ @@ -11684,7 +11699,7 @@ yyreduce: break; case 391: -#line 5294 "Gmsh.y" +#line 5311 "Gmsh.y" { std::vector<int> domain, subdomain, dim; for(int i = 0; i < List_Nbr((yyvsp[(6) - (10)].l)); i++){ @@ -11710,47 +11725,47 @@ yyreduce: break; case 392: -#line 5321 "Gmsh.y" +#line 5338 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 393: -#line 5322 "Gmsh.y" +#line 5339 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (3)].d); ;} break; case 394: -#line 5323 "Gmsh.y" +#line 5340 "Gmsh.y" { (yyval.d) = -(yyvsp[(2) - (2)].d); ;} break; case 395: -#line 5324 "Gmsh.y" +#line 5341 "Gmsh.y" { (yyval.d) = (yyvsp[(2) - (2)].d); ;} break; case 396: -#line 5325 "Gmsh.y" +#line 5342 "Gmsh.y" { (yyval.d) = !(yyvsp[(2) - (2)].d); ;} break; case 397: -#line 5326 "Gmsh.y" +#line 5343 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) - (yyvsp[(3) - (3)].d); ;} break; case 398: -#line 5327 "Gmsh.y" +#line 5344 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) + (yyvsp[(3) - (3)].d); ;} break; case 399: -#line 5328 "Gmsh.y" +#line 5345 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) * (yyvsp[(3) - (3)].d); ;} break; case 400: -#line 5330 "Gmsh.y" +#line 5347 "Gmsh.y" { if(!(yyvsp[(3) - (3)].d)) yymsg(0, "Division by zero in '%g / %g'", (yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); @@ -11760,232 +11775,232 @@ yyreduce: break; case 401: -#line 5336 "Gmsh.y" +#line 5353 "Gmsh.y" { (yyval.d) = (int)(yyvsp[(1) - (3)].d) % (int)(yyvsp[(3) - (3)].d); ;} break; case 402: -#line 5337 "Gmsh.y" +#line 5354 "Gmsh.y" { (yyval.d) = pow((yyvsp[(1) - (3)].d), (yyvsp[(3) - (3)].d)); ;} break; case 403: -#line 5338 "Gmsh.y" +#line 5355 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d); ;} break; case 404: -#line 5339 "Gmsh.y" +#line 5356 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) > (yyvsp[(3) - (3)].d); ;} break; case 405: -#line 5340 "Gmsh.y" +#line 5357 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) <= (yyvsp[(3) - (3)].d); ;} break; case 406: -#line 5341 "Gmsh.y" +#line 5358 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) >= (yyvsp[(3) - (3)].d); ;} break; case 407: -#line 5342 "Gmsh.y" +#line 5359 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) == (yyvsp[(3) - (3)].d); ;} break; case 408: -#line 5343 "Gmsh.y" +#line 5360 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) != (yyvsp[(3) - (3)].d); ;} break; case 409: -#line 5344 "Gmsh.y" +#line 5361 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) && (yyvsp[(3) - (3)].d); ;} break; case 410: -#line 5345 "Gmsh.y" +#line 5362 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (3)].d) || (yyvsp[(3) - (3)].d); ;} break; case 411: -#line 5346 "Gmsh.y" +#line 5363 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (5)].d) ? (yyvsp[(3) - (5)].d) : (yyvsp[(5) - (5)].d); ;} break; case 412: -#line 5347 "Gmsh.y" +#line 5364 "Gmsh.y" { (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;} break; case 413: -#line 5348 "Gmsh.y" +#line 5365 "Gmsh.y" { (yyval.d) = log((yyvsp[(3) - (4)].d)); ;} break; case 414: -#line 5349 "Gmsh.y" +#line 5366 "Gmsh.y" { (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;} break; case 415: -#line 5350 "Gmsh.y" +#line 5367 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;} break; case 416: -#line 5351 "Gmsh.y" +#line 5368 "Gmsh.y" { (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;} break; case 417: -#line 5352 "Gmsh.y" +#line 5369 "Gmsh.y" { (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;} break; case 418: -#line 5353 "Gmsh.y" +#line 5370 "Gmsh.y" { (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;} break; case 419: -#line 5354 "Gmsh.y" +#line 5371 "Gmsh.y" { (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;} break; case 420: -#line 5355 "Gmsh.y" +#line 5372 "Gmsh.y" { (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;} break; case 421: -#line 5356 "Gmsh.y" +#line 5373 "Gmsh.y" { (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;} break; case 422: -#line 5357 "Gmsh.y" +#line 5374 "Gmsh.y" { (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;} break; case 423: -#line 5358 "Gmsh.y" +#line 5375 "Gmsh.y" { (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;} break; case 424: -#line 5359 "Gmsh.y" +#line 5376 "Gmsh.y" { (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;} break; case 425: -#line 5360 "Gmsh.y" +#line 5377 "Gmsh.y" { (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;} break; case 426: -#line 5361 "Gmsh.y" +#line 5378 "Gmsh.y" { (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;} break; case 427: -#line 5362 "Gmsh.y" +#line 5379 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;} break; case 428: -#line 5363 "Gmsh.y" +#line 5380 "Gmsh.y" { (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;} break; case 429: -#line 5364 "Gmsh.y" +#line 5381 "Gmsh.y" { (yyval.d) = floor((yyvsp[(3) - (4)].d) + 0.5); ;} break; case 430: -#line 5365 "Gmsh.y" +#line 5382 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 431: -#line 5366 "Gmsh.y" +#line 5383 "Gmsh.y" { (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;} break; case 432: -#line 5367 "Gmsh.y" +#line 5384 "Gmsh.y" { (yyval.d) = sqrt((yyvsp[(3) - (6)].d) * (yyvsp[(3) - (6)].d) + (yyvsp[(5) - (6)].d) * (yyvsp[(5) - (6)].d)); ;} break; case 433: -#line 5368 "Gmsh.y" +#line 5385 "Gmsh.y" { (yyval.d) = (yyvsp[(3) - (4)].d) * (double)rand() / (double)RAND_MAX; ;} break; case 434: -#line 5377 "Gmsh.y" +#line 5394 "Gmsh.y" { (yyval.d) = (yyvsp[(1) - (1)].d); ;} break; case 435: -#line 5378 "Gmsh.y" +#line 5395 "Gmsh.y" { (yyval.d) = 3.141592653589793; ;} break; case 436: -#line 5379 "Gmsh.y" +#line 5396 "Gmsh.y" { (yyval.d) = (double)ImbricatedTest; ;} break; case 437: -#line 5380 "Gmsh.y" +#line 5397 "Gmsh.y" { (yyval.d) = Msg::GetCommRank(); ;} break; case 438: -#line 5381 "Gmsh.y" +#line 5398 "Gmsh.y" { (yyval.d) = Msg::GetCommSize(); ;} break; case 439: -#line 5382 "Gmsh.y" +#line 5399 "Gmsh.y" { (yyval.d) = GetGmshMajorVersion(); ;} break; case 440: -#line 5383 "Gmsh.y" +#line 5400 "Gmsh.y" { (yyval.d) = GetGmshMinorVersion(); ;} break; case 441: -#line 5384 "Gmsh.y" +#line 5401 "Gmsh.y" { (yyval.d) = GetGmshPatchVersion(); ;} break; case 442: -#line 5385 "Gmsh.y" +#line 5402 "Gmsh.y" { (yyval.d) = Cpu(); ;} break; case 443: -#line 5386 "Gmsh.y" +#line 5403 "Gmsh.y" { (yyval.d) = GetMemoryUsage()/1024./1024.; ;} break; case 444: -#line 5387 "Gmsh.y" +#line 5404 "Gmsh.y" { (yyval.d) = TotalRam(); ;} break; case 445: -#line 5392 "Gmsh.y" +#line 5409 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 446: -#line 5394 "Gmsh.y" +#line 5411 "Gmsh.y" { std::vector<double> val(1, (yyvsp[(3) - (6)].d)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -11994,7 +12009,7 @@ yyreduce: break; case 447: -#line 5400 "Gmsh.y" +#line 5417 "Gmsh.y" { (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -12002,7 +12017,7 @@ yyreduce: break; case 448: -#line 5405 "Gmsh.y" +#line 5422 "Gmsh.y" { (yyval.d) = Msg::GetOnelabNumber((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -12010,7 +12025,7 @@ yyreduce: break; case 449: -#line 5410 "Gmsh.y" +#line 5427 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (1)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (1)].c)); @@ -12030,7 +12045,7 @@ yyreduce: break; case 450: -#line 5427 "Gmsh.y" +#line 5444 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -12051,7 +12066,7 @@ yyreduce: break; case 451: -#line 5445 "Gmsh.y" +#line 5462 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -12072,7 +12087,7 @@ yyreduce: break; case 452: -#line 5463 "Gmsh.y" +#line 5480 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -12093,7 +12108,7 @@ yyreduce: break; case 453: -#line 5481 "Gmsh.y" +#line 5498 "Gmsh.y" { int index = (int)(yyvsp[(3) - (4)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (4)].c))){ @@ -12114,7 +12129,7 @@ yyreduce: break; case 454: -#line 5499 "Gmsh.y" +#line 5516 "Gmsh.y" { (yyval.d) = gmsh_yysymbols.count((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -12122,7 +12137,7 @@ yyreduce: break; case 455: -#line 5504 "Gmsh.y" +#line 5521 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.d) = !StatFile(tmp); @@ -12131,7 +12146,7 @@ yyreduce: break; case 456: -#line 5510 "Gmsh.y" +#line 5527 "Gmsh.y" { if(gmsh_yysymbols.count((yyvsp[(2) - (4)].c))){ gmsh_yysymbol &s(gmsh_yysymbols[(yyvsp[(2) - (4)].c)]); @@ -12149,7 +12164,7 @@ yyreduce: break; case 457: -#line 5525 "Gmsh.y" +#line 5542 "Gmsh.y" { if(!gmsh_yysymbols.count((yyvsp[(1) - (2)].c))){ yymsg(0, "Unknown variable '%s'", (yyvsp[(1) - (2)].c)); @@ -12171,7 +12186,7 @@ yyreduce: break; case 458: -#line 5544 "Gmsh.y" +#line 5561 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -12194,7 +12209,7 @@ yyreduce: break; case 459: -#line 5564 "Gmsh.y" +#line 5581 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -12217,7 +12232,7 @@ yyreduce: break; case 460: -#line 5584 "Gmsh.y" +#line 5601 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -12240,7 +12255,7 @@ yyreduce: break; case 461: -#line 5604 "Gmsh.y" +#line 5621 "Gmsh.y" { int index = (int)(yyvsp[(3) - (5)].d); if(!gmsh_yysymbols.count((yyvsp[(1) - (5)].c))){ @@ -12263,7 +12278,7 @@ yyreduce: break; case 462: -#line 5627 "Gmsh.y" +#line 5644 "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)); @@ -12271,7 +12286,7 @@ yyreduce: break; case 463: -#line 5632 "Gmsh.y" +#line 5649 "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)); @@ -12279,7 +12294,7 @@ yyreduce: break; case 464: -#line 5637 "Gmsh.y" +#line 5654 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (4)].c), 0, (yyvsp[(3) - (4)].c), d)){ @@ -12292,7 +12307,7 @@ yyreduce: break; case 465: -#line 5647 "Gmsh.y" +#line 5664 "Gmsh.y" { double d = 0.; if(NumberOption(GMSH_GET, (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c), d)){ @@ -12305,7 +12320,7 @@ yyreduce: break; case 466: -#line 5657 "Gmsh.y" +#line 5674 "Gmsh.y" { (yyval.d) = Msg::GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d)); Free((yyvsp[(3) - (6)].c)); @@ -12313,7 +12328,7 @@ yyreduce: break; case 467: -#line 5662 "Gmsh.y" +#line 5679 "Gmsh.y" { int matches = 0; for(int i = 0; i < List_Nbr((yyvsp[(3) - (6)].l)); i++){ @@ -12327,7 +12342,7 @@ yyreduce: break; case 468: -#line 5673 "Gmsh.y" +#line 5690 "Gmsh.y" { std::string s((yyvsp[(3) - (6)].c)), substr((yyvsp[(5) - (6)].c)); if(s.find(substr) != std::string::npos) @@ -12339,7 +12354,7 @@ yyreduce: break; case 469: -#line 5682 "Gmsh.y" +#line 5699 "Gmsh.y" { (yyval.d) = strlen((yyvsp[(3) - (4)].c)); Free((yyvsp[(3) - (4)].c)); @@ -12347,7 +12362,7 @@ yyreduce: break; case 470: -#line 5687 "Gmsh.y" +#line 5704 "Gmsh.y" { (yyval.d) = strcmp((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); Free((yyvsp[(3) - (6)].c)); Free((yyvsp[(5) - (6)].c)); @@ -12355,7 +12370,7 @@ yyreduce: break; case 471: -#line 5692 "Gmsh.y" +#line 5709 "Gmsh.y" { int align = 0, font = 0, fontsize = CTX::instance()->glFontSize; if(List_Nbr((yyvsp[(3) - (4)].l)) % 2){ @@ -12382,70 +12397,70 @@ yyreduce: break; case 472: -#line 5719 "Gmsh.y" +#line 5736 "Gmsh.y" { memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double)); ;} break; case 473: -#line 5723 "Gmsh.y" +#line 5740 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i]; ;} break; case 474: -#line 5727 "Gmsh.y" +#line 5744 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i]; ;} break; case 475: -#line 5731 "Gmsh.y" +#line 5748 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i]; ;} break; case 476: -#line 5735 "Gmsh.y" +#line 5752 "Gmsh.y" { for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i]; ;} break; case 477: -#line 5742 "Gmsh.y" +#line 5759 "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 478: -#line 5746 "Gmsh.y" +#line 5763 "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 479: -#line 5750 "Gmsh.y" +#line 5767 "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 480: -#line 5754 "Gmsh.y" +#line 5771 "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 481: -#line 5761 "Gmsh.y" +#line 5778 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(List_T*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].l))); @@ -12453,14 +12468,14 @@ yyreduce: break; case 482: -#line 5766 "Gmsh.y" +#line 5783 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].l))); ;} break; case 483: -#line 5773 "Gmsh.y" +#line 5790 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -12468,14 +12483,14 @@ yyreduce: break; case 484: -#line 5778 "Gmsh.y" +#line 5795 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 485: -#line 5782 "Gmsh.y" +#line 5799 "Gmsh.y" { // creates an empty list (yyval.l) = List_Create(2, 1, sizeof(double)); @@ -12483,14 +12498,14 @@ yyreduce: break; case 486: -#line 5787 "Gmsh.y" +#line 5804 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 487: -#line 5791 "Gmsh.y" +#line 5808 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12501,7 +12516,7 @@ yyreduce: break; case 488: -#line 5799 "Gmsh.y" +#line 5816 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (5)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12512,14 +12527,14 @@ yyreduce: break; case 489: -#line 5810 "Gmsh.y" +#line 5827 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 490: -#line 5814 "Gmsh.y" +#line 5831 "Gmsh.y" { if(!strcmp((yyvsp[(1) - (1)].c), "*") || !strcmp((yyvsp[(1) - (1)].c), "all")) (yyval.l) = 0; @@ -12531,7 +12546,7 @@ yyreduce: break; case 491: -#line 5826 "Gmsh.y" +#line 5843 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (2)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12542,7 +12557,7 @@ yyreduce: break; case 492: -#line 5834 "Gmsh.y" +#line 5851 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (3)].l); for(int i = 0; i < List_Nbr((yyval.l)); i++){ @@ -12553,7 +12568,7 @@ yyreduce: break; case 493: -#line 5842 "Gmsh.y" +#line 5859 "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)); @@ -12563,7 +12578,7 @@ yyreduce: break; case 494: -#line 5849 "Gmsh.y" +#line 5866 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!(yyvsp[(5) - (5)].d)){ //|| ($1 < $3 && $5 < 0) || ($1 > $3 && $5 > 0) @@ -12576,7 +12591,7 @@ yyreduce: break; case 495: -#line 5859 "Gmsh.y" +#line 5876 "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 @@ -12608,63 +12623,63 @@ yyreduce: break; case 496: -#line 5888 "Gmsh.y" +#line 5905 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(0); ;} break; case 497: -#line 5892 "Gmsh.y" +#line 5909 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(1); ;} break; case 498: -#line 5896 "Gmsh.y" +#line 5913 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(2); ;} break; case 499: -#line 5900 "Gmsh.y" +#line 5917 "Gmsh.y" { (yyval.l) = GetAllElementaryEntityNumbers(3); ;} break; case 500: -#line 5904 "Gmsh.y" +#line 5921 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(0); ;} break; case 501: -#line 5908 "Gmsh.y" +#line 5925 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(1); ;} break; case 502: -#line 5912 "Gmsh.y" +#line 5929 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(2); ;} break; case 503: -#line 5916 "Gmsh.y" +#line 5933 "Gmsh.y" { (yyval.l) = GetAllPhysicalEntityNumbers(3); ;} break; case 504: -#line 5920 "Gmsh.y" +#line 5937 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -12696,7 +12711,7 @@ yyreduce: break; case 505: -#line 5949 "Gmsh.y" +#line 5966 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -12728,7 +12743,7 @@ yyreduce: break; case 506: -#line 5978 "Gmsh.y" +#line 5995 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -12760,7 +12775,7 @@ yyreduce: break; case 507: -#line 6007 "Gmsh.y" +#line 6024 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); for(int i = 0; i < List_Nbr((yyvsp[(4) - (5)].l)); i++){ @@ -12792,7 +12807,7 @@ yyreduce: break; case 508: -#line 6037 "Gmsh.y" +#line 6054 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -12807,7 +12822,7 @@ yyreduce: break; case 509: -#line 6050 "Gmsh.y" +#line 6067 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -12822,7 +12837,7 @@ yyreduce: break; case 510: -#line 6063 "Gmsh.y" +#line 6080 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -12837,7 +12852,7 @@ yyreduce: break; case 511: -#line 6076 "Gmsh.y" +#line 6093 "Gmsh.y" { (yyval.l) = List_Create(10, 1, sizeof(double)); GModel::current()->importGEOInternals(); @@ -12852,7 +12867,7 @@ yyreduce: break; case 512: -#line 6088 "Gmsh.y" +#line 6105 "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++){ @@ -12865,7 +12880,7 @@ yyreduce: break; case 513: -#line 6098 "Gmsh.y" +#line 6115 "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++){ @@ -12878,7 +12893,7 @@ yyreduce: break; case 514: -#line 6108 "Gmsh.y" +#line 6125 "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++){ @@ -12891,7 +12906,7 @@ yyreduce: break; case 515: -#line 6118 "Gmsh.y" +#line 6135 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -12906,7 +12921,7 @@ yyreduce: break; case 516: -#line 6130 "Gmsh.y" +#line 6147 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (3)].c))) @@ -12921,7 +12936,7 @@ yyreduce: break; case 517: -#line 6143 "Gmsh.y" +#line 6160 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(3) - (4)].c))) @@ -12936,35 +12951,35 @@ yyreduce: break; case 518: -#line 6155 "Gmsh.y" +#line 6172 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); ;} break; case 519: -#line 6159 "Gmsh.y" +#line 6176 "Gmsh.y" { (yyval.l) = (yyvsp[(3) - (4)].l); ;} break; case 520: -#line 6163 "Gmsh.y" +#line 6180 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (6)].l); ;} break; case 521: -#line 6167 "Gmsh.y" +#line 6184 "Gmsh.y" { (yyval.l) = (yyvsp[(4) - (6)].l); ;} break; case 522: -#line 6171 "Gmsh.y" +#line 6188 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -12985,7 +13000,7 @@ yyreduce: break; case 523: -#line 6189 "Gmsh.y" +#line 6206 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); if(!gmsh_yysymbols.count((yyvsp[(1) - (6)].c))) @@ -13006,7 +13021,7 @@ yyreduce: break; case 524: -#line 6207 "Gmsh.y" +#line 6224 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(double)); for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) { @@ -13017,7 +13032,7 @@ yyreduce: break; case 525: -#line 6215 "Gmsh.y" +#line 6232 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(double)); for(int i = 0; i < (int)(yyvsp[(7) - (8)].d); i++) { @@ -13028,7 +13043,7 @@ yyreduce: break; case 526: -#line 6223 "Gmsh.y" +#line 6240 "Gmsh.y" { Msg::Barrier(); FILE *File; @@ -13060,7 +13075,7 @@ yyreduce: break; case 527: -#line 6252 "Gmsh.y" +#line 6269 "Gmsh.y" { double x0 = (yyvsp[(3) - (14)].d), x1 = (yyvsp[(5) - (14)].d), y0 = (yyvsp[(7) - (14)].d), y1 = (yyvsp[(9) - (14)].d), ys = (yyvsp[(11) - (14)].d); int N = (int)(yyvsp[(13) - (14)].d); @@ -13073,7 +13088,7 @@ yyreduce: break; case 528: -#line 6265 "Gmsh.y" +#line 6282 "Gmsh.y" { (yyval.l) = List_Create(2, 1, sizeof(double)); List_Add((yyval.l), &((yyvsp[(1) - (1)].d))); @@ -13081,21 +13096,21 @@ yyreduce: break; case 529: -#line 6270 "Gmsh.y" +#line 6287 "Gmsh.y" { (yyval.l) = (yyvsp[(1) - (1)].l); ;} break; case 530: -#line 6274 "Gmsh.y" +#line 6291 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].d))); ;} break; case 531: -#line 6278 "Gmsh.y" +#line 6295 "Gmsh.y" { for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){ double d; @@ -13107,21 +13122,21 @@ yyreduce: break; case 532: -#line 6290 "Gmsh.y" +#line 6307 "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 533: -#line 6294 "Gmsh.y" +#line 6311 "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 534: -#line 6306 "Gmsh.y" +#line 6323 "Gmsh.y" { int flag = 0; if(gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))){ @@ -13141,7 +13156,7 @@ yyreduce: break; case 535: -#line 6323 "Gmsh.y" +#line 6340 "Gmsh.y" { unsigned int val = 0; ColorOption(GMSH_GET, (yyvsp[(1) - (5)].c), 0, (yyvsp[(5) - (5)].c), val); @@ -13151,14 +13166,14 @@ yyreduce: break; case 536: -#line 6333 "Gmsh.y" +#line 6350 "Gmsh.y" { (yyval.l) = (yyvsp[(2) - (3)].l); ;} break; case 537: -#line 6337 "Gmsh.y" +#line 6354 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); GmshColorTable *ct = GetColorTable((int)(yyvsp[(3) - (6)].d)); @@ -13173,7 +13188,7 @@ yyreduce: break; case 538: -#line 6352 "Gmsh.y" +#line 6369 "Gmsh.y" { (yyval.l) = List_Create(256, 10, sizeof(unsigned int)); List_Add((yyval.l), &((yyvsp[(1) - (1)].u))); @@ -13181,21 +13196,21 @@ yyreduce: break; case 539: -#line 6357 "Gmsh.y" +#line 6374 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].u))); ;} break; case 540: -#line 6364 "Gmsh.y" +#line 6381 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 541: -#line 6368 "Gmsh.y" +#line 6385 "Gmsh.y" { std::string val; if(!gmsh_yystringsymbols.count((yyvsp[(1) - (1)].c))) @@ -13211,7 +13226,7 @@ yyreduce: break; case 542: -#line 6381 "Gmsh.y" +#line 6398 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -13228,7 +13243,7 @@ yyreduce: break; case 543: -#line 6395 "Gmsh.y" +#line 6412 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -13245,7 +13260,7 @@ yyreduce: break; case 544: -#line 6409 "Gmsh.y" +#line 6426 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -13262,7 +13277,7 @@ yyreduce: break; case 545: -#line 6423 "Gmsh.y" +#line 6440 "Gmsh.y" { std::string val; int j = (int)(yyvsp[(3) - (4)].d); @@ -13279,7 +13294,7 @@ yyreduce: break; case 546: -#line 6437 "Gmsh.y" +#line 6454 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (3)].c), 0, (yyvsp[(3) - (3)].c), out); @@ -13290,7 +13305,7 @@ yyreduce: break; case 547: -#line 6445 "Gmsh.y" +#line 6462 "Gmsh.y" { std::string out; StringOption(GMSH_GET, (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c), out); @@ -13301,21 +13316,21 @@ yyreduce: break; case 548: -#line 6456 "Gmsh.y" +#line 6473 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 549: -#line 6460 "Gmsh.y" +#line 6477 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 550: -#line 6464 "Gmsh.y" +#line 6481 "Gmsh.y" { (yyval.c) = (char *)Malloc(32 * sizeof(char)); time_t now; @@ -13326,7 +13341,7 @@ yyreduce: break; case 551: -#line 6472 "Gmsh.y" +#line 6489 "Gmsh.y" { std::string exe = Msg::GetExecutableName(); (yyval.c) = (char *)Malloc(exe.size() + 1); @@ -13335,7 +13350,7 @@ yyreduce: break; case 552: -#line 6478 "Gmsh.y" +#line 6495 "Gmsh.y" { std::string action = Msg::GetOnelabAction(); (yyval.c) = (char *)Malloc(action.size() + 1); @@ -13344,7 +13359,7 @@ yyreduce: break; case 553: -#line 6484 "Gmsh.y" +#line 6501 "Gmsh.y" { const char *env = GetEnvironmentVar((yyvsp[(3) - (4)].c)); if(!env) env = ""; @@ -13355,7 +13370,7 @@ yyreduce: break; case 554: -#line 6492 "Gmsh.y" +#line 6509 "Gmsh.y" { std::string s = Msg::GetString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -13366,7 +13381,7 @@ yyreduce: break; case 555: -#line 6500 "Gmsh.y" +#line 6517 "Gmsh.y" { std::string s = Msg::GetOnelabString((yyvsp[(3) - (4)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -13376,7 +13391,7 @@ yyreduce: break; case 556: -#line 6507 "Gmsh.y" +#line 6524 "Gmsh.y" { std::string s = Msg::GetOnelabString((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c)); (yyval.c) = (char *)Malloc((s.size() + 1) * sizeof(char)); @@ -13387,7 +13402,7 @@ yyreduce: break; case 557: -#line 6515 "Gmsh.y" +#line 6532 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -13405,7 +13420,7 @@ yyreduce: break; case 558: -#line 6530 "Gmsh.y" +#line 6547 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -13422,7 +13437,7 @@ yyreduce: break; case 559: -#line 6544 "Gmsh.y" +#line 6561 "Gmsh.y" { (yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c)) + 1) * sizeof(char)); int i; @@ -13439,7 +13454,7 @@ yyreduce: break; case 560: -#line 6558 "Gmsh.y" +#line 6575 "Gmsh.y" { std::string input = (yyvsp[(3) - (8)].c); std::string substr_old = (yyvsp[(5) - (8)].c); @@ -13454,7 +13469,7 @@ yyreduce: break; case 561: -#line 6570 "Gmsh.y" +#line 6587 "Gmsh.y" { int size = 1; for(int i = 0; i < List_Nbr((yyvsp[(3) - (4)].l)); i++) @@ -13473,7 +13488,7 @@ yyreduce: break; case 562: -#line 6586 "Gmsh.y" +#line 6603 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -13485,7 +13500,7 @@ yyreduce: break; case 563: -#line 6595 "Gmsh.y" +#line 6612 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -13497,7 +13512,7 @@ yyreduce: break; case 564: -#line 6604 "Gmsh.y" +#line 6621 "Gmsh.y" { int i = 0; while ((yyvsp[(3) - (4)].c)[i]) { @@ -13510,7 +13525,7 @@ yyreduce: break; case 565: -#line 6614 "Gmsh.y" +#line 6631 "Gmsh.y" { if((yyvsp[(3) - (8)].d)){ (yyval.c) = (yyvsp[(5) - (8)].c); @@ -13524,7 +13539,7 @@ yyreduce: break; case 566: -#line 6625 "Gmsh.y" +#line 6642 "Gmsh.y" { std::string in = (yyvsp[(3) - (8)].c); std::string out = in.substr((int)(yyvsp[(5) - (8)].d), (int)(yyvsp[(7) - (8)].d)); @@ -13535,7 +13550,7 @@ yyreduce: break; case 567: -#line 6633 "Gmsh.y" +#line 6650 "Gmsh.y" { std::string in = (yyvsp[(3) - (6)].c); std::string out = in.substr((int)(yyvsp[(5) - (6)].d), std::string::npos); @@ -13546,14 +13561,14 @@ yyreduce: break; case 568: -#line 6641 "Gmsh.y" +#line 6658 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; case 569: -#line 6645 "Gmsh.y" +#line 6662 "Gmsh.y" { char tmpstring[5000]; int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring); @@ -13575,7 +13590,7 @@ yyreduce: break; case 570: -#line 6664 "Gmsh.y" +#line 6681 "Gmsh.y" { std::string tmp = FixRelativePath(gmsh_yyname, (yyvsp[(3) - (4)].c)); (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13585,7 +13600,7 @@ yyreduce: break; case 571: -#line 6671 "Gmsh.y" +#line 6688 "Gmsh.y" { std::string tmp = SplitFileName(GetAbsolutePath(gmsh_yyname))[0]; (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13594,7 +13609,7 @@ yyreduce: break; case 572: -#line 6677 "Gmsh.y" +#line 6694 "Gmsh.y" { std::string tmp = SplitFileName((yyvsp[(3) - (4)].c))[0]; (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13604,7 +13619,7 @@ yyreduce: break; case 573: -#line 6684 "Gmsh.y" +#line 6701 "Gmsh.y" { std::string tmp = GetAbsolutePath((yyvsp[(3) - (4)].c)); (yyval.c) = (char*)Malloc((tmp.size() + 1) * sizeof(char)); @@ -13614,12 +13629,12 @@ yyreduce: break; case 574: -#line 6691 "Gmsh.y" +#line 6708 "Gmsh.y" { floatOptions.clear(); charOptions.clear(); ;} break; case 575: -#line 6693 "Gmsh.y" +#line 6710 "Gmsh.y" { std::string val((yyvsp[(3) - (6)].c)); Msg::ExchangeOnelabParameter("", val, floatOptions, charOptions); @@ -13630,7 +13645,7 @@ yyreduce: break; case 576: -#line 6704 "Gmsh.y" +#line 6721 "Gmsh.y" { (yyval.l) = List_Create(20,20,sizeof(char*)); List_Add((yyval.l), &((yyvsp[(1) - (1)].c))); @@ -13638,12 +13653,12 @@ yyreduce: break; case 577: -#line 6709 "Gmsh.y" +#line 6726 "Gmsh.y" { List_Add((yyval.l), &((yyvsp[(3) - (3)].c))); ;} break; case 578: -#line 6715 "Gmsh.y" +#line 6732 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -13654,7 +13669,7 @@ yyreduce: break; case 579: -#line 6724 "Gmsh.y" +#line 6741 "Gmsh.y" { char tmpstr[256]; sprintf(tmpstr, "_%d", (int)(yyvsp[(4) - (5)].d)); @@ -13665,23 +13680,23 @@ yyreduce: break; case 580: -#line 6737 "Gmsh.y" +#line 6754 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 581: -#line 6740 "Gmsh.y" +#line 6757 "Gmsh.y" { (yyval.c) = (yyvsp[(1) - (1)].c); ;} break; case 582: -#line 6744 "Gmsh.y" +#line 6761 "Gmsh.y" { (yyval.c) = (yyvsp[(3) - (4)].c); ;} break; /* Line 1267 of yacc.c. */ -#line 13685 "Gmsh.tab.cpp" +#line 13700 "Gmsh.tab.cpp" default: break; } YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc); @@ -13895,7 +13910,7 @@ yyreturn: } -#line 6747 "Gmsh.y" +#line 6764 "Gmsh.y" void assignVariable(const std::string &name, int index, int assignType, diff --git a/Parser/Gmsh.y b/Parser/Gmsh.y index f193e3a4548163d0bd7761dff7700c3b5a4a31c3..d1518579e6cd1489bfc2a3d9c2188e0ae7040691 100644 --- a/Parser/Gmsh.y +++ b/Parser/Gmsh.y @@ -1822,12 +1822,23 @@ Shape : yymsg(0, "Curve %d already exists", num); } else{ - List_T *temp = ListOfDouble2ListOfInt($6); - Curve *c = Create_Curve(num, MSH_SEGM_LINE, 1, temp, NULL, - -1, -1, 0., 1.); - Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); - CreateReversedCurve(c); - List_Delete(temp); + if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ + if(List_Nbr($6) == 2){ + double d[3]; + List_Read($6, 0, &d[0]); List_Read($6, 1, &d[1]); + GModel::current()->getOCCInternals()->addLine(num, (int)d[0], (int)d[1]); + } + else + yymsg(0, "OpenCASCADE line only takes 2 points"); + } + else{ + List_T *temp = ListOfDouble2ListOfInt($6); + Curve *c = Create_Curve(num, MSH_SEGM_LINE, 1, temp, NULL, + -1, -1, 0., 1.); + Tree_Add(GModel::current()->getGEOInternals()->Curves, &c); + CreateReversedCurve(c); + List_Delete(temp); + } } List_Delete($6); $$.Type = MSH_SEGM_LINE; @@ -4274,7 +4285,8 @@ BooleanOption : | tDelete FExpr tEND { $$ = $2; } Boolean : - BooleanOperator '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' + BooleanOperator '{' ListOfShapes BooleanOption '}' + '{' ListOfShapes BooleanOption '}' { $$ = List_Create(2, 1, sizeof(Shape)); if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ @@ -4285,9 +4297,13 @@ Boolean : for(int i = 0; i < List_Nbr($7); i++){ Shape s; List_Read($7, i, &s); tool[3].push_back(s.Num); } - GModel::current()->getOCCInternals()->applyBooleanOperator + std::vector<int> ret = + GModel::current()->getOCCInternals()->applyBooleanOperator (-1, shape, tool, (OCC_Internals::BooleanOperator)$1, $4, $8); - // FIXME add to returned list of shapes + for(unsigned int i = 0; i < ret.size(); i++){ + double d = ret[i]; + List_Add($$, &d); + } } List_Delete($3); List_Delete($7); @@ -4295,7 +4311,8 @@ Boolean : ; BooleanShape : - BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' '{' ListOfShapes BooleanOption '}' tEND + BooleanOperator '(' FExpr ')' tAFFECT '{' ListOfShapes BooleanOption '}' + '{' ListOfShapes BooleanOption '}' tEND { if(factory == "OpenCASCADE" && GModel::current()->getOCCInternals()){ std::vector<int> shape[4], tool[4]; diff --git a/Parser/Gmsh.yy.cpp b/Parser/Gmsh.yy.cpp index f971ce5104d3697b57db66d2109e2f1b1f28acc2..6c7ba2d32dc91f64be7b76385d65abea115249ab 100644 --- a/Parser/Gmsh.yy.cpp +++ b/Parser/Gmsh.yy.cpp @@ -380,8 +380,8 @@ static void yy_fatal_error (yyconst char msg[] ); *yy_cp = '\0'; \ (yy_c_buf_p) = yy_cp; -#define YY_NUM_RULES 230 -#define YY_END_OF_BUFFER 231 +#define YY_NUM_RULES 232 +#define YY_END_OF_BUFFER 233 /* This struct is not used in this scanner, but its presence is necessary. */ struct yy_trans_info @@ -389,137 +389,138 @@ struct yy_trans_info flex_int32_t yy_verify; flex_int32_t yy_nxt; }; -static yyconst flex_int16_t yy_accept[1177] = +static yyconst flex_int16_t yy_accept[1191] = { 0, - 0, 0, 231, 229, 1, 1, 229, 5, 229, 6, - 229, 229, 229, 229, 229, 224, 21, 2, 229, 16, - 229, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 229, 28, 24, 19, 25, 17, - 26, 18, 0, 226, 3, 4, 20, 225, 224, 0, - 29, 27, 30, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - - 228, 228, 228, 228, 228, 228, 123, 122, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 152, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 205, 206, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 23, 22, 0, 225, 0, 0, 227, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 62, 73, 228, 228, 228, 228, 228, - - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 86, 228, 228, 228, 228, 228, 228, 228, 228, 107, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 133, 228, 228, 228, - 228, 228, 228, 144, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 190, 228, 228, - 228, 182, 228, 228, 228, 228, 228, 228, 188, 228, - 228, 228, 228, 215, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 0, 226, 0, 0, 225, - - 228, 228, 33, 228, 228, 228, 228, 228, 228, 39, - 41, 228, 228, 228, 228, 228, 228, 70, 228, 228, - 54, 228, 228, 228, 228, 228, 228, 228, 60, 228, - 228, 61, 228, 228, 228, 228, 228, 228, 228, 228, - 84, 228, 90, 228, 228, 228, 228, 228, 98, 228, - 100, 228, 228, 102, 228, 228, 106, 228, 228, 228, - 228, 228, 228, 228, 118, 119, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 128, 129, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 170, - - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 201, 183, 228, 228, 228, - 228, 228, 181, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 210, 214, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 10, 15, 9, 8, 228, - 12, 14, 0, 225, 31, 228, 228, 228, 37, 228, - 228, 228, 43, 228, 45, 228, 47, 228, 228, 228, - 228, 228, 228, 228, 228, 65, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 95, 97, 228, 228, 228, 101, 228, 228, - - 105, 228, 228, 228, 228, 228, 228, 228, 228, 121, - 228, 228, 126, 228, 228, 228, 228, 228, 134, 228, - 228, 228, 228, 137, 228, 228, 228, 228, 228, 146, - 228, 149, 228, 228, 228, 153, 228, 154, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 168, - 169, 228, 228, 228, 228, 228, 228, 203, 228, 228, - 228, 186, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 216, 228, - 228, 228, 228, 222, 228, 11, 228, 13, 228, 228, - 35, 228, 36, 40, 42, 228, 46, 228, 228, 228, - - 228, 228, 55, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 80, 82, 228, 228, - 228, 91, 94, 228, 99, 228, 228, 228, 228, 228, - 228, 109, 228, 228, 228, 228, 228, 228, 228, 135, - 127, 228, 228, 228, 228, 228, 228, 228, 142, 228, - 139, 228, 228, 228, 228, 228, 228, 158, 228, 157, - 228, 228, 228, 228, 228, 228, 173, 228, 167, 228, - 228, 228, 228, 228, 228, 228, 184, 185, 228, 192, - 228, 197, 228, 199, 228, 228, 228, 200, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - - 223, 7, 228, 228, 228, 44, 48, 228, 228, 228, - 228, 228, 228, 228, 228, 59, 64, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 83, 88, 228, - 228, 228, 228, 92, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 159, 228, 228, 228, 228, 228, - 174, 228, 228, 228, 228, 228, 228, 228, 191, 228, - 196, 228, 228, 228, 228, 187, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 228, 228, - - 228, 228, 228, 228, 53, 228, 228, 228, 228, 228, - 67, 228, 228, 228, 228, 76, 228, 228, 228, 228, - 87, 228, 93, 228, 228, 228, 108, 228, 228, 228, - 228, 228, 112, 228, 120, 228, 228, 136, 131, 228, - 132, 228, 140, 141, 228, 228, 145, 228, 228, 228, - 150, 151, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 176, 228, - 228, 228, 228, 228, 202, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 34, 228, 228, 228, - 228, 228, 228, 228, 57, 228, 228, 228, 228, 228, - - 228, 228, 228, 228, 228, 89, 96, 228, 228, 228, - 228, 228, 111, 110, 228, 228, 124, 228, 220, 228, - 228, 228, 148, 228, 228, 228, 228, 228, 228, 228, - 164, 166, 228, 228, 228, 228, 228, 178, 228, 179, - 198, 194, 228, 228, 228, 204, 207, 228, 228, 228, - 228, 228, 213, 228, 219, 228, 228, 228, 228, 228, - 228, 69, 228, 58, 66, 228, 228, 228, 75, 228, - 228, 228, 228, 103, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 155, 228, 228, 162, - 228, 228, 228, 171, 228, 228, 85, 177, 228, 228, - - 193, 228, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 52, 228, 68, 56, 228, 228, 228, - 228, 228, 81, 228, 228, 228, 228, 228, 228, 228, - 228, 221, 228, 228, 228, 156, 228, 228, 163, 228, - 228, 228, 228, 195, 228, 228, 228, 217, 228, 211, - 228, 32, 228, 228, 228, 49, 228, 228, 228, 228, - 78, 79, 228, 228, 228, 228, 228, 228, 228, 130, - 228, 143, 147, 228, 228, 228, 172, 228, 180, 189, - 228, 209, 228, 228, 228, 228, 228, 228, 228, 228, - 228, 228, 228, 228, 228, 228, 228, 228, 138, 228, - - 228, 228, 228, 228, 212, 228, 228, 228, 228, 63, - 71, 228, 77, 228, 228, 228, 228, 113, 228, 228, - 228, 228, 165, 175, 208, 228, 228, 228, 228, 228, - 228, 104, 228, 228, 228, 228, 228, 160, 228, 228, - 38, 228, 228, 228, 74, 228, 228, 228, 228, 228, - 228, 218, 228, 228, 228, 228, 228, 228, 228, 228, - 161, 228, 51, 228, 114, 115, 116, 117, 228, 50, - 228, 228, 228, 125, 72, 0 + 0, 0, 233, 231, 1, 1, 231, 5, 231, 6, + 231, 231, 231, 231, 231, 226, 21, 2, 231, 16, + 231, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 231, 28, 24, 19, 25, 17, + 26, 18, 0, 228, 3, 4, 20, 227, 226, 0, + 29, 27, 30, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + + 230, 230, 230, 230, 230, 230, 125, 124, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 154, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 207, 208, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 23, 22, 0, 227, 0, 0, 229, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 64, 75, 230, 230, 230, 230, 230, + + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 88, 230, 230, 230, 230, 230, 230, 230, 230, 109, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 135, 230, 230, 230, + 230, 230, 230, 146, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 192, 230, 230, + 230, 184, 230, 230, 230, 230, 230, 230, 190, 230, + 230, 230, 230, 217, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 0, 228, 0, 0, 227, + + 230, 230, 33, 230, 230, 230, 230, 230, 230, 39, + 41, 230, 230, 230, 230, 230, 230, 72, 230, 230, + 56, 230, 230, 230, 230, 230, 230, 230, 62, 230, + 230, 63, 230, 230, 230, 230, 230, 230, 230, 230, + 86, 230, 92, 230, 230, 230, 230, 230, 100, 230, + 102, 230, 230, 104, 230, 230, 108, 230, 230, 230, + 230, 230, 230, 230, 120, 121, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 130, 131, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 172, + + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 203, 185, 230, 230, 230, + 230, 230, 183, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 212, 216, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 10, 15, 9, 8, 230, + 12, 14, 0, 227, 31, 230, 230, 230, 37, 230, + 230, 230, 43, 230, 45, 230, 47, 230, 230, 230, + 230, 230, 230, 230, 230, 67, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 97, 99, 230, 230, 230, 103, 230, 230, + + 107, 230, 230, 230, 230, 230, 230, 230, 230, 123, + 230, 230, 128, 230, 230, 230, 230, 230, 136, 230, + 230, 230, 230, 139, 230, 230, 230, 230, 230, 148, + 230, 151, 230, 230, 230, 155, 230, 156, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 170, + 171, 230, 230, 230, 230, 230, 230, 205, 230, 230, + 230, 188, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 218, 230, + 230, 230, 230, 224, 230, 11, 230, 13, 230, 230, + 35, 230, 36, 40, 42, 230, 46, 230, 230, 230, + + 230, 230, 57, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 82, 84, 230, 230, + 230, 93, 96, 230, 101, 230, 230, 230, 230, 230, + 230, 111, 230, 230, 230, 230, 230, 230, 230, 137, + 129, 230, 230, 230, 230, 230, 230, 230, 144, 230, + 141, 230, 230, 230, 230, 230, 230, 160, 230, 159, + 230, 230, 230, 230, 230, 230, 175, 230, 169, 230, + 230, 230, 230, 230, 230, 230, 186, 187, 230, 194, + 230, 199, 230, 201, 230, 230, 230, 202, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + + 225, 7, 230, 230, 230, 44, 48, 230, 230, 230, + 230, 230, 230, 230, 230, 61, 66, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 85, 90, 230, + 230, 230, 230, 94, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 161, 230, 230, 230, 230, 230, + 176, 230, 230, 230, 230, 230, 230, 230, 193, 230, + 198, 230, 230, 230, 230, 189, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + + 230, 230, 230, 230, 230, 230, 55, 230, 230, 230, + 230, 230, 69, 230, 230, 230, 230, 78, 230, 230, + 230, 230, 89, 230, 95, 230, 230, 230, 110, 230, + 230, 230, 230, 230, 114, 230, 122, 230, 230, 138, + 133, 230, 134, 230, 142, 143, 230, 230, 147, 230, + 230, 230, 152, 153, 230, 230, 230, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 178, 230, 230, 230, 230, 230, 204, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 34, 230, + 230, 230, 230, 230, 230, 230, 230, 230, 59, 230, + + 230, 230, 230, 230, 230, 230, 230, 230, 230, 91, + 98, 230, 230, 230, 230, 230, 113, 112, 230, 230, + 126, 230, 222, 230, 230, 230, 150, 230, 230, 230, + 230, 230, 230, 230, 166, 168, 230, 230, 230, 230, + 230, 180, 230, 181, 200, 196, 230, 230, 230, 206, + 209, 230, 230, 230, 230, 230, 215, 230, 221, 230, + 230, 230, 230, 230, 230, 230, 230, 71, 230, 60, + 68, 230, 230, 230, 77, 230, 230, 230, 230, 105, + 230, 230, 230, 230, 230, 230, 230, 230, 230, 230, + 230, 230, 157, 230, 230, 164, 230, 230, 230, 173, + + 230, 230, 87, 179, 230, 230, 195, 230, 230, 230, + 230, 230, 230, 230, 230, 230, 230, 50, 230, 230, + 230, 54, 230, 70, 58, 230, 230, 230, 230, 230, + 83, 230, 230, 230, 230, 230, 230, 230, 230, 223, + 230, 230, 230, 158, 230, 230, 165, 230, 230, 230, + 230, 197, 230, 230, 230, 219, 230, 213, 230, 32, + 230, 230, 230, 230, 49, 230, 230, 230, 230, 80, + 81, 230, 230, 230, 230, 230, 230, 230, 132, 230, + 145, 149, 230, 230, 230, 174, 230, 182, 191, 230, + 211, 230, 230, 230, 230, 230, 230, 230, 230, 230, + + 230, 230, 230, 230, 230, 230, 230, 230, 140, 230, + 230, 230, 230, 230, 214, 230, 230, 230, 230, 230, + 65, 73, 230, 79, 230, 230, 230, 230, 115, 230, + 230, 230, 230, 167, 177, 210, 230, 230, 230, 230, + 230, 230, 230, 106, 230, 230, 230, 230, 230, 162, + 230, 230, 38, 230, 230, 230, 230, 76, 230, 230, + 230, 230, 230, 230, 220, 53, 230, 230, 230, 230, + 230, 230, 230, 230, 163, 230, 52, 230, 116, 117, + 118, 119, 230, 51, 230, 230, 230, 127, 74, 0 } ; static yyconst flex_int32_t yy_ec[256] = @@ -566,273 +567,279 @@ static yyconst flex_int32_t yy_meta[74] = 2, 2, 1 } ; -static yyconst flex_int16_t yy_base[1178] = +static yyconst flex_int16_t yy_base[1192] = { 0, - 0, 0, 1309, 1310, 1310, 1310, 1287, 1310, 1301, 1310, - 1285, 65, 66, 64, 76, 78, 1310, 1310, 1284, 1283, - 1282, 49, 60, 71, 52, 64, 88, 102, 87, 103, - 0, 1242, 112, 114, 105, 46, 122, 1234, 133, 186, - 173, 122, 1239, 1247, 1225, 1310, 1310, 1310, 1310, 1310, - 1310, 1310, 1286, 195, 1310, 1310, 1310, 202, 245, 182, - 1310, 1310, 1310, 0, 64, 1235, 1247, 1241, 1237, 1242, - 1235, 1242, 1227, 24, 1227, 42, 93, 1231, 1238, 1221, - 208, 1217, 1231, 1218, 1223, 87, 53, 1232, 111, 1228, - 1214, 1227, 158, 1227, 219, 1214, 1213, 1209, 1212, 1230, - - 1204, 1204, 1217, 24, 1205, 1224, 0, 1199, 1203, 1192, - 111, 142, 96, 1231, 1211, 167, 1209, 1218, 1199, 1188, - 1192, 1203, 1203, 1189, 1188, 1180, 0, 179, 147, 1194, - 1201, 1188, 225, 164, 1189, 1210, 1197, 1178, 1182, 1182, - 1185, 1179, 226, 1175, 1174, 1173, 180, 0, 0, 1201, - 1175, 185, 1170, 214, 1185, 1181, 1169, 1174, 1171, 1159, - 1310, 1310, 285, 290, 299, 305, 310, 1163, 1165, 1160, - 1162, 1167, 1174, 303, 1161, 1160, 1161, 1152, 1161, 1166, - 1157, 1154, 1155, 154, 1154, 1147, 1160, 224, 1148, 202, - 1156, 1143, 1135, 1150, 0, 1156, 1139, 1146, 1145, 1148, - - 1147, 1150, 1161, 1127, 1139, 1142, 162, 1132, 1134, 221, - 0, 1127, 1125, 1131, 1136, 1136, 1146, 1124, 1133, 0, - 1133, 1152, 302, 1126, 1128, 1127, 1117, 1116, 1149, 1123, - 1108, 1121, 1118, 1119, 289, 1104, 296, 1117, 1121, 1103, - 1105, 1110, 1097, 0, 1111, 1127, 1112, 1102, 1107, 1110, - 1101, 1091, 1095, 1100, 1093, 1104, 1091, 1099, 1098, 221, - 1092, 1086, 1079, 1093, 1096, 1083, 1090, 0, 1083, 311, - 1071, 1084, 1087, 1076, 1084, 1079, 1078, 1067, 323, 1079, - 1072, 1080, 1102, 1073, 1061, 1060, 1058, 1076, 1075, 1062, - 1069, 1068, 1059, 1051, 309, 318, 367, 376, 381, 386, - - 1051, 1058, 0, 1049, 1054, 1048, 1051, 1055, 1062, 0, - 1094, 1052, 1051, 1054, 1048, 1052, 1052, 0, 1042, 1034, - 0, 1052, 1041, 1034, 1038, 1032, 1039, 292, 0, 1043, - 1056, 0, 1026, 1039, 1030, 1029, 1028, 1021, 1020, 1037, - 0, 1022, 1052, 1021, 1028, 1016, 1023, 1012, 0, 1010, - 0, 1025, 1048, 0, 1022, 1009, 0, 1006, 1024, 1010, - 1002, 1002, 1019, 1039, 0, 0, 1007, 998, 1023, 998, - 996, 996, 993, 1000, 995, 0, 1028, 1042, 992, 989, - 314, 991, 987, 1027, 991, 1006, 986, 981, 997, 980, - 984, 981, 985, 988, 983, 972, 973, 970, 345, 0, - - 976, 970, 973, 982, 967, 966, 963, 977, 976, 974, - 970, 976, 956, 974, 955, 0, 0, 968, 953, 954, - 300, 957, 0, 310, 960, 963, 950, 961, 945, 951, - 962, 957, 973, 0, 0, 973, 983, 964, 933, 945, - 937, 948, 936, 945, 939, 0, 0, 939, 0, 944, - 937, 0, 391, 399, 0, 927, 958, 940, 946, 925, - 929, 928, 0, 927, 0, 922, 0, 937, 928, 935, - 924, 931, 928, 927, 917, 935, 916, 923, 907, 917, - 910, 919, 910, 918, 916, 915, 914, 913, 905, 310, - 910, 898, 0, 0, 910, 895, 908, 0, 888, 899, - - 0, 900, 382, 887, 895, 889, 894, 881, 889, 0, - 911, 883, 0, 882, 891, 880, 896, 879, 0, 894, - 916, 892, 883, 0, 867, 879, 875, 874, 883, 0, - 884, 0, 880, 880, 880, 0, 869, 0, 887, 874, - 862, 869, 875, 858, 870, 873, 860, 854, 866, 0, - 0, 883, 868, 865, 855, 849, 848, 0, 856, 858, - 857, 0, 842, 841, 845, 843, 844, 843, 850, 234, - 852, 846, 849, 832, 836, 844, 829, 842, 0, 858, - 365, 836, 866, 0, 838, 0, 835, 0, 822, 835, - 0, 830, 0, 0, 870, 832, 0, 823, 822, 817, - - 822, 813, 0, 818, 819, 828, 823, 804, 813, 812, - 805, 828, 803, 816, 385, 803, 0, 0, 814, 372, - 809, 0, 0, 808, 0, 811, 806, 813, 799, 212, - 836, 0, 809, 801, 789, 803, 800, 816, 800, 0, - 0, 799, 800, 788, 798, 799, 786, 773, 0, 790, - 0, 802, 790, 396, 775, 784, 791, 0, 776, 0, - 781, 786, 388, 779, 799, 767, 0, 780, 0, 783, - 770, 763, 779, 761, 770, 773, 0, 0, 771, 0, - 767, 0, 771, 0, 768, 772, 761, 0, 776, 765, - 752, 764, 746, 747, 762, 759, 386, 37, 107, 175, - - 0, 0, 181, 209, 245, 0, 0, 396, 286, 285, - 328, 318, 322, 317, 339, 0, 0, 378, 382, 375, - 371, 408, 371, 377, 373, 375, 395, 0, 0, 380, - 391, 398, 402, 0, 386, 386, 393, 422, 419, 414, - 405, 398, 407, 410, 390, 428, 413, 398, 413, 407, - 415, 403, 412, 418, 410, 406, 415, 424, 408, 412, - 427, 420, 424, 457, 0, 433, 422, 416, 433, 434, - 0, 422, 434, 428, 438, 435, 432, 430, 0, 445, - 0, 440, 431, 451, 439, 0, 430, 450, 451, 440, - 440, 448, 442, 450, 445, 460, 448, 476, 460, 461, - - 458, 452, 460, 497, 0, 462, 460, 473, 472, 469, - 0, 462, 468, 468, 475, 0, 472, 474, 470, 469, - 0, 485, 0, 477, 472, 483, 0, 503, 504, 517, - 479, 490, 0, 478, 0, 523, 481, 0, 0, 520, - 0, 497, 0, 0, 486, 487, 0, 486, 493, 498, - 0, 0, 503, 505, 508, 497, 499, 494, 509, 510, - 498, 529, 499, 514, 503, 504, 503, 516, 0, 519, - 502, 517, 524, 539, 0, 518, 519, 522, 523, 519, - 533, 526, 531, 559, 533, 538, 0, 550, 522, 540, - 534, 530, 533, 537, 0, 523, 543, 544, 537, 537, - - 535, 535, 552, 546, 551, 0, 0, 539, 537, 566, - 567, 578, 0, 565, 544, 569, 0, 556, 582, 558, - 559, 560, 0, 567, 554, 568, 562, 585, 568, 571, - 0, 0, 569, 573, 592, 576, 557, 0, 573, 0, - 0, 0, 562, 579, 584, 0, 0, 584, 573, 571, - 585, 571, 0, 577, 0, 573, 578, 589, 576, 582, - 574, 0, 581, 0, 0, 582, 583, 591, 598, 585, - 600, 593, 603, 0, 603, 609, 610, 611, 611, 612, - 630, 604, 603, 598, 605, 605, 0, 615, 624, 0, - 617, 612, 607, 0, 607, 625, 0, 0, 613, 623, - - 0, 617, 610, 618, 608, 638, 629, 622, 628, 618, - 621, 622, 627, 0, 622, 0, 0, 628, 640, 643, - 629, 640, 0, 657, 652, 653, 654, 641, 651, 664, - 650, 0, 648, 651, 646, 0, 655, 639, 0, 661, - 655, 640, 652, 0, 661, 648, 650, 0, 652, 0, - 652, 0, 662, 654, 672, 0, 665, 668, 657, 664, - 0, 0, 677, 699, 700, 701, 662, 672, 695, 0, - 673, 0, 0, 669, 690, 677, 0, 684, 0, 0, - 685, 0, 682, 673, 679, 689, 692, 693, 673, 684, - 680, 681, 708, 709, 710, 699, 700, 706, 0, 688, - - 703, 691, 693, 694, 0, 712, 701, 712, 697, 0, - 728, 701, 0, 711, 726, 727, 728, 0, 734, 730, - 707, 709, 0, 0, 0, 714, 710, 710, 721, 717, - 708, 0, 749, 750, 751, 735, 759, 0, 719, 720, - 0, 731, 727, 759, 0, 753, 754, 755, 734, 764, - 730, 0, 735, 737, 737, 763, 764, 765, 750, 776, - 0, 744, 0, 747, 0, 0, 0, 0, 771, 0, - 755, 781, 744, 0, 0, 1310, 808 + 0, 0, 1323, 1324, 1324, 1324, 1301, 1324, 1315, 1324, + 1299, 65, 66, 64, 76, 78, 1324, 1324, 1298, 1297, + 1296, 49, 60, 71, 52, 64, 88, 102, 87, 103, + 0, 1256, 112, 114, 105, 46, 122, 1248, 133, 186, + 173, 122, 1253, 1261, 1239, 1324, 1324, 1324, 1324, 1324, + 1324, 1324, 1300, 195, 1324, 1324, 1324, 202, 245, 182, + 1324, 1324, 1324, 0, 64, 1249, 1261, 1255, 1251, 1256, + 1249, 1256, 1241, 24, 1241, 42, 93, 1245, 1252, 1235, + 208, 1231, 1245, 1232, 1237, 87, 53, 1246, 111, 1242, + 1228, 1241, 158, 1241, 219, 1228, 1227, 1223, 1226, 1244, + + 1218, 1218, 1231, 24, 1219, 1238, 0, 1213, 1217, 1206, + 111, 142, 96, 1245, 1225, 167, 1223, 1232, 1213, 1202, + 1206, 1217, 1217, 1203, 1202, 1194, 0, 179, 147, 1208, + 1215, 1202, 225, 164, 1203, 1224, 1211, 1192, 1196, 1196, + 1199, 1193, 226, 1189, 1188, 1187, 180, 0, 0, 1215, + 1189, 185, 1184, 214, 1199, 1195, 1183, 1188, 1185, 1173, + 1324, 1324, 285, 290, 299, 305, 310, 1177, 1179, 1174, + 1176, 1181, 1188, 303, 1175, 1174, 1175, 1166, 1175, 1180, + 1171, 1168, 1169, 154, 1168, 1161, 1174, 224, 1162, 202, + 1170, 1157, 1149, 1164, 0, 1170, 1153, 1160, 1159, 1162, + + 1161, 1164, 1175, 1141, 1153, 1156, 162, 1146, 1148, 221, + 0, 1141, 1139, 1145, 1150, 1150, 1160, 1138, 1147, 0, + 1147, 1166, 302, 1140, 1142, 1141, 1131, 1130, 1163, 1137, + 1122, 1135, 1132, 1133, 289, 1118, 296, 1131, 1135, 1117, + 1119, 1124, 1111, 0, 1125, 1141, 1126, 1116, 1121, 1124, + 1115, 1105, 1109, 1114, 1107, 1118, 1105, 1113, 1112, 221, + 1106, 1100, 1093, 1107, 1110, 1097, 1104, 0, 1097, 311, + 1085, 1098, 1101, 1090, 1098, 1093, 1092, 1081, 323, 1093, + 1086, 1094, 1116, 1087, 1075, 1074, 1072, 1090, 1089, 1076, + 1083, 1082, 1073, 1065, 309, 318, 367, 376, 381, 386, + + 1065, 1072, 0, 1063, 1068, 1062, 1065, 1069, 1076, 0, + 1108, 1066, 1065, 1068, 1062, 1066, 1066, 0, 1056, 1048, + 0, 1066, 1055, 1048, 1052, 1046, 1053, 292, 0, 1057, + 1070, 0, 1040, 1053, 1044, 1043, 1042, 1035, 1034, 1051, + 0, 1036, 1066, 1035, 1042, 1030, 1037, 1026, 0, 1024, + 0, 1039, 1062, 0, 1036, 1023, 0, 1020, 1038, 1024, + 1016, 1016, 1033, 1053, 0, 0, 1021, 1012, 1037, 1012, + 1010, 1010, 1007, 1014, 1009, 0, 1042, 1056, 1006, 1003, + 314, 1005, 1001, 1041, 1005, 1020, 1000, 995, 1011, 994, + 998, 995, 999, 1002, 997, 986, 987, 984, 345, 0, + + 990, 984, 987, 996, 981, 980, 977, 991, 990, 988, + 984, 990, 970, 988, 969, 0, 0, 982, 967, 968, + 300, 971, 0, 310, 974, 977, 964, 975, 959, 965, + 976, 971, 987, 0, 0, 987, 997, 978, 947, 959, + 951, 962, 950, 959, 953, 0, 0, 953, 0, 958, + 951, 0, 391, 399, 0, 941, 972, 954, 960, 939, + 943, 942, 0, 941, 0, 936, 0, 951, 942, 949, + 938, 945, 942, 941, 931, 949, 930, 937, 921, 931, + 924, 933, 924, 932, 930, 929, 928, 927, 919, 310, + 924, 912, 0, 0, 924, 909, 922, 0, 902, 913, + + 0, 914, 382, 901, 909, 903, 908, 895, 903, 0, + 925, 897, 0, 896, 905, 894, 910, 893, 0, 908, + 930, 906, 897, 0, 881, 893, 889, 888, 897, 0, + 898, 0, 894, 894, 894, 0, 883, 0, 901, 888, + 876, 883, 889, 872, 884, 887, 874, 868, 880, 0, + 0, 897, 882, 879, 869, 863, 862, 0, 870, 872, + 871, 0, 856, 855, 859, 857, 858, 857, 864, 234, + 866, 860, 863, 846, 850, 858, 843, 856, 0, 872, + 365, 850, 880, 0, 852, 0, 849, 0, 836, 849, + 0, 844, 0, 0, 884, 846, 0, 837, 836, 831, + + 836, 827, 0, 832, 833, 842, 837, 818, 827, 826, + 819, 842, 817, 830, 385, 817, 0, 0, 828, 372, + 823, 0, 0, 822, 0, 825, 820, 827, 813, 212, + 850, 0, 823, 815, 803, 817, 814, 830, 814, 0, + 0, 813, 814, 802, 812, 813, 800, 787, 0, 804, + 0, 816, 804, 396, 789, 798, 805, 0, 790, 0, + 795, 800, 388, 793, 813, 781, 0, 794, 0, 797, + 784, 777, 793, 775, 784, 787, 0, 0, 785, 0, + 781, 0, 785, 0, 782, 786, 775, 0, 790, 779, + 766, 778, 760, 761, 776, 773, 386, 37, 107, 175, + + 0, 0, 181, 209, 245, 0, 0, 404, 286, 285, + 328, 318, 322, 317, 339, 0, 0, 376, 381, 375, + 373, 411, 374, 378, 373, 375, 395, 0, 0, 383, + 394, 401, 404, 0, 388, 388, 395, 424, 421, 416, + 407, 400, 409, 412, 392, 430, 415, 400, 415, 409, + 417, 405, 414, 420, 412, 408, 417, 426, 410, 414, + 429, 422, 426, 459, 0, 435, 424, 418, 435, 436, + 0, 424, 436, 430, 440, 437, 434, 432, 0, 447, + 0, 442, 433, 453, 441, 0, 432, 452, 453, 442, + 442, 450, 444, 452, 447, 462, 450, 478, 462, 463, + + 464, 454, 462, 456, 465, 502, 0, 466, 464, 477, + 476, 473, 0, 466, 472, 472, 479, 0, 476, 478, + 474, 473, 0, 489, 0, 481, 476, 487, 0, 507, + 508, 521, 483, 494, 0, 482, 0, 527, 485, 0, + 0, 524, 0, 501, 0, 0, 490, 491, 0, 490, + 497, 502, 0, 0, 507, 509, 512, 501, 503, 498, + 513, 514, 502, 533, 503, 518, 507, 508, 507, 520, + 0, 523, 506, 521, 528, 543, 0, 522, 523, 526, + 527, 523, 537, 530, 535, 563, 537, 542, 0, 554, + 539, 528, 528, 546, 540, 536, 539, 543, 0, 529, + + 549, 550, 543, 543, 541, 541, 558, 552, 557, 0, + 0, 545, 543, 572, 573, 584, 0, 571, 550, 575, + 0, 562, 588, 564, 565, 566, 0, 573, 560, 574, + 568, 591, 574, 577, 0, 0, 575, 579, 598, 582, + 563, 0, 579, 0, 0, 0, 568, 585, 590, 0, + 0, 590, 579, 577, 591, 577, 0, 583, 0, 579, + 584, 594, 596, 597, 584, 591, 583, 0, 589, 0, + 0, 590, 591, 599, 606, 593, 608, 601, 611, 0, + 611, 617, 618, 619, 619, 620, 638, 612, 611, 606, + 613, 613, 0, 623, 632, 0, 625, 620, 615, 0, + + 615, 633, 0, 0, 621, 631, 0, 625, 618, 626, + 616, 646, 637, 630, 636, 626, 641, 0, 630, 631, + 636, 0, 631, 0, 0, 637, 649, 653, 638, 649, + 0, 666, 661, 662, 663, 650, 660, 673, 659, 0, + 658, 660, 655, 0, 664, 648, 0, 670, 664, 649, + 661, 0, 670, 657, 659, 0, 661, 0, 661, 0, + 671, 664, 664, 682, 0, 675, 678, 667, 674, 0, + 0, 687, 709, 710, 711, 672, 682, 705, 0, 683, + 0, 0, 679, 700, 687, 0, 694, 0, 0, 695, + 0, 692, 683, 689, 699, 700, 703, 704, 684, 695, + + 691, 692, 719, 720, 721, 710, 711, 717, 0, 699, + 714, 702, 705, 705, 0, 723, 712, 713, 724, 709, + 0, 740, 713, 0, 723, 738, 739, 740, 0, 746, + 742, 719, 721, 0, 0, 0, 726, 722, 738, 723, + 734, 730, 721, 0, 762, 763, 764, 748, 772, 0, + 732, 733, 0, 748, 745, 741, 773, 0, 767, 768, + 769, 748, 778, 744, 0, 0, 749, 751, 751, 777, + 778, 779, 764, 790, 0, 758, 0, 761, 0, 0, + 0, 0, 785, 0, 769, 795, 758, 0, 0, 1324, + 822 + } ; -static yyconst flex_int16_t yy_def[1178] = +static yyconst flex_int16_t yy_def[1192] = { 0, - 1176, 1, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1176, 1176, 1176, 1176, 1176, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1176, 1176, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, 1177, - 1177, 1177, 1177, 1177, 1177, 0, 1176 + 1190, 1, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1190, 1190, 1190, 1190, 1190, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1190, 1190, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, + 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 1191, 0, + 1190 + } ; -static yyconst flex_int16_t yy_nxt[1384] = +static yyconst flex_int16_t yy_nxt[1398] = { 0, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 16, 16, 16, 16, 17, 18, 19, @@ -870,28 +877,28 @@ static yyconst flex_int16_t yy_nxt[1384] = 297, 297, 164, 164, 164, 164, 164, 299, 299, 378, 800, 300, 300, 300, 300, 300, 298, 167, 167, 167, 167, 167, 167, 167, 167, 167, 167, 307, 360, 375, - 297, 297, 297, 297, 297, 411, 379, 361, 412, 804, + 297, 297, 297, 297, 297, 411, 379, 361, 412, 806, 376, 298, 362, 308, 309, 363, 413, 424, 414, 478, - 425, 415, 479, 522, 523, 805, 426, 564, 446, 561, - 427, 447, 428, 429, 565, 562, 448, 806, 566, 807, - 449, 808, 450, 451, 620, 621, 452, 809, 430, 297, - 297, 297, 297, 297, 453, 453, 541, 810, 454, 454, + 425, 415, 479, 522, 523, 807, 426, 564, 446, 561, + 427, 447, 428, 429, 565, 562, 448, 808, 566, 809, + 449, 810, 450, 451, 620, 621, 452, 811, 430, 297, + 297, 297, 297, 297, 453, 453, 541, 812, 454, 454, 454, 454, 454, 300, 300, 300, 300, 300, 300, 300, 300, 300, 300, 454, 454, 454, 454, 454, 542, 724, 541, 454, 454, 454, 454, 454, 630, 697, 758, 631, - 725, 766, 698, 729, 793, 726, 801, 730, 811, 812, - 813, 814, 731, 815, 816, 759, 802, 817, 803, 818, - 819, 794, 820, 767, 821, 766, 822, 823, 793, 824, + 725, 766, 698, 729, 793, 726, 813, 730, 814, 801, + 815, 802, 731, 816, 803, 759, 817, 818, 819, 820, + 821, 794, 822, 767, 804, 766, 805, 823, 793, 824, 825, 826, 827, 828, 829, 830, 831, 832, 833, 834, 835, 836, 837, 838, 839, 840, 841, 842, 843, 844, 845, 846, 847, 848, 849, 850, 851, 852, 853, 854, - 858, 859, 855, 860, 861, 862, 863, 864, 865, 866, - 867, 868, 856, 869, 870, 871, 872, 857, 873, 874, + 855, 856, 860, 861, 857, 862, 863, 864, 865, 866, + 867, 868, 869, 870, 858, 871, 872, 873, 874, 859, - 875, 876, 877, 878, 854, 879, 880, 855, 881, 882, - 883, 884, 885, 886, 887, 888, 856, 889, 890, 891, - 892, 857, 893, 894, 895, 896, 897, 898, 899, 900, + 875, 876, 877, 878, 879, 880, 856, 881, 882, 857, + 883, 884, 885, 886, 887, 888, 889, 890, 858, 891, + 892, 893, 894, 859, 895, 896, 897, 898, 899, 900, 901, 902, 903, 904, 905, 906, 907, 908, 909, 910, 911, 912, 913, 914, 915, 916, 917, 918, 919, 920, 921, 922, 923, 924, 925, 926, 927, 928, 929, 930, @@ -904,91 +911,93 @@ static yyconst flex_int16_t yy_nxt[1384] = 981, 982, 983, 984, 985, 986, 987, 988, 989, 990, 991, 992, 993, 994, 995, 996, 997, 998, 999, 1000, 1001, 1002, 1003, 1004, 1005, 1006, 1007, 1008, 1009, 1010, - 1011, 1012, 1013, 1014, 991, 1015, 1016, 1017, 1018, 1019, - 1020, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, + 1011, 1012, 1013, 1014, 1015, 1016, 1017, 1018, 1019, 1020, + 997, 1021, 1022, 1023, 1024, 1025, 1026, 1027, 1028, 1029, 1030, 1031, 1032, 1033, 1034, 1035, 1036, 1037, 1038, 1039, 1040, 1041, 1042, 1043, 1044, 1045, 1046, 1047, 1048, 1049, 1050, 1051, 1052, 1053, 1054, 1055, 1056, 1057, 1058, 1059, - 1060, 1037, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, + 1060, 1061, 1062, 1063, 1064, 1065, 1066, 1067, 1068, 1045, - 1069, 1070, 1071, 1049, 1072, 1073, 1074, 1075, 1076, 1077, - 1078, 1079, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, + 1069, 1070, 1071, 1072, 1073, 1074, 1075, 1076, 1077, 1078, + 1079, 1057, 1080, 1081, 1082, 1083, 1084, 1085, 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, 1105, 1106, 1107, 1108, 1109, 1110, 1111, 1112, 1113, 1114, 1115, 1116, 1117, - 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1101, 1125, 1126, - 1127, 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1135, 1136, + 1118, 1119, 1120, 1121, 1122, 1123, 1124, 1125, 1126, 1127, + 1128, 1129, 1130, 1131, 1132, 1133, 1134, 1111, 1135, 1136, 1137, 1138, 1139, 1140, 1141, 1142, 1143, 1144, 1145, 1146, 1147, 1148, 1149, 1150, 1151, 1152, 1153, 1154, 1155, 1156, 1157, 1158, 1159, 1160, 1161, 1162, 1163, 1164, 1165, 1166, - 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 64, - 792, 791, 790, 789, 788, 787, 786, 785, 784, 783, - 782, 781, 780, 779, 778, 777, 776, 775, 774, 773, - 772, 771, 770, 769, 768, 765, 764, 763, 762, 761, - 760, 757, 756, 755, 754, 753, 752, 751, 750, 749, - 748, 747, 746, 745, 744, 743, 742, 741, 740, 737, - 736, 735, 734, 733, 732, 728, 727, 723, 722, 721, - 720, 719, 718, 717, 716, 715, 714, 713, 712, 711, - 710, 709, 708, 707, 706, 705, 704, 703, 702, 701, - 700, 699, 696, 695, 694, 693, 692, 691, 690, 689, - - 688, 685, 684, 683, 682, 681, 680, 679, 678, 677, - 676, 675, 674, 673, 672, 671, 670, 669, 668, 667, - 666, 665, 664, 663, 662, 661, 660, 659, 658, 657, - 656, 655, 654, 653, 652, 651, 650, 649, 648, 647, - 646, 645, 644, 643, 642, 641, 640, 639, 638, 637, - 636, 635, 634, 633, 632, 629, 628, 627, 626, 625, - 624, 623, 622, 619, 618, 617, 616, 615, 614, 613, - 612, 611, 610, 609, 608, 607, 606, 605, 604, 603, - 602, 601, 600, 599, 598, 597, 596, 595, 594, 593, - 592, 591, 590, 589, 588, 587, 586, 585, 584, 583, - - 582, 581, 580, 579, 578, 577, 576, 575, 574, 573, - 572, 571, 570, 569, 568, 567, 563, 560, 559, 558, - 557, 556, 555, 554, 553, 552, 551, 550, 549, 548, - 547, 546, 545, 544, 543, 540, 539, 538, 537, 536, - 535, 534, 533, 532, 531, 530, 529, 528, 527, 526, - 525, 524, 521, 520, 519, 518, 517, 516, 515, 514, - 513, 512, 511, 510, 509, 508, 507, 506, 505, 504, - 503, 502, 501, 500, 499, 498, 497, 496, 495, 494, - 493, 492, 491, 490, 489, 488, 487, 486, 485, 484, - 483, 482, 481, 480, 477, 476, 475, 474, 473, 472, - - 471, 470, 469, 468, 467, 466, 465, 464, 463, 462, - 461, 460, 459, 458, 457, 456, 455, 445, 444, 443, - 442, 441, 440, 439, 438, 437, 436, 435, 434, 433, - 432, 431, 423, 422, 421, 420, 419, 418, 417, 416, - 410, 409, 408, 407, 406, 405, 404, 403, 400, 399, - 398, 397, 396, 395, 394, 393, 392, 391, 390, 389, - 388, 387, 386, 385, 384, 383, 382, 381, 380, 377, - 374, 373, 372, 371, 370, 369, 368, 367, 366, 365, - 364, 359, 358, 357, 356, 355, 354, 353, 352, 351, - 350, 347, 346, 343, 342, 341, 340, 339, 338, 337, - - 336, 335, 334, 333, 332, 331, 330, 329, 326, 323, - 322, 321, 318, 317, 316, 315, 314, 313, 312, 311, - 310, 306, 305, 304, 303, 302, 301, 295, 294, 293, - 292, 291, 290, 287, 284, 283, 280, 279, 278, 274, - 273, 272, 271, 270, 269, 268, 267, 259, 258, 257, - 252, 251, 250, 249, 248, 247, 246, 245, 244, 243, - 240, 239, 232, 231, 230, 229, 228, 225, 224, 223, - 222, 221, 220, 219, 218, 213, 209, 208, 207, 204, - 198, 197, 196, 195, 187, 186, 185, 180, 177, 176, - 175, 174, 173, 172, 171, 170, 162, 161, 160, 159, - - 131, 109, 63, 62, 61, 48, 47, 46, 1176, 3, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176 + 1167, 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1175, 1176, + 1177, 1178, 1179, 1180, 1181, 1182, 1183, 1184, 1185, 1186, + 1187, 1188, 1189, 64, 792, 791, 790, 789, 788, 787, + 786, 785, 784, 783, 782, 781, 780, 779, 778, 777, + 776, 775, 774, 773, 772, 771, 770, 769, 768, 765, + 764, 763, 762, 761, 760, 757, 756, 755, 754, 753, + 752, 751, 750, 749, 748, 747, 746, 745, 744, 743, + 742, 741, 740, 737, 736, 735, 734, 733, 732, 728, + 727, 723, 722, 721, 720, 719, 718, 717, 716, 715, + 714, 713, 712, 711, 710, 709, 708, 707, 706, 705, + + 704, 703, 702, 701, 700, 699, 696, 695, 694, 693, + 692, 691, 690, 689, 688, 685, 684, 683, 682, 681, + 680, 679, 678, 677, 676, 675, 674, 673, 672, 671, + 670, 669, 668, 667, 666, 665, 664, 663, 662, 661, + 660, 659, 658, 657, 656, 655, 654, 653, 652, 651, + 650, 649, 648, 647, 646, 645, 644, 643, 642, 641, + 640, 639, 638, 637, 636, 635, 634, 633, 632, 629, + 628, 627, 626, 625, 624, 623, 622, 619, 618, 617, + 616, 615, 614, 613, 612, 611, 610, 609, 608, 607, + 606, 605, 604, 603, 602, 601, 600, 599, 598, 597, + + 596, 595, 594, 593, 592, 591, 590, 589, 588, 587, + 586, 585, 584, 583, 582, 581, 580, 579, 578, 577, + 576, 575, 574, 573, 572, 571, 570, 569, 568, 567, + 563, 560, 559, 558, 557, 556, 555, 554, 553, 552, + 551, 550, 549, 548, 547, 546, 545, 544, 543, 540, + 539, 538, 537, 536, 535, 534, 533, 532, 531, 530, + 529, 528, 527, 526, 525, 524, 521, 520, 519, 518, + 517, 516, 515, 514, 513, 512, 511, 510, 509, 508, + 507, 506, 505, 504, 503, 502, 501, 500, 499, 498, + 497, 496, 495, 494, 493, 492, 491, 490, 489, 488, + + 487, 486, 485, 484, 483, 482, 481, 480, 477, 476, + 475, 474, 473, 472, 471, 470, 469, 468, 467, 466, + 465, 464, 463, 462, 461, 460, 459, 458, 457, 456, + 455, 445, 444, 443, 442, 441, 440, 439, 438, 437, + 436, 435, 434, 433, 432, 431, 423, 422, 421, 420, + 419, 418, 417, 416, 410, 409, 408, 407, 406, 405, + 404, 403, 400, 399, 398, 397, 396, 395, 394, 393, + 392, 391, 390, 389, 388, 387, 386, 385, 384, 383, + 382, 381, 380, 377, 374, 373, 372, 371, 370, 369, + 368, 367, 366, 365, 364, 359, 358, 357, 356, 355, + + 354, 353, 352, 351, 350, 347, 346, 343, 342, 341, + 340, 339, 338, 337, 336, 335, 334, 333, 332, 331, + 330, 329, 326, 323, 322, 321, 318, 317, 316, 315, + 314, 313, 312, 311, 310, 306, 305, 304, 303, 302, + 301, 295, 294, 293, 292, 291, 290, 287, 284, 283, + 280, 279, 278, 274, 273, 272, 271, 270, 269, 268, + 267, 259, 258, 257, 252, 251, 250, 249, 248, 247, + 246, 245, 244, 243, 240, 239, 232, 231, 230, 229, + 228, 225, 224, 223, 222, 221, 220, 219, 218, 213, + 209, 208, 207, 204, 198, 197, 196, 195, 187, 186, + + 185, 180, 177, 176, 175, 174, 173, 172, 171, 170, + 162, 161, 160, 159, 131, 109, 63, 62, 61, 48, + 47, 46, 1190, 3, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190 + } ; -static yyconst flex_int16_t yy_chk[1384] = +static yyconst flex_int16_t yy_chk[1398] = { 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, @@ -1036,112 +1045,114 @@ static yyconst flex_int16_t yy_chk[1384] = 300, 300, 300, 453, 453, 453, 453, 453, 399, 615, 399, 454, 454, 454, 454, 454, 503, 581, 654, 503, - 615, 663, 581, 620, 697, 615, 708, 620, 718, 719, - 720, 721, 620, 722, 723, 654, 708, 724, 708, 725, - 726, 697, 727, 663, 730, 663, 731, 732, 697, 733, - 735, 736, 737, 738, 739, 740, 741, 742, 743, 744, - 745, 746, 747, 748, 749, 750, 751, 752, 753, 754, - 755, 756, 757, 758, 759, 760, 761, 762, 763, 764, - 766, 767, 764, 768, 769, 770, 772, 773, 774, 775, - 776, 777, 764, 778, 780, 782, 783, 764, 784, 785, - - 787, 788, 789, 790, 764, 791, 792, 764, 793, 794, - 795, 796, 797, 798, 799, 800, 764, 801, 802, 803, - 804, 764, 806, 807, 808, 809, 810, 812, 813, 814, - 815, 817, 818, 819, 820, 822, 824, 825, 826, 828, - 829, 830, 831, 832, 834, 836, 837, 840, 842, 845, - 846, 848, 849, 850, 853, 854, 855, 856, 857, 858, - 859, 860, 861, 862, 863, 864, 865, 866, 867, 868, - 870, 871, 872, 873, 874, 876, 877, 878, 879, 880, - 881, 882, 883, 884, 885, 886, 888, 889, 890, 891, - 892, 893, 894, 896, 897, 898, 899, 900, 901, 902, - - 903, 904, 905, 908, 909, 910, 911, 912, 914, 915, - 916, 918, 919, 920, 921, 922, 924, 925, 926, 927, - 928, 929, 930, 933, 934, 935, 936, 937, 939, 943, - 944, 945, 948, 949, 950, 951, 952, 954, 956, 957, - 958, 959, 960, 961, 928, 963, 966, 967, 968, 969, - 970, 971, 972, 973, 975, 976, 977, 978, 979, 980, - 981, 982, 983, 984, 985, 986, 988, 989, 991, 992, - 993, 995, 996, 999, 1000, 1002, 1003, 1004, 1005, 1006, - 1007, 1008, 1009, 1010, 1011, 1012, 1013, 1015, 1018, 1019, - 1020, 989, 1021, 1022, 1024, 1025, 1026, 1027, 1028, 1029, - - 1030, 1031, 1033, 1006, 1034, 1035, 1037, 1038, 1040, 1041, - 1042, 1043, 1045, 1046, 1047, 1049, 1051, 1053, 1054, 1055, - 1057, 1058, 1059, 1060, 1063, 1064, 1065, 1066, 1067, 1068, - 1069, 1071, 1074, 1075, 1076, 1078, 1081, 1083, 1084, 1085, - 1086, 1087, 1088, 1089, 1090, 1091, 1092, 1093, 1094, 1095, - 1096, 1097, 1098, 1100, 1101, 1102, 1103, 1075, 1104, 1106, - 1107, 1108, 1109, 1111, 1112, 1114, 1115, 1116, 1117, 1119, - 1120, 1121, 1122, 1126, 1127, 1128, 1129, 1130, 1131, 1133, - 1134, 1135, 1136, 1137, 1139, 1140, 1142, 1143, 1144, 1146, - 1147, 1148, 1149, 1150, 1151, 1153, 1154, 1155, 1156, 1157, - - 1158, 1159, 1160, 1162, 1164, 1169, 1171, 1172, 1173, 1177, - 696, 695, 694, 693, 692, 691, 690, 689, 687, 686, - 685, 683, 681, 679, 676, 675, 674, 673, 672, 671, - 670, 668, 666, 665, 664, 662, 661, 659, 657, 656, - 655, 653, 652, 650, 648, 647, 646, 645, 644, 643, - 642, 639, 638, 637, 636, 635, 634, 633, 631, 629, - 628, 627, 626, 624, 621, 619, 616, 614, 613, 612, - 611, 610, 609, 608, 607, 606, 605, 604, 602, 601, - 600, 599, 598, 596, 595, 592, 590, 589, 587, 585, - 583, 582, 580, 578, 577, 576, 575, 574, 573, 572, - - 571, 569, 568, 567, 566, 565, 564, 563, 561, 560, - 559, 557, 556, 555, 554, 553, 552, 549, 548, 547, - 546, 545, 544, 543, 542, 541, 540, 539, 537, 535, - 534, 533, 531, 529, 528, 527, 526, 525, 523, 522, - 521, 520, 518, 517, 516, 515, 514, 512, 511, 509, - 508, 507, 506, 505, 504, 502, 500, 499, 497, 496, - 495, 492, 491, 489, 488, 487, 486, 485, 484, 483, - 482, 481, 480, 479, 478, 477, 476, 475, 474, 473, - 472, 471, 470, 469, 468, 466, 464, 462, 461, 460, - 459, 458, 457, 456, 451, 450, 448, 445, 444, 443, - - 442, 441, 440, 439, 438, 437, 436, 433, 432, 431, - 430, 429, 428, 427, 426, 425, 422, 420, 419, 418, - 415, 414, 413, 412, 411, 410, 409, 408, 407, 406, - 405, 404, 403, 402, 401, 398, 397, 396, 395, 394, - 393, 392, 391, 390, 389, 388, 387, 386, 385, 384, - 383, 382, 380, 379, 378, 377, 375, 374, 373, 372, - 371, 370, 369, 368, 367, 364, 363, 362, 361, 360, - 359, 358, 356, 355, 353, 352, 350, 348, 347, 346, - 345, 344, 343, 342, 340, 339, 338, 337, 336, 335, - 334, 333, 331, 330, 327, 326, 325, 324, 323, 322, - - 320, 319, 317, 316, 315, 314, 313, 312, 311, 309, - 308, 307, 306, 305, 304, 302, 301, 294, 293, 292, - 291, 290, 289, 288, 287, 286, 285, 284, 283, 282, - 281, 280, 278, 277, 276, 275, 274, 273, 272, 271, - 269, 267, 266, 265, 264, 263, 262, 261, 259, 258, - 257, 256, 255, 254, 253, 252, 251, 250, 249, 248, - 247, 246, 245, 243, 242, 241, 240, 239, 238, 236, - 234, 233, 232, 231, 230, 229, 228, 227, 226, 225, - 224, 222, 221, 219, 218, 217, 216, 215, 214, 213, - 212, 209, 208, 206, 205, 204, 203, 202, 201, 200, - - 199, 198, 197, 196, 194, 193, 192, 191, 189, 187, - 186, 185, 183, 182, 181, 180, 179, 178, 177, 176, - 175, 173, 172, 171, 170, 169, 168, 160, 159, 158, - 157, 156, 155, 153, 151, 150, 146, 145, 144, 142, - 141, 140, 139, 138, 137, 136, 135, 132, 131, 130, - 126, 125, 124, 123, 122, 121, 120, 119, 118, 117, - 115, 114, 110, 109, 108, 106, 105, 103, 102, 101, - 100, 99, 98, 97, 96, 94, 92, 91, 90, 88, - 85, 84, 83, 82, 80, 79, 78, 75, 73, 72, - 71, 70, 69, 68, 67, 66, 53, 45, 44, 43, - - 38, 32, 21, 20, 19, 11, 9, 7, 3, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, 1176, - 1176, 1176, 1176 + 615, 663, 581, 620, 697, 615, 718, 620, 719, 708, + 720, 708, 620, 721, 708, 654, 722, 723, 724, 725, + 726, 697, 727, 663, 708, 663, 708, 730, 697, 731, + 732, 733, 735, 736, 737, 738, 739, 740, 741, 742, + 743, 744, 745, 746, 747, 748, 749, 750, 751, 752, + 753, 754, 755, 756, 757, 758, 759, 760, 761, 762, + 763, 764, 766, 767, 764, 768, 769, 770, 772, 773, + 774, 775, 776, 777, 764, 778, 780, 782, 783, 764, + + 784, 785, 787, 788, 789, 790, 764, 791, 792, 764, + 793, 794, 795, 796, 797, 798, 799, 800, 764, 801, + 802, 803, 804, 764, 805, 806, 808, 809, 810, 811, + 812, 814, 815, 816, 817, 819, 820, 821, 822, 824, + 826, 827, 828, 830, 831, 832, 833, 834, 836, 838, + 839, 842, 844, 847, 848, 850, 851, 852, 855, 856, + 857, 858, 859, 860, 861, 862, 863, 864, 865, 866, + 867, 868, 869, 870, 872, 873, 874, 875, 876, 878, + 879, 880, 881, 882, 883, 884, 885, 886, 887, 888, + 890, 891, 892, 893, 894, 895, 896, 897, 898, 900, + + 901, 902, 903, 904, 905, 906, 907, 908, 909, 912, + 913, 914, 915, 916, 918, 919, 920, 922, 923, 924, + 925, 926, 928, 929, 930, 931, 932, 933, 934, 937, + 938, 939, 940, 941, 943, 947, 948, 949, 952, 953, + 954, 955, 956, 958, 960, 961, 962, 963, 964, 965, + 932, 966, 967, 969, 972, 973, 974, 975, 976, 977, + 978, 979, 981, 982, 983, 984, 985, 986, 987, 988, + 989, 990, 991, 992, 994, 995, 997, 998, 999, 1001, + 1002, 1005, 1006, 1008, 1009, 1010, 1011, 1012, 1013, 1014, + 1015, 1016, 1017, 1019, 1020, 1021, 1023, 1026, 1027, 995, + + 1028, 1029, 1030, 1032, 1033, 1034, 1035, 1036, 1037, 1038, + 1039, 1012, 1041, 1042, 1043, 1045, 1046, 1048, 1049, 1050, + 1051, 1053, 1054, 1055, 1057, 1059, 1061, 1062, 1063, 1064, + 1066, 1067, 1068, 1069, 1072, 1073, 1074, 1075, 1076, 1077, + 1078, 1080, 1083, 1084, 1085, 1087, 1090, 1092, 1093, 1094, + 1095, 1096, 1097, 1098, 1099, 1100, 1101, 1102, 1103, 1104, + 1105, 1106, 1107, 1108, 1110, 1111, 1112, 1084, 1113, 1114, + 1116, 1117, 1118, 1119, 1120, 1122, 1123, 1125, 1126, 1127, + 1128, 1130, 1131, 1132, 1133, 1137, 1138, 1139, 1140, 1141, + 1142, 1143, 1145, 1146, 1147, 1148, 1149, 1151, 1152, 1154, + + 1155, 1156, 1157, 1159, 1160, 1161, 1162, 1163, 1164, 1167, + 1168, 1169, 1170, 1171, 1172, 1173, 1174, 1176, 1178, 1183, + 1185, 1186, 1187, 1191, 696, 695, 694, 693, 692, 691, + 690, 689, 687, 686, 685, 683, 681, 679, 676, 675, + 674, 673, 672, 671, 670, 668, 666, 665, 664, 662, + 661, 659, 657, 656, 655, 653, 652, 650, 648, 647, + 646, 645, 644, 643, 642, 639, 638, 637, 636, 635, + 634, 633, 631, 629, 628, 627, 626, 624, 621, 619, + 616, 614, 613, 612, 611, 610, 609, 608, 607, 606, + 605, 604, 602, 601, 600, 599, 598, 596, 595, 592, + + 590, 589, 587, 585, 583, 582, 580, 578, 577, 576, + 575, 574, 573, 572, 571, 569, 568, 567, 566, 565, + 564, 563, 561, 560, 559, 557, 556, 555, 554, 553, + 552, 549, 548, 547, 546, 545, 544, 543, 542, 541, + 540, 539, 537, 535, 534, 533, 531, 529, 528, 527, + 526, 525, 523, 522, 521, 520, 518, 517, 516, 515, + 514, 512, 511, 509, 508, 507, 506, 505, 504, 502, + 500, 499, 497, 496, 495, 492, 491, 489, 488, 487, + 486, 485, 484, 483, 482, 481, 480, 479, 478, 477, + 476, 475, 474, 473, 472, 471, 470, 469, 468, 466, + + 464, 462, 461, 460, 459, 458, 457, 456, 451, 450, + 448, 445, 444, 443, 442, 441, 440, 439, 438, 437, + 436, 433, 432, 431, 430, 429, 428, 427, 426, 425, + 422, 420, 419, 418, 415, 414, 413, 412, 411, 410, + 409, 408, 407, 406, 405, 404, 403, 402, 401, 398, + 397, 396, 395, 394, 393, 392, 391, 390, 389, 388, + 387, 386, 385, 384, 383, 382, 380, 379, 378, 377, + 375, 374, 373, 372, 371, 370, 369, 368, 367, 364, + 363, 362, 361, 360, 359, 358, 356, 355, 353, 352, + 350, 348, 347, 346, 345, 344, 343, 342, 340, 339, + + 338, 337, 336, 335, 334, 333, 331, 330, 327, 326, + 325, 324, 323, 322, 320, 319, 317, 316, 315, 314, + 313, 312, 311, 309, 308, 307, 306, 305, 304, 302, + 301, 294, 293, 292, 291, 290, 289, 288, 287, 286, + 285, 284, 283, 282, 281, 280, 278, 277, 276, 275, + 274, 273, 272, 271, 269, 267, 266, 265, 264, 263, + 262, 261, 259, 258, 257, 256, 255, 254, 253, 252, + 251, 250, 249, 248, 247, 246, 245, 243, 242, 241, + 240, 239, 238, 236, 234, 233, 232, 231, 230, 229, + 228, 227, 226, 225, 224, 222, 221, 219, 218, 217, + + 216, 215, 214, 213, 212, 209, 208, 206, 205, 204, + 203, 202, 201, 200, 199, 198, 197, 196, 194, 193, + 192, 191, 189, 187, 186, 185, 183, 182, 181, 180, + 179, 178, 177, 176, 175, 173, 172, 171, 170, 169, + 168, 160, 159, 158, 157, 156, 155, 153, 151, 150, + 146, 145, 144, 142, 141, 140, 139, 138, 137, 136, + 135, 132, 131, 130, 126, 125, 124, 123, 122, 121, + 120, 119, 118, 117, 115, 114, 110, 109, 108, 106, + 105, 103, 102, 101, 100, 99, 98, 97, 96, 94, + 92, 91, 90, 88, 85, 84, 83, 82, 80, 79, + + 78, 75, 73, 72, 71, 70, 69, 68, 67, 66, + 53, 45, 44, 43, 38, 32, 21, 20, 19, 11, + 9, 7, 3, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, 1190, + 1190, 1190, 1190, 1190, 1190, 1190, 1190 + } ; static yy_state_type yy_last_accepting_state; @@ -1221,7 +1232,7 @@ void skipline(void); #define YY_NO_UNISTD_H #endif -#line 1225 "Gmsh.yy.cpp" +#line 1236 "Gmsh.yy.cpp" #define INITIAL 0 @@ -1406,7 +1417,7 @@ YY_DECL #line 72 "Gmsh.l" -#line 1410 "Gmsh.yy.cpp" +#line 1421 "Gmsh.yy.cpp" if ( !(yy_init) ) { @@ -1459,13 +1470,13 @@ yy_match: while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1177 ) + if ( yy_current_state >= 1191 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; ++yy_cp; } - while ( yy_base[yy_current_state] != 1310 ); + while ( yy_base[yy_current_state] != 1324 ); yy_find_action: yy_act = yy_accept[yy_current_state]; @@ -1738,900 +1749,910 @@ return tBooleanUnion; case 50: YY_RULE_SETUP #line 125 "Gmsh.l" -return tBooleanIntersection; +return tBooleanUnion; YY_BREAK case 51: YY_RULE_SETUP #line 126 "Gmsh.l" -return tBooleanSubtraction; +return tBooleanIntersection; YY_BREAK case 52: YY_RULE_SETUP #line 127 "Gmsh.l" -return tBoundingBox; +return tBooleanSubtraction; YY_BREAK case 53: YY_RULE_SETUP -#line 129 "Gmsh.l" -return tCatenary; +#line 128 "Gmsh.l" +return tBooleanSubtraction; YY_BREAK case 54: YY_RULE_SETUP -#line 130 "Gmsh.l" -return tCeil; +#line 129 "Gmsh.l" +return tBoundingBox; YY_BREAK case 55: YY_RULE_SETUP #line 131 "Gmsh.l" -return tCircle; +return tCatenary; YY_BREAK case 56: YY_RULE_SETUP #line 132 "Gmsh.l" -return tCopyOptions; +return tCeil; YY_BREAK case 57: YY_RULE_SETUP #line 133 "Gmsh.l" -return tCoherence; +return tCircle; YY_BREAK case 58: YY_RULE_SETUP #line 134 "Gmsh.l" -return tCohomology; +return tCopyOptions; YY_BREAK case 59: YY_RULE_SETUP #line 135 "Gmsh.l" -return tCombine; +return tCoherence; YY_BREAK case 60: YY_RULE_SETUP #line 136 "Gmsh.l" -return tCone; +return tCohomology; YY_BREAK case 61: YY_RULE_SETUP #line 137 "Gmsh.l" -return tCosh; +return tCombine; YY_BREAK case 62: YY_RULE_SETUP #line 138 "Gmsh.l" -return tCos; +return tCone; YY_BREAK case 63: YY_RULE_SETUP #line 139 "Gmsh.l" -return tCharacteristic; +return tCosh; YY_BREAK case 64: YY_RULE_SETUP #line 140 "Gmsh.l" -return tComplex; +return tCos; YY_BREAK case 65: YY_RULE_SETUP #line 141 "Gmsh.l" -return tColor; +return tCharacteristic; YY_BREAK case 66: YY_RULE_SETUP #line 142 "Gmsh.l" -return tColorTable; +return tComplex; YY_BREAK case 67: YY_RULE_SETUP #line 143 "Gmsh.l" -return tCompound; +return tColor; YY_BREAK case 68: YY_RULE_SETUP #line 144 "Gmsh.l" -return tCoordinates; +return tColorTable; YY_BREAK case 69: YY_RULE_SETUP #line 145 "Gmsh.l" -return tSpline; +return tCompound; YY_BREAK case 70: YY_RULE_SETUP #line 146 "Gmsh.l" -return tCall; +return tCoordinates; YY_BREAK case 71: YY_RULE_SETUP #line 147 "Gmsh.l" -return tCreateTopology; +return tSpline; YY_BREAK case 72: YY_RULE_SETUP #line 148 "Gmsh.l" -return tCreateTopologyNoHoles; +return tCall; YY_BREAK case 73: YY_RULE_SETUP #line 149 "Gmsh.l" -return tCpu; +return tCreateTopology; YY_BREAK case 74: YY_RULE_SETUP #line 150 "Gmsh.l" -return tCurrentDirectory; +return tCreateTopologyNoHoles; YY_BREAK case 75: YY_RULE_SETUP #line 151 "Gmsh.l" -return tCurrentDirectory; +return tCpu; YY_BREAK case 76: YY_RULE_SETUP #line 152 "Gmsh.l" -return tCylinder; +return tCurrentDirectory; YY_BREAK case 77: YY_RULE_SETUP -#line 154 "Gmsh.l" -return tDefineConstant; +#line 153 "Gmsh.l" +return tCurrentDirectory; YY_BREAK case 78: YY_RULE_SETUP -#line 155 "Gmsh.l" -return tDefineNumber; +#line 154 "Gmsh.l" +return tCylinder; YY_BREAK case 79: YY_RULE_SETUP #line 156 "Gmsh.l" -return tDefineString; +return tDefineConstant; YY_BREAK case 80: YY_RULE_SETUP #line 157 "Gmsh.l" -return tDelete; +return tDefineNumber; YY_BREAK case 81: YY_RULE_SETUP #line 158 "Gmsh.l" -return tDegenerated; +return tDefineString; YY_BREAK case 82: YY_RULE_SETUP #line 159 "Gmsh.l" -return tDilate; +return tDelete; YY_BREAK case 83: YY_RULE_SETUP #line 160 "Gmsh.l" -return tDirName; +return tDegenerated; YY_BREAK case 84: YY_RULE_SETUP #line 161 "Gmsh.l" -return tDraw; +return tDilate; YY_BREAK case 85: YY_RULE_SETUP #line 162 "Gmsh.l" -return tSetChanged; +return tDirName; YY_BREAK case 86: YY_RULE_SETUP -#line 164 "Gmsh.l" -return tExp; +#line 163 "Gmsh.l" +return tDraw; YY_BREAK case 87: YY_RULE_SETUP -#line 165 "Gmsh.l" -return tEllipse; +#line 164 "Gmsh.l" +return tSetChanged; YY_BREAK case 88: YY_RULE_SETUP #line 166 "Gmsh.l" -return tEllipse; +return tExp; YY_BREAK case 89: YY_RULE_SETUP #line 167 "Gmsh.l" -return tEllipsoid; +return tEllipse; YY_BREAK case 90: YY_RULE_SETUP #line 168 "Gmsh.l" -return tElse; +return tEllipse; YY_BREAK case 91: YY_RULE_SETUP #line 169 "Gmsh.l" -return tElseIf; +return tEllipsoid; YY_BREAK case 92: YY_RULE_SETUP #line 170 "Gmsh.l" -return tExtrude; +return tElse; YY_BREAK case 93: YY_RULE_SETUP #line 171 "Gmsh.l" -return tElliptic; +return tElseIf; YY_BREAK case 94: YY_RULE_SETUP #line 172 "Gmsh.l" -return tEndFor; +return tExtrude; YY_BREAK case 95: YY_RULE_SETUP #line 173 "Gmsh.l" -return tEndIf; +return tElliptic; YY_BREAK case 96: YY_RULE_SETUP #line 174 "Gmsh.l" -return tEuclidian; +return tEndFor; YY_BREAK case 97: YY_RULE_SETUP #line 175 "Gmsh.l" -return tError; +return tEndIf; YY_BREAK case 98: YY_RULE_SETUP #line 176 "Gmsh.l" -return tExit; +return tEuclidian; YY_BREAK case 99: YY_RULE_SETUP #line 177 "Gmsh.l" -return tExists; +return tError; YY_BREAK case 100: YY_RULE_SETUP -#line 179 "Gmsh.l" -return tFabs; +#line 178 "Gmsh.l" +return tExit; YY_BREAK case 101: YY_RULE_SETUP -#line 180 "Gmsh.l" -return tField; +#line 179 "Gmsh.l" +return tExists; YY_BREAK case 102: YY_RULE_SETUP #line 181 "Gmsh.l" -return tFind; +return tFabs; YY_BREAK case 103: YY_RULE_SETUP #line 182 "Gmsh.l" -return tFileExists; +return tField; YY_BREAK case 104: YY_RULE_SETUP #line 183 "Gmsh.l" -return tFixRelativePath; +return tFind; YY_BREAK case 105: YY_RULE_SETUP #line 184 "Gmsh.l" -return tFloor; +return tFileExists; YY_BREAK case 106: YY_RULE_SETUP #line 185 "Gmsh.l" -return tFmod; +return tFixRelativePath; YY_BREAK case 107: YY_RULE_SETUP #line 186 "Gmsh.l" -return tFor; +return tFloor; YY_BREAK case 108: YY_RULE_SETUP #line 187 "Gmsh.l" -return tMacro; +return tFmod; YY_BREAK case 109: YY_RULE_SETUP -#line 189 "Gmsh.l" -return tGetEnv; +#line 188 "Gmsh.l" +return tFor; YY_BREAK case 110: YY_RULE_SETUP -#line 190 "Gmsh.l" -return tGetString; +#line 189 "Gmsh.l" +return tMacro; YY_BREAK case 111: YY_RULE_SETUP #line 191 "Gmsh.l" -return tGetNumber; +return tGetEnv; YY_BREAK case 112: YY_RULE_SETUP #line 192 "Gmsh.l" -return tGetValue; +return tGetString; YY_BREAK case 113: YY_RULE_SETUP #line 193 "Gmsh.l" -return tGetStringValue; +return tGetNumber; YY_BREAK case 114: YY_RULE_SETUP #line 194 "Gmsh.l" -return tGMSH_MAJOR_VERSION; +return tGetValue; YY_BREAK case 115: YY_RULE_SETUP #line 195 "Gmsh.l" -return tGMSH_MINOR_VERSION; +return tGetStringValue; YY_BREAK case 116: YY_RULE_SETUP #line 196 "Gmsh.l" -return tGMSH_PATCH_VERSION; +return tGMSH_MAJOR_VERSION; YY_BREAK case 117: YY_RULE_SETUP #line 197 "Gmsh.l" -return tGmshExecutableName; +return tGMSH_MINOR_VERSION; YY_BREAK case 118: YY_RULE_SETUP -#line 199 "Gmsh.l" -return tHide; +#line 198 "Gmsh.l" +return tGMSH_PATCH_VERSION; YY_BREAK case 119: YY_RULE_SETUP -#line 200 "Gmsh.l" -return tHole; +#line 199 "Gmsh.l" +return tGmshExecutableName; YY_BREAK case 120: YY_RULE_SETUP #line 201 "Gmsh.l" -return tHomology; +return tHide; YY_BREAK case 121: YY_RULE_SETUP #line 202 "Gmsh.l" -return tHypot; +return tHole; YY_BREAK case 122: YY_RULE_SETUP -#line 204 "Gmsh.l" -return tIn; +#line 203 "Gmsh.l" +return tHomology; YY_BREAK case 123: YY_RULE_SETUP -#line 205 "Gmsh.l" -return tIf; +#line 204 "Gmsh.l" +return tHypot; YY_BREAK case 124: YY_RULE_SETUP #line 206 "Gmsh.l" -return tIntersect; +return tIn; YY_BREAK case 125: YY_RULE_SETUP #line 207 "Gmsh.l" -return tInterpolationScheme; +return tIf; YY_BREAK case 126: YY_RULE_SETUP -#line 209 "Gmsh.l" -return tNurbsKnots; +#line 208 "Gmsh.l" +return tIntersect; YY_BREAK case 127: YY_RULE_SETUP -#line 211 "Gmsh.l" -return tLength; +#line 209 "Gmsh.l" +return tInterpolationScheme; YY_BREAK case 128: YY_RULE_SETUP -#line 212 "Gmsh.l" -return tLine; +#line 211 "Gmsh.l" +return tNurbsKnots; YY_BREAK case 129: YY_RULE_SETUP #line 213 "Gmsh.l" -return tList; +return tLength; YY_BREAK case 130: YY_RULE_SETUP #line 214 "Gmsh.l" -return tListFromFile; +return tLine; YY_BREAK case 131: YY_RULE_SETUP #line 215 "Gmsh.l" -return tLinSpace; +return tList; YY_BREAK case 132: YY_RULE_SETUP #line 216 "Gmsh.l" -return tLogSpace; +return tListFromFile; YY_BREAK case 133: YY_RULE_SETUP #line 217 "Gmsh.l" -return tLog; +return tLinSpace; YY_BREAK case 134: YY_RULE_SETUP #line 218 "Gmsh.l" -return tLog10; +return tLogSpace; YY_BREAK case 135: YY_RULE_SETUP #line 219 "Gmsh.l" -return tLayers; +return tLog; YY_BREAK case 136: YY_RULE_SETUP #line 220 "Gmsh.l" -return tLevelset; +return tLog10; YY_BREAK case 137: YY_RULE_SETUP -#line 222 "Gmsh.l" -return tMacro; +#line 221 "Gmsh.l" +return tLayers; YY_BREAK case 138: YY_RULE_SETUP -#line 223 "Gmsh.l" -return tMeshAlgorithm; +#line 222 "Gmsh.l" +return tLevelset; YY_BREAK case 139: YY_RULE_SETUP #line 224 "Gmsh.l" -return tModulo; +return tMacro; YY_BREAK case 140: YY_RULE_SETUP #line 225 "Gmsh.l" -return tMPI_Rank; +return tMeshAlgorithm; YY_BREAK case 141: YY_RULE_SETUP #line 226 "Gmsh.l" -return tMPI_Size; +return tModulo; YY_BREAK case 142: YY_RULE_SETUP #line 227 "Gmsh.l" -return tMemory; +return tMPI_Rank; YY_BREAK case 143: YY_RULE_SETUP -#line 229 "Gmsh.l" -return tNameToString; +#line 228 "Gmsh.l" +return tMPI_Size; YY_BREAK case 144: YY_RULE_SETUP -#line 230 "Gmsh.l" -return tNameToString; +#line 229 "Gmsh.l" +return tMemory; YY_BREAK case 145: YY_RULE_SETUP #line 231 "Gmsh.l" -return tNewModel; +return tNameToString; YY_BREAK case 146: YY_RULE_SETUP #line 232 "Gmsh.l" -return tNurbs; +return tNameToString; YY_BREAK case 147: YY_RULE_SETUP -#line 234 "Gmsh.l" -return tOnelabAction; +#line 233 "Gmsh.l" +return tNewModel; YY_BREAK case 148: YY_RULE_SETUP -#line 235 "Gmsh.l" -return tOnelabRun; +#line 234 "Gmsh.l" +return tNurbs; YY_BREAK case 149: YY_RULE_SETUP #line 236 "Gmsh.l" -return tNurbsOrder; +return tOnelabAction; YY_BREAK case 150: YY_RULE_SETUP -#line 238 "Gmsh.l" -return tPeriodic; +#line 237 "Gmsh.l" +return tOnelabRun; YY_BREAK case 151: YY_RULE_SETUP -#line 239 "Gmsh.l" -return tPhysical; +#line 238 "Gmsh.l" +return tNurbsOrder; YY_BREAK case 152: YY_RULE_SETUP #line 240 "Gmsh.l" -return tPi; +return tPeriodic; YY_BREAK case 153: YY_RULE_SETUP #line 241 "Gmsh.l" -return tPlane; +return tPhysical; YY_BREAK case 154: YY_RULE_SETUP #line 242 "Gmsh.l" -return tPoint; +return tPi; YY_BREAK case 155: YY_RULE_SETUP #line 243 "Gmsh.l" -return tParametric; +return tPlane; YY_BREAK case 156: YY_RULE_SETUP #line 244 "Gmsh.l" -return tPolarSphere; +return tPoint; YY_BREAK case 157: YY_RULE_SETUP #line 245 "Gmsh.l" -return tPrintf; +return tParametric; YY_BREAK case 158: YY_RULE_SETUP #line 246 "Gmsh.l" -return tPlugin; +return tPolarSphere; YY_BREAK case 159: YY_RULE_SETUP -#line 248 "Gmsh.l" -return tQuadric; +#line 247 "Gmsh.l" +return tPrintf; YY_BREAK case 160: YY_RULE_SETUP -#line 249 "Gmsh.l" -return tQuadTriAddVerts; +#line 248 "Gmsh.l" +return tPlugin; YY_BREAK case 161: YY_RULE_SETUP #line 250 "Gmsh.l" -return tQuadTriNoNewVerts; +return tQuadric; YY_BREAK case 162: YY_RULE_SETUP #line 251 "Gmsh.l" -return tQuadTriDbl; +return tQuadTriAddVerts; YY_BREAK case 163: YY_RULE_SETUP #line 252 "Gmsh.l" -return tQuadTriSngl; +return tQuadTriNoNewVerts; YY_BREAK case 164: YY_RULE_SETUP -#line 254 "Gmsh.l" -return tRecombine; +#line 253 "Gmsh.l" +return tQuadTriDbl; YY_BREAK case 165: YY_RULE_SETUP -#line 255 "Gmsh.l" -return tRecombLaterals; +#line 254 "Gmsh.l" +return tQuadTriSngl; YY_BREAK case 166: YY_RULE_SETUP #line 256 "Gmsh.l" -return tRecursive; +return tRecombine; YY_BREAK case 167: YY_RULE_SETUP #line 257 "Gmsh.l" -return tRotate; +return tRecombLaterals; YY_BREAK case 168: YY_RULE_SETUP #line 258 "Gmsh.l" -return tRound; +return tRecursive; YY_BREAK case 169: YY_RULE_SETUP #line 259 "Gmsh.l" -return tRuled; +return tRotate; YY_BREAK case 170: YY_RULE_SETUP #line 260 "Gmsh.l" -return tRand; +return tRound; YY_BREAK case 171: YY_RULE_SETUP #line 261 "Gmsh.l" -return tRefineMesh; +return tRuled; YY_BREAK case 172: YY_RULE_SETUP #line 262 "Gmsh.l" -return tRelocateMesh; +return tRand; YY_BREAK case 173: YY_RULE_SETUP #line 263 "Gmsh.l" -return tReturn; +return tRefineMesh; YY_BREAK case 174: YY_RULE_SETUP #line 264 "Gmsh.l" -return tReverse; +return tRelocateMesh; YY_BREAK case 175: YY_RULE_SETUP -#line 266 "Gmsh.l" -return tScaleLast; +#line 265 "Gmsh.l" +return tReturn; YY_BREAK case 176: YY_RULE_SETUP -#line 267 "Gmsh.l" -return tSmoother; +#line 266 "Gmsh.l" +return tReverse; YY_BREAK case 177: YY_RULE_SETUP #line 268 "Gmsh.l" -return tSetFactory; +return tScaleLast; YY_BREAK case 178: YY_RULE_SETUP #line 269 "Gmsh.l" -return tSetNumber; +return tSmoother; YY_BREAK case 179: YY_RULE_SETUP #line 270 "Gmsh.l" -return tSetString; +return tSetFactory; YY_BREAK case 180: YY_RULE_SETUP #line 271 "Gmsh.l" -return tSetPartition; +return tSetNumber; YY_BREAK case 181: YY_RULE_SETUP #line 272 "Gmsh.l" -return tSqrt; +return tSetString; YY_BREAK case 182: YY_RULE_SETUP #line 273 "Gmsh.l" -return tSin; +return tSetPartition; YY_BREAK case 183: YY_RULE_SETUP #line 274 "Gmsh.l" -return tSinh; +return tSqrt; YY_BREAK case 184: YY_RULE_SETUP #line 275 "Gmsh.l" -return tSphere; +return tSin; YY_BREAK case 185: YY_RULE_SETUP #line 276 "Gmsh.l" -return tSpline; +return tSinh; YY_BREAK case 186: YY_RULE_SETUP #line 277 "Gmsh.l" -return tSplit; +return tSphere; YY_BREAK case 187: YY_RULE_SETUP #line 278 "Gmsh.l" -return tSurface; +return tSpline; YY_BREAK case 188: YY_RULE_SETUP #line 279 "Gmsh.l" -return tStr; +return tSplit; YY_BREAK case 189: YY_RULE_SETUP #line 280 "Gmsh.l" -return tStringToName; +return tSurface; YY_BREAK case 190: YY_RULE_SETUP #line 281 "Gmsh.l" -return tStringToName; +return tStr; YY_BREAK case 191: YY_RULE_SETUP #line 282 "Gmsh.l" -return tSprintf; +return tStringToName; YY_BREAK case 192: YY_RULE_SETUP #line 283 "Gmsh.l" -return tStrCat; +return tStringToName; YY_BREAK case 193: YY_RULE_SETUP #line 284 "Gmsh.l" -return tStrReplace; +return tSprintf; YY_BREAK case 194: YY_RULE_SETUP #line 285 "Gmsh.l" -return tStrPrefix; +return tStrCat; YY_BREAK case 195: YY_RULE_SETUP #line 286 "Gmsh.l" -return tStrRelative; +return tStrReplace; YY_BREAK case 196: YY_RULE_SETUP #line 287 "Gmsh.l" -return tStrFind; +return tStrPrefix; YY_BREAK case 197: YY_RULE_SETUP #line 288 "Gmsh.l" -return tStrCmp; +return tStrRelative; YY_BREAK case 198: YY_RULE_SETUP #line 289 "Gmsh.l" -return tStrChoice; +return tStrFind; YY_BREAK case 199: YY_RULE_SETUP #line 290 "Gmsh.l" -return tStrLen; +return tStrCmp; YY_BREAK case 200: YY_RULE_SETUP #line 291 "Gmsh.l" -return tStrSub; +return tStrChoice; YY_BREAK case 201: YY_RULE_SETUP #line 292 "Gmsh.l" -return tShow; +return tStrLen; YY_BREAK case 202: YY_RULE_SETUP #line 293 "Gmsh.l" -return tSymmetry; +return tStrSub; YY_BREAK case 203: YY_RULE_SETUP #line 294 "Gmsh.l" -return tSlide; +return tShow; YY_BREAK case 204: YY_RULE_SETUP #line 295 "Gmsh.l" -return tSyncModel; +return tSymmetry; YY_BREAK case 205: YY_RULE_SETUP -#line 297 "Gmsh.l" -return tText2D; +#line 296 "Gmsh.l" +return tSlide; YY_BREAK case 206: YY_RULE_SETUP -#line 298 "Gmsh.l" -return tText3D; +#line 297 "Gmsh.l" +return tSyncModel; YY_BREAK case 207: YY_RULE_SETUP #line 299 "Gmsh.l" -return tTestLevel; +return tText2D; YY_BREAK case 208: YY_RULE_SETUP #line 300 "Gmsh.l" -return tTextAttributes; +return tText3D; YY_BREAK case 209: YY_RULE_SETUP #line 301 "Gmsh.l" -return tThruSections; +return tTestLevel; YY_BREAK case 210: YY_RULE_SETUP #line 302 "Gmsh.l" -return tTime; +return tTextAttributes; YY_BREAK case 211: YY_RULE_SETUP #line 303 "Gmsh.l" -return tTransfinite; +return tThruSections; YY_BREAK case 212: YY_RULE_SETUP #line 304 "Gmsh.l" -return tTransfQuadTri; +return tTime; YY_BREAK case 213: YY_RULE_SETUP #line 305 "Gmsh.l" -return tTranslate; +return tTransfinite; YY_BREAK case 214: YY_RULE_SETUP #line 306 "Gmsh.l" -return tTanh; +return tTransfQuadTri; YY_BREAK case 215: YY_RULE_SETUP #line 307 "Gmsh.l" -return tTan; +return tTranslate; YY_BREAK case 216: YY_RULE_SETUP #line 308 "Gmsh.l" -return tToday; +return tTanh; YY_BREAK case 217: YY_RULE_SETUP #line 309 "Gmsh.l" -return tTotalMemory; +return tTan; YY_BREAK case 218: YY_RULE_SETUP -#line 311 "Gmsh.l" -return tUndefineConstant; +#line 310 "Gmsh.l" +return tToday; YY_BREAK case 219: YY_RULE_SETUP -#line 312 "Gmsh.l" -return tUpperCase; +#line 311 "Gmsh.l" +return tTotalMemory; YY_BREAK case 220: YY_RULE_SETUP #line 313 "Gmsh.l" -return tLowerCase; +return tUndefineConstant; YY_BREAK case 221: YY_RULE_SETUP #line 314 "Gmsh.l" -return tLowerCaseIn; +return tUpperCase; YY_BREAK case 222: YY_RULE_SETUP #line 315 "Gmsh.l" -return tUsing; +return tLowerCase; YY_BREAK case 223: YY_RULE_SETUP -#line 317 "Gmsh.l" -return tVolume; +#line 316 "Gmsh.l" +return tLowerCaseIn; YY_BREAK case 224: -#line 320 "Gmsh.l" +YY_RULE_SETUP +#line 317 "Gmsh.l" +return tUsing; + YY_BREAK case 225: -#line 321 "Gmsh.l" +YY_RULE_SETUP +#line 319 "Gmsh.l" +return tVolume; + YY_BREAK case 226: #line 322 "Gmsh.l" case 227: +#line 323 "Gmsh.l" +case 228: +#line 324 "Gmsh.l" +case 229: YY_RULE_SETUP -#line 322 "Gmsh.l" +#line 324 "Gmsh.l" { gmsh_yylval.d = atof((char *)gmsh_yytext); return tDOUBLE; } YY_BREAK -case 228: +case 230: YY_RULE_SETUP -#line 324 "Gmsh.l" +#line 326 "Gmsh.l" { gmsh_yylval.c = strsave((char*)gmsh_yytext); return tSTRING; } YY_BREAK -case 229: +case 231: YY_RULE_SETUP -#line 326 "Gmsh.l" +#line 328 "Gmsh.l" return gmsh_yytext[0]; YY_BREAK -case 230: +case 232: YY_RULE_SETUP -#line 328 "Gmsh.l" +#line 330 "Gmsh.l" ECHO; YY_BREAK -#line 2635 "Gmsh.yy.cpp" +#line 2656 "Gmsh.yy.cpp" case YY_STATE_EOF(INITIAL): yyterminate(); @@ -2923,7 +2944,7 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1177 ) + if ( yy_current_state >= 1191 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; @@ -2951,11 +2972,11 @@ static int yy_get_next_buffer (void) while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state ) { yy_current_state = (int) yy_def[yy_current_state]; - if ( yy_current_state >= 1177 ) + if ( yy_current_state >= 1191 ) yy_c = yy_meta[(unsigned int) yy_c]; } yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c]; - yy_is_jam = (yy_current_state == 1176); + yy_is_jam = (yy_current_state == 1190); return yy_is_jam ? 0 : yy_current_state; } @@ -3628,7 +3649,7 @@ void gmsh_yyfree (void * ptr ) #define YYTABLES_NAME "yytables" -#line 328 "Gmsh.l" +#line 330 "Gmsh.l"