Newer
Older
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
case 264:

Christophe Geuzaine
committed
#line 2860 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;}

Christophe Geuzaine
committed
case 265:

Christophe Geuzaine
committed
#line 2862 "Gmsh.y"

Christophe Geuzaine
committed
case 266:

Christophe Geuzaine
committed
#line 2863 "Gmsh.y"

Christophe Geuzaine
committed
case 267:

Christophe Geuzaine
committed
#line 2864 "Gmsh.y"

Christophe Geuzaine
committed
case 268:

Christophe Geuzaine
committed
#line 2865 "Gmsh.y"

Christophe Geuzaine
committed
case 269:

Christophe Geuzaine
committed
#line 2866 "Gmsh.y"

Christophe Geuzaine
committed
case 270:

Christophe Geuzaine
committed
#line 2867 "Gmsh.y"

Christophe Geuzaine
committed
case 271:

Christophe Geuzaine
committed
#line 2868 "Gmsh.y"

Christophe Geuzaine
committed
case 272:

Christophe Geuzaine
committed
#line 2869 "Gmsh.y"

Christophe Geuzaine
committed
case 273:

Christophe Geuzaine
committed
#line 2870 "Gmsh.y"

Christophe Geuzaine
committed
case 274:

Christophe Geuzaine
committed
#line 2871 "Gmsh.y"

Christophe Geuzaine
committed
case 275:

Christophe Geuzaine
committed
#line 2872 "Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}

Christophe Geuzaine
committed
case 276:

Christophe Geuzaine
committed
#line 2873 "Gmsh.y"

Christophe Geuzaine
committed
case 277:

Christophe Geuzaine
committed
#line 2874 "Gmsh.y"

Christophe Geuzaine
committed
case 278:

Christophe Geuzaine
committed
#line 2875 "Gmsh.y"

Christophe Geuzaine
committed
case 279:

Christophe Geuzaine
committed
#line 2876 "Gmsh.y"

Christophe Geuzaine
committed
case 280:

Christophe Geuzaine
committed
#line 2877 "Gmsh.y"

Christophe Geuzaine
committed
case 281:

Christophe Geuzaine
committed
#line 2878 "Gmsh.y"

Christophe Geuzaine
committed
case 282:

Christophe Geuzaine
committed
#line 2879 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;

Christophe Geuzaine
committed
case 283:

Christophe Geuzaine
committed
#line 2880 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
case 284:

Christophe Geuzaine
committed
#line 2881 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;}

Christophe Geuzaine
committed
case 285:

Christophe Geuzaine
committed
#line 2882 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;}

Christophe Geuzaine
committed
case 286:

Christophe Geuzaine
committed
#line 2891 "Gmsh.y"

Christophe Geuzaine
committed
case 287:

Christophe Geuzaine
committed
#line 2892 "Gmsh.y"

Christophe Geuzaine
committed
case 288:

Christophe Geuzaine
committed
#line 2893 "Gmsh.y"

Christophe Geuzaine
committed
case 289:

Christophe Geuzaine
committed
#line 2894 "Gmsh.y"

Christophe Geuzaine
committed
case 290:

Christophe Geuzaine
committed
#line 2895 "Gmsh.y"

Christophe Geuzaine
committed
case 291:

Christophe Geuzaine
committed
#line 2896 "Gmsh.y"

Christophe Geuzaine
committed
case 292:

Christophe Geuzaine
committed
#line 2897 "Gmsh.y"

Christophe Geuzaine
committed
case 293:

Christophe Geuzaine
committed
#line 2902 "Gmsh.y"
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(1) - (1)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else
(yyval.d) = *(double*)List_Pointer_Fast(pSymbol->val, 0);
Free((yyvsp[(1) - (1)].c));
;}
break;

Christophe Geuzaine
committed
case 294:

Christophe Geuzaine
committed
#line 2918 "Gmsh.y"
sprintf(tmpstring, "%s_%d", (yyvsp[(1) - (5)].c), (int)(yyvsp[(4) - (5)].d)) ;
Symbol TheSymbol;
TheSymbol.Name = tmpstring;
Symbol *pSymbol;
if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))) {
yymsg(GERROR, "Unknown variable '%s'", tmpstring);
(yyval.d) = *(double*)List_Pointer_Fast(pSymbol->val, 0);
Free((yyvsp[(1) - (5)].c));
;}
break;

Christophe Geuzaine
committed
case 295:

Christophe Geuzaine
committed
#line 2933 "Gmsh.y"
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(1) - (4)].c));
(yyval.d) = 0.;
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)(yyvsp[(3) - (4)].d))))
(yyval.d) = *pd;
yymsg(GERROR, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (4)].c), (int)(yyvsp[(3) - (4)].d));
(yyval.d) = 0.;

Christophe Geuzaine
committed
case 296:

Christophe Geuzaine
committed
#line 2953 "Gmsh.y"
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(2) - (4)].c));
(yyval.d) = 0.;
(yyval.d) = List_Nbr(pSymbol->val);
Free((yyvsp[(2) - (4)].c));
;}
break;

Christophe Geuzaine
committed
case 297:

Christophe Geuzaine
committed
#line 2966 "Gmsh.y"
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(1) - (2)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else
(yyval.d) = (*(double*)List_Pointer_Fast(pSymbol->val, 0) += (yyvsp[(2) - (2)].i));
Free((yyvsp[(1) - (2)].c));
;}
break;

Christophe Geuzaine
committed
case 298:

Christophe Geuzaine
committed
#line 2979 "Gmsh.y"
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(1) - (5)].c));
(yyval.d) = 0.;
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)(yyvsp[(3) - (5)].d))))
(yyval.d) = (*pd += (yyvsp[(5) - (5)].i));
yymsg(GERROR, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (5)].c), (int)(yyvsp[(3) - (5)].d));
(yyval.d) = 0.;

Christophe Geuzaine
committed
case 299:

Christophe Geuzaine
committed
#line 3002 "Gmsh.y"
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory((yyvsp[(1) - (3)].c)))){
yymsg(GERROR, "Unknown numeric option class '%s'", (yyvsp[(1) - (3)].c));
(yyval.d) = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption((yyvsp[(3) - (3)].c), pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s.%s'", (yyvsp[(1) - (3)].c), (yyvsp[(3) - (3)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else
Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c));
;}
break;

Christophe Geuzaine
committed
case 300:

Christophe Geuzaine
committed
#line 3020 "Gmsh.y"
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory((yyvsp[(1) - (6)].c)))){
yymsg(GERROR, "Unknown numeric option class '%s'", (yyvsp[(1) - (6)].c));
(yyval.d) = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption((yyvsp[(6) - (6)].c), pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s[%d].%s'", (yyvsp[(1) - (6)].c), (int)(yyvsp[(3) - (6)].d), (yyvsp[(6) - (6)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else
Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c));
;}
break;

Christophe Geuzaine
committed
case 301:

Christophe Geuzaine
committed
#line 3038 "Gmsh.y"
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory((yyvsp[(1) - (4)].c)))){
yymsg(GERROR, "Unknown numeric option class '%s'", (yyvsp[(1) - (4)].c));
(yyval.d) = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption((yyvsp[(3) - (4)].c), pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s.%s'", (yyvsp[(1) - (4)].c), (yyvsp[(3) - (4)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else
(yyval.d) = pNumOpt(0, GMSH_SET|GMSH_GUI, pNumOpt(0, GMSH_GET, 0)+(yyvsp[(4) - (4)].i));
Free((yyvsp[(1) - (4)].c)); Free((yyvsp[(3) - (4)].c));
;}
break;

Christophe Geuzaine
committed
case 302:

Christophe Geuzaine
committed
#line 3056 "Gmsh.y"
double (*pNumOpt)(int num, int action, double value);
StringXNumber *pNumCat;
if(!(pNumCat = Get_NumberOptionCategory((yyvsp[(1) - (7)].c)))){
yymsg(GERROR, "Unknown numeric option class '%s'", (yyvsp[(1) - (7)].c));
(yyval.d) = 0.;
if(!(pNumOpt = (double (*) (int, int, double))Get_NumberOption((yyvsp[(6) - (7)].c), pNumCat))){
yymsg(GERROR, "Unknown numeric option '%s[%d].%s'", (yyvsp[(1) - (7)].c), (int)(yyvsp[(3) - (7)].d), (yyvsp[(6) - (7)].c));
(yyval.d) = 0.;

Christophe Geuzaine
committed
else
(yyval.d) = pNumOpt((int)(yyvsp[(3) - (7)].d), GMSH_SET|GMSH_GUI, pNumOpt((int)(yyvsp[(3) - (7)].d), GMSH_GET, 0)+(yyvsp[(7) - (7)].i));
Free((yyvsp[(1) - (7)].c)); Free((yyvsp[(6) - (7)].c));
;}
break;

Christophe Geuzaine
committed
case 303:

Christophe Geuzaine
committed
#line 3074 "Gmsh.y"
{
(yyval.d) = GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
Free((yyvsp[(3) - (6)].c));
;}
break;

Christophe Geuzaine
committed
case 304:

Christophe Geuzaine
committed
#line 3082 "Gmsh.y"
{
memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));
;}
break;

Christophe Geuzaine
committed
case 305:

Christophe Geuzaine
committed
#line 3086 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];
;}
break;

Christophe Geuzaine
committed
case 306:

Christophe Geuzaine
committed
#line 3090 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
;}
break;

Christophe Geuzaine
committed
case 307:

Christophe Geuzaine
committed
#line 3094 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];
;}
break;

Christophe Geuzaine
committed
case 308:

Christophe Geuzaine
committed
#line 3098 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];
;}
break;

Christophe Geuzaine
committed
case 309:

Christophe Geuzaine
committed
#line 3105 "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;

Christophe Geuzaine
committed
case 310:

Christophe Geuzaine
committed
#line 3109 "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;

Christophe Geuzaine
committed
case 311:

Christophe Geuzaine
committed
#line 3113 "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;

Christophe Geuzaine
committed
case 312:

Christophe Geuzaine
committed
#line 3117 "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;

Christophe Geuzaine
committed
case 313:

Christophe Geuzaine
committed
#line 3124 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(List_T*));
List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));
;}
break;

Christophe Geuzaine
committed
case 314:

Christophe Geuzaine
committed
#line 3129 "Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].l)));
;}
break;

Christophe Geuzaine
committed
case 315:

Christophe Geuzaine
committed
#line 3137 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
;}
break;

Christophe Geuzaine
committed
case 316:

Christophe Geuzaine
committed
#line 3142 "Gmsh.y"
{
(yyval.l) = (yyvsp[(1) - (1)].l);
;}
break;

Christophe Geuzaine
committed
case 317:

Christophe Geuzaine
committed
#line 3146 "Gmsh.y"
(yyval.l) = List_Create(2, 1, sizeof(double));
;}
break;

Christophe Geuzaine
committed
case 318:

Christophe Geuzaine
committed
#line 3151 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (3)].l);
;}
break;

Christophe Geuzaine
committed
case 319:

Christophe Geuzaine
committed
#line 3155 "Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (4)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);

Christophe Geuzaine
committed
case 320:

Christophe Geuzaine
committed
#line 3163 "Gmsh.y"
{
(yyval.l) = (yyvsp[(4) - (5)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) *= (yyvsp[(1) - (5)].d);
}
;}
break;

Christophe Geuzaine
committed
case 321:

Christophe Geuzaine
committed
#line 3174 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (2)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);

Christophe Geuzaine
committed
case 322:

Christophe Geuzaine
committed
#line 3182 "Gmsh.y"
{
(yyval.l) = (yyvsp[(3) - (3)].l);
for(int i = 0; i < List_Nbr((yyval.l)); i++){
double *pd = (double*)List_Pointer((yyval.l), i);
(*pd) *= (yyvsp[(1) - (3)].d);
}
;}
break;

Christophe Geuzaine
committed
case 323:

Christophe Geuzaine
committed
#line 3190 "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)); ((yyvsp[(1) - (3)].d) < (yyvsp[(3) - (3)].d)) ? (d += 1.) : (d -= 1.))
List_Add((yyval.l), &d);
;}
break;

Christophe Geuzaine
committed
case 324:

Christophe Geuzaine
committed
#line 3196 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
if(!(yyvsp[(5) - (5)].d) || ((yyvsp[(1) - (5)].d) < (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) < 0) || ((yyvsp[(1) - (5)].d) > (yyvsp[(3) - (5)].d) && (yyvsp[(5) - (5)].d) > 0)){
yymsg(GERROR, "Wrong increment in '%g:%g:%g'", (yyvsp[(1) - (5)].d), (yyvsp[(3) - (5)].d), (yyvsp[(5) - (5)].d));
List_Add((yyval.l), &((yyvsp[(1) - (5)].d)));
for(double d = (yyvsp[(1) - (5)].d); ((yyvsp[(5) - (5)].d) > 0) ? (d <= (yyvsp[(3) - (5)].d)) : (d >= (yyvsp[(3) - (5)].d)); d += (yyvsp[(5) - (5)].d))
List_Add((yyval.l), &d);
;}
break;

Christophe Geuzaine
committed
case 325:

Christophe Geuzaine
committed
#line 3207 "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
// always conserved
Vertex *v = FindPoint((int)(yyvsp[(3) - (4)].d));
(yyval.l) = List_Create(3, 1, sizeof(double));
List_Add((yyval.l), &d);
List_Add((yyval.l), &d);
List_Add((yyval.l), &d);
List_Add((yyval.l), &v->Pos.X);
List_Add((yyval.l), &v->Pos.Y);
List_Add((yyval.l), &v->Pos.Z);

Christophe Geuzaine
committed
case 326:

Christophe Geuzaine
committed
#line 3227 "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++){
Shape *s = (Shape*) List_Pointer((yyvsp[(1) - (1)].l), i);

Christophe Geuzaine
committed
case 327:

Christophe Geuzaine
committed
#line 3237 "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++){
Shape *s = (Shape*) List_Pointer((yyvsp[(1) - (1)].l), i);
double d = s->Num;

Christophe Geuzaine
committed
case 328:

Christophe Geuzaine
committed
#line 3247 "Gmsh.y"
List_Add((yyval.l), (double*)List_Pointer_Fast(pSymbol->val, i));

Christophe Geuzaine
committed
case 329:

Christophe Geuzaine
committed
#line 3264 "Gmsh.y"
for(int i = 0; i < List_Nbr((yyvsp[(4) - (6)].l)); i++){
int j = (int)(*(double*)List_Pointer_Fast((yyvsp[(4) - (6)].l), i));
if((pd = (double*)List_Pointer_Test(pSymbol->val, j)))
yymsg(GERROR, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (6)].c), j);
Free((yyvsp[(1) - (6)].c));
List_Delete((yyvsp[(4) - (6)].l));
;}
break;

Christophe Geuzaine
committed
case 330:

Christophe Geuzaine
committed
#line 3291 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
;}
break;

Christophe Geuzaine
committed
case 331:

Christophe Geuzaine
committed
#line 3296 "Gmsh.y"
{
(yyval.l) = (yyvsp[(1) - (1)].l);
;}
break;

Christophe Geuzaine
committed
case 332:

Christophe Geuzaine
committed
#line 3300 "Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].d)));
;}
break;

Christophe Geuzaine
committed
case 333:

Christophe Geuzaine
committed
#line 3304 "Gmsh.y"
List_Read((yyvsp[(3) - (3)].l), i, &d);
List_Add((yyval.l), &d);

Christophe Geuzaine
committed
case 334:

Christophe Geuzaine
committed
#line 3317 "Gmsh.y"
{
(yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (9)].d), (int)(yyvsp[(4) - (9)].d), (int)(yyvsp[(6) - (9)].d), (int)(yyvsp[(8) - (9)].d));
;}
break;

Christophe Geuzaine
committed
case 335:

Christophe Geuzaine
committed
#line 3321 "Gmsh.y"
{
(yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255);
;}
break;

Christophe Geuzaine
committed
case 336:

Christophe Geuzaine
committed
#line 3333 "Gmsh.y"
(yyval.u) = Get_ColorForString(ColorString, -1, (yyvsp[(1) - (1)].c), &flag);
if(flag) yymsg(GERROR, "Unknown color '%s'", (yyvsp[(1) - (1)].c));
Free((yyvsp[(1) - (1)].c));
;}
break;

Christophe Geuzaine
committed
case 337:

Christophe Geuzaine
committed
#line 3340 "Gmsh.y"
unsigned int (*pColOpt)(int num, int action, unsigned int value);
StringXColor *pColCat;
if(!(pColCat = Get_ColorOptionCategory((yyvsp[(1) - (5)].c)))){
yymsg(GERROR, "Unknown color option class '%s'", (yyvsp[(1) - (5)].c));
(yyval.u) = 0;
if(!(pColOpt = (unsigned int (*) (int, int, unsigned int))Get_ColorOption((yyvsp[(5) - (5)].c), pColCat))){
yymsg(GERROR, "Unknown color option '%s.Color.%s'", (yyvsp[(1) - (5)].c), (yyvsp[(5) - (5)].c));
(yyval.u) = 0;
Free((yyvsp[(1) - (5)].c)); Free((yyvsp[(5) - (5)].c));
;}
break;

Christophe Geuzaine
committed
case 338:

Christophe Geuzaine
committed
#line 3361 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (3)].l);
;}
break;

Christophe Geuzaine
committed
case 339:

Christophe Geuzaine
committed
#line 3365 "Gmsh.y"
{
(yyval.l) = List_Create(256, 10, sizeof(unsigned int));
GmshColorTable *ct = Get_ColorTable((int)(yyvsp[(3) - (6)].d));

Christophe Geuzaine
committed
if(!ct)
yymsg(GERROR, "View[%d] does not exist", (int)(yyvsp[(3) - (6)].d));

Christophe Geuzaine
committed
case 340:

Christophe Geuzaine
committed
#line 3380 "Gmsh.y"
{
(yyval.l) = List_Create(256, 10, sizeof(unsigned int));
List_Add((yyval.l), &((yyvsp[(1) - (1)].u)));
;}
break;

Christophe Geuzaine
committed
case 341:

Christophe Geuzaine
committed
#line 3385 "Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].u)));
;}
break;

Christophe Geuzaine
committed
case 342:

Christophe Geuzaine
committed
#line 3392 "Gmsh.y"
{
(yyval.c) = (yyvsp[(1) - (1)].c);
;}
break;

Christophe Geuzaine
committed
case 343:

Christophe Geuzaine
committed
#line 3396 "Gmsh.y"

Christophe Geuzaine
committed
case 344:

Christophe Geuzaine
committed
#line 3403 "Gmsh.y"
{
(yyval.c) = (yyvsp[(1) - (1)].c);
;}
break;

Christophe Geuzaine
committed
case 345:

Christophe Geuzaine
committed
#line 3407 "Gmsh.y"
strcpy((yyval.c), ctime(&now));
(yyval.c)[strlen((yyval.c)) - 1] = '\0';
;}
break;

Christophe Geuzaine
committed
case 346:

Christophe Geuzaine
committed
#line 3415 "Gmsh.y"
{
(yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (6)].c))+strlen((yyvsp[(5) - (6)].c))+1)*sizeof(char));
strcpy((yyval.c), (yyvsp[(3) - (6)].c));
strcat((yyval.c), (yyvsp[(5) - (6)].c));
Free((yyvsp[(3) - (6)].c));
Free((yyvsp[(5) - (6)].c));
;}
break;

Christophe Geuzaine
committed
case 347:

Christophe Geuzaine
committed
#line 3423 "Gmsh.y"
{
(yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char));
for(i = strlen((yyvsp[(3) - (4)].c))-1; i >= 0; i--){
if((yyvsp[(3) - (4)].c)[i] == '.'){
strncpy((yyval.c), (yyvsp[(3) - (4)].c), i);
(yyval.c)[i]='\0';
if(i <= 0) strcpy((yyval.c), (yyvsp[(3) - (4)].c));
Free((yyvsp[(3) - (4)].c));
;}
break;

Christophe Geuzaine
committed
case 348:

Christophe Geuzaine
committed
#line 3437 "Gmsh.y"
{
(yyval.c) = (char *)Malloc((strlen((yyvsp[(3) - (4)].c))+1)*sizeof(char));
for(i = strlen((yyvsp[(3) - (4)].c))-1; i >= 0; i--){
if((yyvsp[(3) - (4)].c)[i] == '/' || (yyvsp[(3) - (4)].c)[i] == '\\')
strcpy((yyval.c), &(yyvsp[(3) - (4)].c)[i+1]);
Free((yyvsp[(3) - (4)].c));
;}
break;

Christophe Geuzaine
committed
case 349:

Christophe Geuzaine
committed
#line 3451 "Gmsh.y"
{
(yyval.c) = (yyvsp[(3) - (4)].c);
;}
break;

Christophe Geuzaine
committed
case 350:

Christophe Geuzaine
committed
#line 3455 "Gmsh.y"
int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring);

Christophe Geuzaine
committed
yymsg(GERROR, "Too few arguments in Sprintf");
else if(i > 0){
yymsg(GERROR, "%d extra argument%s in Sprintf", i, (i>1)?"s":"");
(yyval.c) = (char*)Malloc((strlen(tmpstring)+1)*sizeof(char));
strcpy((yyval.c), tmpstring);
Free((yyvsp[(3) - (6)].c));
}
List_Delete((yyvsp[(5) - (6)].l));
;}
break;

Christophe Geuzaine
committed
case 351:

Christophe Geuzaine
committed
#line 3474 "Gmsh.y"
const char* (*pStrOpt)(int num, int action, const char *value);
if(!(pStrCat = Get_StringOptionCategory((yyvsp[(3) - (6)].c)))){
yymsg(GERROR, "Unknown string option class '%s'", (yyvsp[(3) - (6)].c));
(yyval.c) = (char*)Malloc(sizeof(char));
(yyval.c)[0] = '\0';
if(!(pStrOpt = (const char *(*) (int, int, const char *))
Get_StringOption((yyvsp[(5) - (6)].c), pStrCat))){
yymsg(GERROR, "Unknown string option '%s.%s'", (yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].c));
(yyval.c) = (char*)Malloc(sizeof(char));
(yyval.c)[0] = '\0';
const char *str = pStrOpt(0, GMSH_GET, NULL);
(yyval.c) = (char*)Malloc((strlen(str)+1)*sizeof(char));
strcpy((yyval.c), str);

Christophe Geuzaine
committed
case 352:

Christophe Geuzaine
committed
#line 3497 "Gmsh.y"
const char* (*pStrOpt)(int num, int action, const char *value);
if(!(pStrCat = Get_StringOptionCategory((yyvsp[(3) - (9)].c)))){
yymsg(GERROR, "Unknown string option class '%s'", (yyvsp[(3) - (9)].c));
(yyval.c) = (char*)Malloc(sizeof(char));
(yyval.c)[0] = '\0';
if(!(pStrOpt = (const char *(*) (int, int, const char *))
Get_StringOption((yyvsp[(8) - (9)].c), pStrCat))){
yymsg(GERROR, "Unknown string option '%s[%d].%s'", (yyvsp[(3) - (9)].c), (int)(yyvsp[(5) - (9)].d), (yyvsp[(8) - (9)].c));
(yyval.c) = (char*)Malloc(sizeof(char));
(yyval.c)[0] = '\0';
const char *str = pStrOpt((int)(yyvsp[(5) - (9)].d), GMSH_GET, NULL);
(yyval.c) = (char*)Malloc((strlen(str)+1)*sizeof(char));
strcpy((yyval.c), str);

Christophe Geuzaine
committed
#line 7901 "Gmsh.tab.cpp"
YY_SYMBOL_PRINT ("-> $$ =", yyr1[yyn], &yyval, &yyloc);
YYPOPSTACK (yylen);
yylen = 0;
YY_STACK_PRINT (yyss, yyssp);
*++yyvsp = yyval;
/* Now `shift' the result of the reduction. Determine what state
that goes to, based on the state we popped back to and the rule
number reduced by. */
yyn = yyr1[yyn];
yystate = yypgoto[yyn - YYNTOKENS] + *yyssp;
if (0 <= yystate && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
goto yynewstate;
/*------------------------------------.
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++yynerrs;
7935
7936
7937
7938
7939
7940
7941
7942
7943
7944
7945
7946
7947
7948
7949
7950
7951
7952
7953
7954
7955
#if ! YYERROR_VERBOSE
yyerror (YY_("syntax error"));
#else
{
YYSIZE_T yysize = yysyntax_error (0, yystate, yychar);
if (yymsg_alloc < yysize && yymsg_alloc < YYSTACK_ALLOC_MAXIMUM)
{
YYSIZE_T yyalloc = 2 * yysize;
if (! (yysize <= yyalloc && yyalloc <= YYSTACK_ALLOC_MAXIMUM))
yyalloc = YYSTACK_ALLOC_MAXIMUM;
if (yymsg != yymsgbuf)
YYSTACK_FREE (yymsg);
yymsg = (char *) YYSTACK_ALLOC (yyalloc);
if (yymsg)
yymsg_alloc = yyalloc;
else
{
yymsg = yymsgbuf;
yymsg_alloc = sizeof yymsgbuf;
}
}
if (0 < yysize && yysize <= yymsg_alloc)
{
(void) yysyntax_error (yymsg, yystate, yychar);
yyerror (yymsg);
}
else
{
yyerror (YY_("syntax error"));
if (yysize != 0)
goto yyexhaustedlab;
}
}
#endif
if (yyerrstatus == 3)
{
/* If just tried and failed to reuse look-ahead token after an
error, discard it. */
if (yychar <= YYEOF)
{
/* Return failure if at end of input. */
if (yychar == YYEOF)
YYABORT;
}
else
{
yydestruct ("Error: discarding",
yytoken, &yylval);
yychar = YYEMPTY;
}
/* Else will try to reuse look-ahead token after shifting the error
token. */
goto yyerrlab1;
/*---------------------------------------------------.
| yyerrorlab -- error raised explicitly by YYERROR. |
`---------------------------------------------------*/