Newer
Older
3001
3002
3003
3004
3005
3006
3007
3008
3009
3010
3011
3012
3013
3014
3015
3016
3017
3018
3019
3020
3021
3022
3023
3024
3025
3026
3027
3028
3029
3030
3031
3032
3033
3034
3035
3036
3037
3038
3039
3040
3041
3042
3043
3044
3045
3046
3047
3048
3049
3050
3051
3052
3053
3054
3055
The wasted elements are never initialized. */
yyssp = yyss - 1;
yyvsp = yyvs;
#ifdef YYLSP_NEEDED
yylsp = yyls;
#endif
/* Push a new state, which is found in yystate . */
/* In all cases, when you get here, the value and location stacks
have just been pushed. so pushing a state here evens the stacks. */
yynewstate:
*++yyssp = yystate;
if (yyssp >= yyss + yystacksize - 1)
{
/* Give user a chance to reallocate the stack */
/* Use copies of these so that the &'s don't force the real ones into memory. */
YYSTYPE *yyvs1 = yyvs;
short *yyss1 = yyss;
#ifdef YYLSP_NEEDED
YYLTYPE *yyls1 = yyls;
#endif
/* Get the current used size of the three stacks, in elements. */
int size = yyssp - yyss + 1;
#ifdef yyoverflow
/* Each stack pointer address is followed by the size of
the data in use in that stack, in bytes. */
#ifdef YYLSP_NEEDED
/* This used to be a conditional around just the two extra args,
but that might be undefined if yyoverflow is a macro. */
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yyls1, size * sizeof (*yylsp),
&yystacksize);
#else
yyoverflow("parser stack overflow",
&yyss1, size * sizeof (*yyssp),
&yyvs1, size * sizeof (*yyvsp),
&yystacksize);
#endif
yyss = yyss1; yyvs = yyvs1;
#ifdef YYLSP_NEEDED
yyls = yyls1;
#endif
#else /* no yyoverflow */
/* Extend the stack our own way. */
if (yystacksize >= YYMAXDEPTH)
{
yyerror("parser stack overflow");
if (yyfree_stacks)
{
free (yyss);
free (yyvs);
#ifdef YYLSP_NEEDED
free (yyls);
#endif
}
return 2;
}
yystacksize *= 2;
if (yystacksize > YYMAXDEPTH)
yystacksize = YYMAXDEPTH;
#ifndef YYSTACK_USE_ALLOCA
yyfree_stacks = 1;
#endif
yyss = (short *) YYSTACK_ALLOC (yystacksize * sizeof (*yyssp));
__yy_memcpy ((char *)yyss, (char *)yyss1,
size * (unsigned int) sizeof (*yyssp));
yyvs = (YYSTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yyvsp));
__yy_memcpy ((char *)yyvs, (char *)yyvs1,
size * (unsigned int) sizeof (*yyvsp));
#ifdef YYLSP_NEEDED
yyls = (YYLTYPE *) YYSTACK_ALLOC (yystacksize * sizeof (*yylsp));
__yy_memcpy ((char *)yyls, (char *)yyls1,
size * (unsigned int) sizeof (*yylsp));
3082
3083
3084
3085
3086
3087
3088
3089
3090
3091
3092
3093
3094
3095
3096
3097
3098
3099
3100
3101
3102
3103
3104
3105
3106
3107
3108
3109
3110
3111
3112
3113
3114
3115
3116
3117
3118
3119
3120
3121
3122
3123
3124
3125
3126
3127
3128
3129
3130
3131
3132
3133
3134
3135
3136
3137
3138
3139
3140
3141
3142
3143
3144
3145
3146
3147
3148
3149
3150
3151
3152
3153
3154
3155
3156
3157
3158
3159
3160
3161
3162
3163
3164
3165
3166
3167
3168
3169
3170
3171
3172
3173
3174
3175
3176
3177
3178
3179
3180
3181
3182
3183
3184
3185
3186
3187
3188
3189
3190
3191
3192
3193
3194
3195
3196
3197
3198
3199
3200
3201
3202
3203
3204
3205
3206
3207
3208
3209
3210
3211
3212
3213
3214
3215
3216
3217
3218
3219
3220
3221
3222
3223
3224
3225
3226
3227
3228
3229
3230
3231
3232
3233
3234
3235
3236
3237
3238
3239
3240
3241
#endif
#endif /* no yyoverflow */
yyssp = yyss + size - 1;
yyvsp = yyvs + size - 1;
#ifdef YYLSP_NEEDED
yylsp = yyls + size - 1;
#endif
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Stack size increased to %d\n", yystacksize);
#endif
if (yyssp >= yyss + yystacksize - 1)
YYABORT;
}
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Entering state %d\n", yystate);
#endif
goto yybackup;
yybackup:
/* Do appropriate processing given the current state. */
/* Read a lookahead token if we need one and don't already have one. */
/* yyresume: */
/* First try to decide what to do without reference to lookahead token. */
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yydefault;
/* Not known => get a lookahead token if don't already have one. */
/* yychar is either YYEMPTY or YYEOF
or a valid token in external form. */
if (yychar == YYEMPTY)
{
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Reading a token: ");
#endif
yychar = YYLEX;
}
/* Convert token to internal form (in yychar1) for indexing tables with */
if (yychar <= 0) /* This means end of input. */
{
yychar1 = 0;
yychar = YYEOF; /* Don't call YYLEX any more */
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Now at end of input.\n");
#endif
}
else
{
yychar1 = YYTRANSLATE(yychar);
#if YYDEBUG != 0
if (yydebug)
{
fprintf (stderr, "Next token is %d (%s", yychar, yytname[yychar1]);
/* Give the individual parser a way to print the precise meaning
of a token, for further debugging info. */
#ifdef YYPRINT
YYPRINT (stderr, yychar, yylval);
#endif
fprintf (stderr, ")\n");
}
#endif
}
yyn += yychar1;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != yychar1)
goto yydefault;
yyn = yytable[yyn];
/* yyn is what to do for this token type in this state.
Negative => reduce, -yyn is rule number.
Positive => shift, yyn is new state.
New state is final state => don't bother to shift,
just return success.
0, or most negative number => error. */
if (yyn < 0)
{
if (yyn == YYFLAG)
goto yyerrlab;
yyn = -yyn;
goto yyreduce;
}
else if (yyn == 0)
goto yyerrlab;
if (yyn == YYFINAL)
YYACCEPT;
/* Shift the lookahead token. */
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Shifting token %d (%s), ", yychar, yytname[yychar1]);
#endif
/* Discard the token being shifted unless it is eof. */
if (yychar != YYEOF)
yychar = YYEMPTY;
*++yyvsp = yylval;
#ifdef YYLSP_NEEDED
*++yylsp = yylloc;
#endif
/* count tokens shifted since error; after three, turn off error status. */
if (yyerrstatus) yyerrstatus--;
yystate = yyn;
goto yynewstate;
/* Do the default action for the current state. */
yydefault:
yyn = yydefact[yystate];
if (yyn == 0)
goto yyerrlab;
/* Do a reduction. yyn is the number of a rule to reduce with. */
yyreduce:
yylen = yyr2[yyn];
if (yylen > 0)
yyval = yyvsp[1-yylen]; /* implement default value of the action */
#if YYDEBUG != 0
if (yydebug)
{
int i;
fprintf (stderr, "Reducing via rule %d (line %d), ",
yyn, yyrline[yyn]);
/* Print the symbols being reduced, and their result. */
for (i = yyprhs[yyn]; yyrhs[i] > 0; i++)
fprintf (stderr, "%s ", yytname[yyrhs[i]]);
fprintf (stderr, " -> %s\n", yytname[yyr1[yyn]]);
}
#endif
switch (yyn) {
case 4:
{ yyval.d = yyvsp[0].d; ;
break;}
case 6:
{ yyval.d = -yyvsp[0].d; ;
break;}
case 7:
{
STL_Surf = Create_Surface(1,MSH_SURF_STL);
STL_Surf->STL = new STL_Data;
return 1;
;
break;}
{
STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d,
yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d,
yyvsp[-4].d, yyvsp[-3].d, yyvsp[-2].d);
return 1;
;
break;}
{
Tree_Add(THEM->Surfaces, &STL_Surf);
return 1;
;
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
{
Msg(PARSER_INFO,"Step Iso-10303-21 file format");
Create_Step_Solid_BRep();
;
break;}
{
Msg(PARSER_INFO,"Step Iso-10303-21 file format read");
Resolve_BREP ();
;
break;}
{
;
break;}
{
;
break;}
{
;
break;}
{
Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]);
;
break;}
{
Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1.);
;
break;}
{
Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l,
yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. );
;
break;}
{
Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d);
;
break;}
{
Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1);
;
break;}
{
/* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */
Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,0);
;
break;}
case 29:
{
Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i);
;
break;}
case 30:
{
Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l);
;
break;}
case 31:
{
Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i);
;
break;}
case 32:
{
Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
;
break;}
case 33:
{
;
break;}
case 34:
{
Add_Axis2_Placement3D ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d);
;
break;}
case 35:
{
Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]);
;
break;}
case 36:
{
Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
;
break;}
case 37:
{
Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d);
;
break;}
case 38:
{
Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l);
;
break;}
case 39:
{
;
break;}
case 40:
{
;
break;}
case 41:
{
Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d);
;
break;}
case 42:
{
Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
;
break;}
case 43:
{
Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
;
break;}
case 44:
{
Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d);
;
break;}
case 45:
{
Add_Ellipse((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d);
;
break;}
case 46:
{
;
break;}
case 47:
{
;
break;}
case 48:
{
;
break;}
case 49:
{
;
break;}
case 50:
{
;
break;}
case 51:
break;}
case 52:
{
;
break;}
case 53:
break;}
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
{ return 1; ;
break;}
break;}
break;}
{ return 1; ;
break;}

Christophe Geuzaine
committed
#line 401 "Gmsh.y"
{ return 1; ;
break;}
case 68:
#line 406 "Gmsh.y"

Christophe Geuzaine
committed
Msg(DIRECT, yyvsp[-2].c);

Christophe Geuzaine
committed
case 69:
#line 410 "Gmsh.y"
i = PrintListOfDouble(yyvsp[-4].c,yyvsp[-2].l,tmpstring);
if(i<0)
vyyerror("Too few arguments in Printf");
else if(i>0)
vyyerror("Too many arguments (%d) in Printf", i);
else
Msg(DIRECT, tmpstring);

Christophe Geuzaine
committed
case 70:
#line 428 "Gmsh.y"
{
if(!strcmp(yyvsp[-5].c, "View")) EndView(View, 1, yyname, yyvsp[-4].c);
;
break;}

Christophe Geuzaine
committed
case 71:
#line 432 "Gmsh.y"
{
if(!strcmp(yyvsp[-7].c, "View")) EndView(View, 1, yyname, yyvsp[-6].c);
;
break;}

Christophe Geuzaine
committed
case 72:
#line 439 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 460 "Gmsh.y"
{ List_Add(View->SP, &yyvsp[0].d) ; ;
break;}

Christophe Geuzaine
committed
#line 462 "Gmsh.y"
{ List_Add(View->SP, &yyvsp[0].d) ; ;
break;}
case 89:
#line 467 "Gmsh.y"
List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d);
List_Add(View->SP, &yyvsp[-1].d);
;
break;}

Christophe Geuzaine
committed
case 90:
#line 472 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 479 "Gmsh.y"
{ List_Add(View->VP, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 481 "Gmsh.y"
{ List_Add(View->VP, &yyvsp[0].d) ; ;
break;}
case 93:
#line 486 "Gmsh.y"
List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d);
List_Add(View->VP, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 94:
#line 491 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 498 "Gmsh.y"
{ List_Add(View->TP, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 500 "Gmsh.y"
{ List_Add(View->TP, &yyvsp[0].d) ; ;
break;}
case 97:
#line 505 "Gmsh.y"
List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d);
List_Add(View->TP, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 98:
#line 510 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 517 "Gmsh.y"
{ List_Add(View->SL, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 519 "Gmsh.y"
{ List_Add(View->SL, &yyvsp[0].d) ; ;
break;}
case 101:
#line 525 "Gmsh.y"
List_Add(View->SL, &yyvsp[-11].d); List_Add(View->SL, &yyvsp[-5].d);
List_Add(View->SL, &yyvsp[-9].d); List_Add(View->SL, &yyvsp[-3].d);
List_Add(View->SL, &yyvsp[-7].d); List_Add(View->SL, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 102:
#line 531 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 538 "Gmsh.y"
{ List_Add(View->VL, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 540 "Gmsh.y"
{ List_Add(View->VL, &yyvsp[0].d) ; ;
break;}
case 105:
#line 546 "Gmsh.y"
List_Add(View->VL, &yyvsp[-11].d); List_Add(View->VL, &yyvsp[-5].d);
List_Add(View->VL, &yyvsp[-9].d); List_Add(View->VL, &yyvsp[-3].d);
List_Add(View->VL, &yyvsp[-7].d); List_Add(View->VL, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 106:
#line 552 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 559 "Gmsh.y"
{ List_Add(View->TL, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 561 "Gmsh.y"
{ List_Add(View->TL, &yyvsp[0].d) ; ;
break;}
case 109:
#line 567 "Gmsh.y"
List_Add(View->TL, &yyvsp[-11].d); List_Add(View->TL, &yyvsp[-5].d);
List_Add(View->TL, &yyvsp[-9].d); List_Add(View->TL, &yyvsp[-3].d);
List_Add(View->TL, &yyvsp[-7].d); List_Add(View->TL, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 110:
#line 573 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 580 "Gmsh.y"
{ List_Add(View->ST, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 582 "Gmsh.y"
{ List_Add(View->ST, &yyvsp[0].d) ; ;
break;}
case 113:
#line 589 "Gmsh.y"
List_Add(View->ST, &yyvsp[-17].d); List_Add(View->ST, &yyvsp[-11].d);
List_Add(View->ST, &yyvsp[-5].d);
List_Add(View->ST, &yyvsp[-15].d); List_Add(View->ST, &yyvsp[-9].d);
List_Add(View->ST, &yyvsp[-3].d);
List_Add(View->ST, &yyvsp[-13].d); List_Add(View->ST, &yyvsp[-7].d);
List_Add(View->ST, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 114:
#line 598 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 605 "Gmsh.y"
{ List_Add(View->VT, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 607 "Gmsh.y"
{ List_Add(View->VT, &yyvsp[0].d) ; ;
break;}
case 117:
#line 614 "Gmsh.y"
List_Add(View->VT, &yyvsp[-17].d); List_Add(View->VT, &yyvsp[-11].d);
List_Add(View->VT, &yyvsp[-5].d);
List_Add(View->VT, &yyvsp[-15].d); List_Add(View->VT, &yyvsp[-9].d);
List_Add(View->VT, &yyvsp[-3].d);
List_Add(View->VT, &yyvsp[-13].d); List_Add(View->VT, &yyvsp[-7].d);
List_Add(View->VT, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 118:
#line 623 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 630 "Gmsh.y"
{ List_Add(View->TT, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 632 "Gmsh.y"
{ List_Add(View->TT, &yyvsp[0].d) ; ;
break;}
case 121:
#line 639 "Gmsh.y"
List_Add(View->TT, &yyvsp[-17].d); List_Add(View->TT, &yyvsp[-11].d);
List_Add(View->TT, &yyvsp[-5].d);
List_Add(View->TT, &yyvsp[-15].d); List_Add(View->TT, &yyvsp[-9].d);
List_Add(View->TT, &yyvsp[-3].d);
List_Add(View->TT, &yyvsp[-13].d); List_Add(View->TT, &yyvsp[-7].d);
List_Add(View->TT, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 122:
#line 648 "Gmsh.y"
{
;
break;}

Christophe Geuzaine
committed
#line 655 "Gmsh.y"
{ List_Add(View->SS, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 657 "Gmsh.y"
{ List_Add(View->SS, &yyvsp[0].d) ; ;
break;}
case 125:
#line 665 "Gmsh.y"
List_Add(View->SS, &yyvsp[-23].d); List_Add(View->SS, &yyvsp[-17].d);
List_Add(View->SS, &yyvsp[-11].d); List_Add(View->SS, &yyvsp[-5].d);
List_Add(View->SS, &yyvsp[-21].d); List_Add(View->SS, &yyvsp[-15].d);
List_Add(View->SS, &yyvsp[-9].d); List_Add(View->SS, &yyvsp[-3].d);
List_Add(View->SS, &yyvsp[-19].d); List_Add(View->SS, &yyvsp[-13].d);
List_Add(View->SS, &yyvsp[-7].d); List_Add(View->SS, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 126:
#line 674 "Gmsh.y"

Christophe Geuzaine
committed
#line 681 "Gmsh.y"
{ List_Add(View->VS, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 683 "Gmsh.y"
{ List_Add(View->VS, &yyvsp[0].d) ; ;
break;}
case 129:
#line 691 "Gmsh.y"
List_Add(View->VS, &yyvsp[-23].d); List_Add(View->VS, &yyvsp[-17].d);
List_Add(View->VS, &yyvsp[-11].d); List_Add(View->VS, &yyvsp[-5].d);
List_Add(View->VS, &yyvsp[-21].d); List_Add(View->VS, &yyvsp[-15].d);
List_Add(View->VS, &yyvsp[-9].d); List_Add(View->VS, &yyvsp[-3].d);
List_Add(View->VS, &yyvsp[-19].d); List_Add(View->VS, &yyvsp[-13].d);
List_Add(View->VS, &yyvsp[-7].d); List_Add(View->VS, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 130:
#line 700 "Gmsh.y"

Christophe Geuzaine
committed
#line 707 "Gmsh.y"
{ List_Add(View->TS, &yyvsp[0].d) ; ;

Christophe Geuzaine
committed
#line 709 "Gmsh.y"
{ List_Add(View->TS, &yyvsp[0].d) ; ;
break;}
case 133:
#line 717 "Gmsh.y"
List_Add(View->TS, &yyvsp[-23].d); List_Add(View->TS, &yyvsp[-17].d);
List_Add(View->TS, &yyvsp[-11].d); List_Add(View->TS, &yyvsp[-5].d);
List_Add(View->TS, &yyvsp[-21].d); List_Add(View->TS, &yyvsp[-15].d);
List_Add(View->TS, &yyvsp[-9].d); List_Add(View->TS, &yyvsp[-3].d);
List_Add(View->TS, &yyvsp[-19].d); List_Add(View->TS, &yyvsp[-13].d);
List_Add(View->TS, &yyvsp[-7].d); List_Add(View->TS, &yyvsp[-1].d);

Christophe Geuzaine
committed
case 134:
#line 726 "Gmsh.y"

Christophe Geuzaine
committed
case 135:
#line 733 "Gmsh.y"
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 136:
#line 738 "Gmsh.y"
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 137:
#line 746 "Gmsh.y"
{
List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d);
List_Add(View->T2D, &yyvsp[-1].d);
d = List_Nbr(View->T2C);
List_Add(View->T2D, &d);
;
break;}

Christophe Geuzaine
committed
case 138:
#line 753 "Gmsh.y"
{
View->NbT2++ ;
;
break;}

Christophe Geuzaine
committed
case 139:
#line 760 "Gmsh.y"
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 140:
#line 765 "Gmsh.y"
{
for(i=0; i<(int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]) ;
Free(yyvsp[0].c);
;
break;}

Christophe Geuzaine
committed
case 141:
#line 773 "Gmsh.y"
{
List_Add(View->T3D, &yyvsp[-7].d); List_Add(View->T3D, &yyvsp[-5].d);
List_Add(View->T3D, &yyvsp[-3].d); List_Add(View->T3D, &yyvsp[-1].d);
d = List_Nbr(View->T3C);
List_Add(View->T3D, &d);
;
break;}

Christophe Geuzaine
committed
case 142:
#line 780 "Gmsh.y"
{
View->NbT3++ ;
;
break;}
case 143:

Christophe Geuzaine
committed
{ yyval.i = 0 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 1 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 2 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 3 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
#line 795 "Gmsh.y"
{ yyval.i = 4 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
{ yyval.i = 1 ; ;

Christophe Geuzaine
committed
break;}

Christophe Geuzaine
committed
#line 799 "Gmsh.y"
{ yyval.i = -1 ; ;
break;}
case 150:
#line 806 "Gmsh.y"
{
TheSymbol.Name = yyvsp[-3].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(1,1,sizeof(double));

Christophe Geuzaine
committed
if(!yyvsp[-2].i){
List_Put(TheSymbol.val, 0, &yyvsp[-1].d);
List_Add(Symbol_L, &TheSymbol);
}
else

Christophe Geuzaine
committed
pd = (double*)List_Pointer_Fast(pSymbol->val, 0) ;
switch(yyvsp[-2].i){
case 0 : *pd = yyvsp[-1].d; break ;
case 1 : *pd += yyvsp[-1].d ; break ;
case 2 : *pd -= yyvsp[-1].d ; break ;
case 3 : *pd *= yyvsp[-1].d ; break ;
case 4 :
if(yyvsp[-1].d) *pd /= yyvsp[-1].d ;
else vyyerror("Division by zero in '%s /= %g'", yyvsp[-3].c, yyvsp[-1].d);

Christophe Geuzaine
committed
break;
}
;
break;}

Christophe Geuzaine
committed
case 151:
#line 833 "Gmsh.y"
TheSymbol.Name = yyvsp[-6].c;
if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
TheSymbol.val = List_Create(5,5,sizeof(double));

Christophe Geuzaine
committed
if(!yyvsp[-2].i){
List_Put(TheSymbol.val, (int)yyvsp[-4].d, &yyvsp[-1].d);
List_Add(Symbol_L, &TheSymbol);
}
else