Newer
Older
7001
7002
7003
7004
7005
7006
7007
7008
7009
7010
7011
7012
7013
7014
7015
7016
7017
7018
7019
7020
7021
7022
7023
7024
7025
7026
7027
7028
7029
7030
7031
7032
7033
7034
7035
7036
7037
7038
7039
7040
7041
7042
7043
7044
7045
7046
7047
7048
7049
7050
7051
7052
7053
7054
7055
7056
7057
7058
7059
7060
7061
7062
7063
7064
7065
7066
7067
7068
7069
7070
7071
7072
7073
7074
7075
7076
7077
7078
7079
7080
7081
7082
7083
7084
7085
7086
7087
7088
7089
7090
7091
7092
7093
7094
7095
7096
7097
7098
7099
7100
7101
7102
7103
7104
7105
7106
7107
7108
7109
7110
7111
7112
7113
7114
7115
7116
7117
7118
7119
7120
7121
7122
7123
7124
7125
7126
7127
7128
7129
7130
7131
7132
7133
7134
7135
7136
7137
7138
7139
7140
7141
7142
7143
7144
7145
7146
7147
7148
7149
7150
7151
7152
7153
7154
7155
7156
7157
7158
7159
7160
7161
7162
7163
7164
7165
7166
7167
7168
7169
7170
7171
7172
7173
7174
7175
7176
7177
7178
7179
7180
7181
7182
7183
7184
7185
7186
7187
7188
7189
7190
7191
7192
#line 2856 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}
break;
case 257:
#line 2857 "Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}
break;
case 258:
#line 2858 "Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}
break;
case 259:
#line 2859 "Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}
break;
case 260:
#line 2860 "Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}
break;
case 261:
#line 2861 "Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}
break;
case 262:
#line 2862 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;
case 263:
#line 2863 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;
case 264:
#line 2864 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;}
break;
case 265:
#line 2865 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;}
break;
case 266:
#line 2867 "Gmsh.y"
{ (yyval.d) = exp((yyvsp[(3) - (4)].d)); ;}
break;
case 267:
#line 2868 "Gmsh.y"
{ (yyval.d) = log((yyvsp[(3) - (4)].d)); ;}
break;
case 268:
#line 2869 "Gmsh.y"
{ (yyval.d) = log10((yyvsp[(3) - (4)].d)); ;}
break;
case 269:
#line 2870 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (4)].d)); ;}
break;
case 270:
#line 2871 "Gmsh.y"
{ (yyval.d) = sin((yyvsp[(3) - (4)].d)); ;}
break;
case 271:
#line 2872 "Gmsh.y"
{ (yyval.d) = asin((yyvsp[(3) - (4)].d)); ;}
break;
case 272:
#line 2873 "Gmsh.y"
{ (yyval.d) = cos((yyvsp[(3) - (4)].d)); ;}
break;
case 273:
#line 2874 "Gmsh.y"
{ (yyval.d) = acos((yyvsp[(3) - (4)].d)); ;}
break;
case 274:
#line 2875 "Gmsh.y"
{ (yyval.d) = tan((yyvsp[(3) - (4)].d)); ;}
break;
case 275:
#line 2876 "Gmsh.y"
{ (yyval.d) = atan((yyvsp[(3) - (4)].d)); ;}
break;
case 276:
#line 2877 "Gmsh.y"
{ (yyval.d) = atan2((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d));;}
break;
case 277:
#line 2878 "Gmsh.y"
{ (yyval.d) = sinh((yyvsp[(3) - (4)].d)); ;}
break;
case 278:
#line 2879 "Gmsh.y"
{ (yyval.d) = cosh((yyvsp[(3) - (4)].d)); ;}
break;
case 279:
#line 2880 "Gmsh.y"
{ (yyval.d) = tanh((yyvsp[(3) - (4)].d)); ;}
break;
case 280:
#line 2881 "Gmsh.y"
{ (yyval.d) = fabs((yyvsp[(3) - (4)].d)); ;}
break;
case 281:
#line 2882 "Gmsh.y"
{ (yyval.d) = floor((yyvsp[(3) - (4)].d)); ;}
break;
case 282:
#line 2883 "Gmsh.y"
{ (yyval.d) = ceil((yyvsp[(3) - (4)].d)); ;}
break;
case 283:
#line 2884 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;
case 284:
#line 2885 "Gmsh.y"
{ (yyval.d) = fmod((yyvsp[(3) - (6)].d), (yyvsp[(5) - (6)].d)); ;}
break;
case 285:
#line 2886 "Gmsh.y"
{ (yyval.d) = sqrt((yyvsp[(3) - (6)].d)*(yyvsp[(3) - (6)].d)+(yyvsp[(5) - (6)].d)*(yyvsp[(5) - (6)].d)); ;}
break;
case 286:
#line 2887 "Gmsh.y"
{ (yyval.d) = (yyvsp[(3) - (4)].d)*(double)rand()/(double)RAND_MAX; ;}
break;
case 287:
#line 2896 "Gmsh.y"
{ (yyval.d) = (yyvsp[(1) - (1)].d); ;}
break;
case 288:
#line 2897 "Gmsh.y"
{ (yyval.d) = 3.141592653589793; ;}
break;
case 289:
#line 2898 "Gmsh.y"
{ (yyval.d) = ParUtil::Instance()->rank(); ;}
break;
case 290:
#line 2899 "Gmsh.y"
{ (yyval.d) = ParUtil::Instance()->size(); ;}
break;
case 291:
#line 2900 "Gmsh.y"
{ (yyval.d) = Get_GmshMajorVersion(); ;}
break;
case 292:
#line 2901 "Gmsh.y"
{ (yyval.d) = Get_GmshMinorVersion(); ;}
break;
case 293:
#line 2902 "Gmsh.y"
{ (yyval.d) = Get_GmshPatchVersion(); ;}
break;
case 294:
#line 2907 "Gmsh.y"
{
TheSymbol.Name = (yyvsp[(1) - (1)].c);
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;
case 295:
#line 2923 "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) = 0.;
(yyval.d) = *(double*)List_Pointer_Fast(pSymbol->val, 0);
Free((yyvsp[(1) - (5)].c));
;}
break;
case 296:
#line 2938 "Gmsh.y"
{
TheSymbol.Name = (yyvsp[(1) - (4)].c);
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.;
Free((yyvsp[(1) - (4)].c));
;}
break;
case 297:
#line 2958 "Gmsh.y"
{
TheSymbol.Name = (yyvsp[(2) - (4)].c);
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(2) - (4)].c));
(yyval.d) = 0.;
(yyval.d) = List_Nbr(pSymbol->val);
Free((yyvsp[(2) - (4)].c));
;}
break;
case 298:
#line 2972 "Gmsh.y"
{
TheSymbol.Name = (yyvsp[(1) - (2)].c);
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;
case 299:
#line 2985 "Gmsh.y"
{
TheSymbol.Name = (yyvsp[(1) - (5)].c);
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.;
Free((yyvsp[(1) - (5)].c));
;}
break;
case 300:
#line 3008 "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
(yyval.d) = pNumOpt(0, GMSH_GET, 0);
Free((yyvsp[(1) - (3)].c)); Free((yyvsp[(3) - (3)].c));
;}
break;
case 301:
#line 3026 "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
(yyval.d) = pNumOpt((int)(yyvsp[(3) - (6)].d), GMSH_GET, 0);
Free((yyvsp[(1) - (6)].c)); Free((yyvsp[(6) - (6)].c));
;}
break;
case 302:
#line 3044 "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;
case 303:
#line 3062 "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;
case 304:
#line 3080 "Gmsh.y"
{
(yyval.d) = GetValue((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].d));
Free((yyvsp[(3) - (6)].c));
;}
break;
case 305:
{
memcpy((yyval.v), (yyvsp[(1) - (1)].v), 5*sizeof(double));
;}
break;
case 306:
7404
7405
7406
7407
7408
7409
7410
7411
7412
7413
7414
7415
7416
7417
7418
7419
7420
7421
7422
7423
7424
7425
7426
7427
7428
7429
7430
7431
7432
7433
7434
7435
7436
7437
7438
7439
7440
7441
7442
7443
7444
7445
7446
7447
7448
7449
7450
7451
7452
7453
7454
7455
7456
7457
7458
7459
7460
7461
7462
7463
7464
7465
7466
7467
7468
7469
7470
7471
7472
7473
7474
7475
7476
7477
7478
7479
7480
7481
7482
7483
7484
7485
7486
7487
7488
7489
7490
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = -(yyvsp[(2) - (2)].v)[i];
;}
break;
case 307:
#line 3096 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(2) - (2)].v)[i];
;}
break;
case 308:
#line 3100 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] - (yyvsp[(3) - (3)].v)[i];
;}
break;
case 309:
#line 3104 "Gmsh.y"
{
for(int i = 0; i < 5; i++) (yyval.v)[i] = (yyvsp[(1) - (3)].v)[i] + (yyvsp[(3) - (3)].v)[i];
;}
break;
case 310:
#line 3111 "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 311:
#line 3115 "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 312:
#line 3119 "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 313:
#line 3123 "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 314:
#line 3130 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(List_T*));
List_Add((yyval.l), &((yyvsp[(1) - (1)].l)));
;}
break;
case 315:
#line 3135 "Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].l)));
;}
break;
case 316:
#line 3143 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
;}
break;
case 317:
#line 3148 "Gmsh.y"
{
(yyval.l) = (yyvsp[(1) - (1)].l);
;}
break;
case 318:
#line 3152 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
;}
break;
case 319:
#line 3157 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (3)].l);
;}
break;
case 320:
#line 3161 "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);
;}
break;
case 321:
#line 3169 "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;
case 322:
#line 3180 "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);
7533
7534
7535
7536
7537
7538
7539
7540
7541
7542
7543
7544
7545
7546
7547
7548
7549
7550
7551
7552
7553
7554
7555
7556
7557
7558
7559
7560
7561
7562
;}
break;
case 323:
#line 3188 "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;
case 324:
#line 3196 "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;
case 325:
#line 3202 "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;
case 326:
#line 3213 "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));
yymsg(GERROR, "Unknown point '%d'", (int) (yyvsp[(3) - (4)].d));
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);
}
;}
break;
case 327:
#line 3233 "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);
List_Add((yyval.l), &d);
List_Delete((yyvsp[(1) - (1)].l));
;}
break;
case 328:
#line 3243 "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);
List_Add((yyval.l), &d);
List_Delete((yyvsp[(1) - (1)].l));
;}
break;
case 329:
#line 3253 "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);
List_Add((yyval.l), &d);
List_Delete((yyvsp[(1) - (1)].l));
;}
break;
case 330:
#line 3263 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
TheSymbol.Name = (yyvsp[(1) - (3)].c);
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(1) - (3)].c));
List_Add((yyval.l), &d);
List_Add((yyval.l), (double*)List_Pointer_Fast(pSymbol->val, i));
Free((yyvsp[(1) - (3)].c));
;}
break;
case 331:
#line 3280 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
TheSymbol.Name = (yyvsp[(1) - (6)].c);
yymsg(GERROR, "Unknown variable '%s'", (yyvsp[(1) - (6)].c));
List_Add((yyval.l), &d);
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)))
List_Add((yyval.l), pd);
yymsg(GERROR, "Uninitialized variable '%s[%d]'", (yyvsp[(1) - (6)].c), j);
7674
7675
7676
7677
7678
7679
7680
7681
7682
7683
7684
7685
7686
7687
7688
7689
7690
7691
7692
7693
7694
7695
7696
7697
7698
7699
7700
7701
7702
7703
7704
Free((yyvsp[(1) - (6)].c));
List_Delete((yyvsp[(4) - (6)].l));
;}
break;
case 332:
#line 3307 "Gmsh.y"
{
(yyval.l) = List_Create(2, 1, sizeof(double));
List_Add((yyval.l), &((yyvsp[(1) - (1)].d)));
;}
break;
case 333:
#line 3312 "Gmsh.y"
{
(yyval.l) = (yyvsp[(1) - (1)].l);
;}
break;
case 334:
#line 3316 "Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].d)));
;}
break;
case 335:
#line 3320 "Gmsh.y"
{
for(int i = 0; i < List_Nbr((yyvsp[(3) - (3)].l)); i++){
7706
7707
7708
7709
7710
7711
7712
7713
7714
7715
7716
7717
7718
7719
7720
7721
7722
7723
7724
7725
7726
7727
7728
7729
List_Read((yyvsp[(3) - (3)].l), i, &d);
List_Add((yyval.l), &d);
}
List_Delete((yyvsp[(3) - (3)].l));
;}
break;
case 336:
#line 3333 "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;
case 337:
#line 3337 "Gmsh.y"
{
(yyval.u) = CTX.PACK_COLOR((int)(yyvsp[(2) - (7)].d), (int)(yyvsp[(4) - (7)].d), (int)(yyvsp[(6) - (7)].d), 255);
;}
break;
case 338:
#line 3349 "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;
case 339:
#line 3356 "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;
(yyval.u) = pColOpt(0, GMSH_GET, 0);
Free((yyvsp[(1) - (5)].c)); Free((yyvsp[(5) - (5)].c));
;}
break;
case 340:
#line 3378 "Gmsh.y"
{
(yyval.l) = (yyvsp[(2) - (3)].l);
;}
break;
case 341:
#line 3382 "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));
List_Add((yyval.l), &ct->table[i]);
7777
7778
7779
7780
7781
7782
7783
7784
7785
7786
7787
7788
7789
7790
7791
7792
7793
7794
7795
7796
7797
7798
7799
7800
7801
7802
7803
7804
7805
Free((yyvsp[(1) - (6)].c));
;}
break;
case 342:
#line 3397 "Gmsh.y"
{
(yyval.l) = List_Create(256, 10, sizeof(unsigned int));
List_Add((yyval.l), &((yyvsp[(1) - (1)].u)));
;}
break;
case 343:
#line 3402 "Gmsh.y"
{
List_Add((yyval.l), &((yyvsp[(3) - (3)].u)));
;}
break;
case 344:
#line 3409 "Gmsh.y"
{
(yyval.c) = (yyvsp[(1) - (1)].c);
;}
break;
case 345:
#line 3413 "Gmsh.y"
{
;}
break;
case 346:
#line 3420 "Gmsh.y"
{
(yyval.c) = (yyvsp[(1) - (1)].c);
;}
break;
case 347:
#line 3424 "Gmsh.y"
{
(yyval.c) = (char *)Malloc(32*sizeof(char));
strcpy((yyval.c), ctime(&now));
(yyval.c)[strlen((yyval.c)) - 1] = '\0';
;}
break;
case 348:
#line 3432 "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;
case 349:
#line 3440 "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;
case 350:
#line 3454 "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));
strcpy((yyval.c), &(yyvsp[(3) - (4)].c)[i+1]);
Free((yyvsp[(3) - (4)].c));
;}
break;
case 351:
#line 3468 "Gmsh.y"
{
(yyval.c) = (yyvsp[(3) - (4)].c);
;}
break;
case 352:
#line 3472 "Gmsh.y"
{
int i = PrintListOfDouble((yyvsp[(3) - (6)].c), (yyvsp[(5) - (6)].l), tmpstring);

Christophe Geuzaine
committed
yymsg(GERROR, "Too few arguments in Sprintf");
(yyval.c) = (yyvsp[(3) - (6)].c);
else if(i > 0){
yymsg(GERROR, "%d extra argument%s in Sprintf", i, (i>1)?"s":"");
(yyval.c) = (yyvsp[(3) - (6)].c);
(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;
case 353:
#line 3491 "Gmsh.y"
{
char* (*pStrOpt)(int num, int action, char *value);
StringXString *pStrCat;
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 = (char *(*) (int, int, 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';
(yyval.c) = (char*)Malloc((strlen(str)+1)*sizeof(char));
strcpy((yyval.c), str);
;}
break;
case 354:
#line 3513 "Gmsh.y"
{
char* (*pStrOpt)(int num, int action, char *value);
StringXString *pStrCat;
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 = (char *(*) (int, int, 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';
char *str = pStrOpt((int)(yyvsp[(5) - (9)].d), GMSH_GET, NULL);
(yyval.c) = (char*)Malloc((strlen(str)+1)*sizeof(char));
strcpy((yyval.c), str);
;}
break;
/* Line 1267 of yacc.c. */
#line 7955 "Gmsh.tab.cpp"
default: break;
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
yystate = yydefgoto[yyn - YYNTOKENS];
goto yynewstate;
/*------------------------------------.
| yyerrlab -- here on detecting error |
`------------------------------------*/
yyerrlab:
/* If not already recovering from an error, report this error. */
if (!yyerrstatus)
{
++yynerrs;
#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);