Skip to content
Snippets Groups Projects
Gmsh.tab.cpp 248 KiB
Newer Older
  *++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:
#line 150 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ yyerrok ; return 1; ;
    break;}
case 5:
#line 159 "Gmsh.y"
{
      Msg(PARSER_INFO,"STL File Format");
      STL_Surf = Create_Surface(1,MSH_SURF_STL,1);
      STL_Surf->STL = new STL_Data;
      return 1;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 6:
#line 173 "Gmsh.y"
{
      STL_Surf->STL->Add_Facet( yyvsp[-12].d, yyvsp[-11].d, yyvsp[-10].d,
				yyvsp[-8].d, yyvsp[-7].d, yyvsp[-6].d,
				yyvsp[-4].d, yyvsp[-3].d, yyvsp[-2].d);
      return 1;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 7:
#line 180 "Gmsh.y"
{
      Msg(PARSER_INFO,"STL File Format Read");
      Tree_Add(THEM->Surfaces, &STL_Surf);
      return 1;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 10:
#line 197 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 11:
#line 198 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 12:
#line 199 "Gmsh.y"
#line 204 "Gmsh.y"
{
      Msg(PARSER_INFO,"Step Iso-10303-21 File Format");
      Create_Step_Solid_BRep();
    ;
    break;}
case 14:
#line 209 "Gmsh.y"
{
      Msg(PARSER_INFO,"Step Iso-10303-21 File Format Read");
      Resolve_BREP ();
    ;
    break;}
case 18:
#line 220 "Gmsh.y"
#line 223 "Gmsh.y"
#line 227 "Gmsh.y"
#line 233 "Gmsh.y"
{
        Add_Cartesian_Point((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].v[0],yyvsp[-2].v[1],yyvsp[-2].v[2]);
    ;
    break;}
case 22:
#line 239 "Gmsh.y"
{
       Add_BSpline_Curve_With_Knots ((int)yyvsp[-22].d, yyvsp[-18].c, (int) yyvsp[-16].d, yyvsp[-14].l,	yyvsp[-6].l, yyvsp[-4].l, 0., 1.);
    ;
    break;}
case 23:
#line 246 "Gmsh.y"
{
      Add_BSpline_Surface_With_Knots ((int)yyvsp[-30].d, yyvsp[-26].c, (int) yyvsp[-24].d, (int) yyvsp[-22].d, yyvsp[-20].l, yyvsp[-10].l,
				      yyvsp[-8].l, yyvsp[-6].l, yyvsp[-4].l, 0., 1., 0., 1. );
    ;
    break;}
case 24:
#line 252 "Gmsh.y"
{
      Add_Edge_Curve ((int)yyvsp[-14].d, yyvsp[-10].c , (int)yyvsp[-8].d , (int)yyvsp[-6].d, (int)yyvsp[-4].d);
    ;
    break;}
case 25:
#line 256 "Gmsh.y"
{
      Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,1);
    ;
    break;}
case 26:
#line 260 "Gmsh.y"
{
      /* La je dois voir la norme ! Face_Bound : trou externe a la surface ! */
      Msg(PARSER_INFO,"Found a Face Bound");
      Add_Face_Outer_Bound((int)yyvsp[-10].d,yyvsp[-6].c,(int)yyvsp[-4].d,yyvsp[-2].i,0);
    ;
    break;}
case 27:
#line 267 "Gmsh.y"
{
      Add_Oriented_Edge((int)yyvsp[-14].d,yyvsp[-10].c,(int)yyvsp[-4].d,yyvsp[-2].i);
    ;
    break;}
case 28:
#line 271 "Gmsh.y"
{
      Add_Edge_Loop((int)yyvsp[-8].d,yyvsp[-4].c,yyvsp[-2].l);
    ;
    break;}
case 29:
#line 276 "Gmsh.y"
{
      Add_Advanced_Face((int)yyvsp[-12].d,yyvsp[-8].c,yyvsp[-6].l,(int)yyvsp[-4].d,yyvsp[-2].i);
    ;
    break;}
case 30:
#line 280 "Gmsh.y"
{
      Add_Vertex_Point((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
    ;
    break;}
case 31:
#line 284 "Gmsh.y"
#line 288 "Gmsh.y"
{
      Add_Axis2_Placement3D  ( (int)yyvsp[-12].d, (int)yyvsp[-4].d, (int)yyvsp[-2].d, (int)yyvsp[-6].d);
    ;
    break;}
case 33:
#line 292 "Gmsh.y"
{
      Add_Direction((int)yyvsp[-8].d , yyvsp[-4].c, yyvsp[-2].v[0], yyvsp[-2].v[1], yyvsp[-2].v[2]);
    ;
    break;}
case 34:
#line 296 "Gmsh.y"
{
      Add_Plane((int)yyvsp[-8].d,yyvsp[-4].c,(int)yyvsp[-2].d);
    ;
    break;}
case 35:
#line 300 "Gmsh.y"
{
      Add_Line ((int)yyvsp[-10].d, yyvsp[-6].c , (int) yyvsp[-4].d, (int)yyvsp[-2].d);
    ;
    break;}
case 36:
#line 304 "Gmsh.y"
{
      Msg(PARSER_INFO,"Found a Closed shell");
      Add_Closed_Shell((int)yyvsp[-8].d, yyvsp[-4].c , yyvsp[-2].l);
    ;
    break;}
case 37:
#line 310 "Gmsh.y"
#line 313 "Gmsh.y"
#line 316 "Gmsh.y"
{
      Add_Cylinder ((int)yyvsp[-10].d, yyvsp[-6].c , (int)yyvsp[-4].d, yyvsp[-2].d);
    ;
    break;}
case 40:
#line 320 "Gmsh.y"
{
      Add_Cone ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
    ;
    break;}
case 41:
#line 324 "Gmsh.y"
{
      Add_Torus ((int)yyvsp[-12].d, yyvsp[-8].c , (int)yyvsp[-6].d, yyvsp[-4].d,yyvsp[-2].d);
    ;
    break;}
case 42:
#line 328 "Gmsh.y"
{
      Add_Circle((int) yyvsp[-10].d, yyvsp[-6].c, (int) yyvsp[-4].d, yyvsp[-2].d);
    ;
    break;}
case 43:
#line 332 "Gmsh.y"
{
      Add_Ellipsis((int) yyvsp[-12].d, yyvsp[-8].c, (int) yyvsp[-6].d, yyvsp[-4].d, yyvsp[-2].d);
    ;
    break;}
case 44:
#line 337 "Gmsh.y"
#line 340 "Gmsh.y"
#line 344 "Gmsh.y"
#line 347 "Gmsh.y"
#line 351 "Gmsh.y"
#line 354 "Gmsh.y"
#line 357 "Gmsh.y"
#line 367 "Gmsh.y"
#line 370 "Gmsh.y"
{
      Msg(PARSER_INFO,"Gmsh File Format Read");
    ;
    break;}
case 53:
#line 376 "Gmsh.y"
case 54:
#line 377 "Gmsh.y"
case 55:
#line 378 "Gmsh.y"
case 56:
#line 379 "Gmsh.y"
case 57:
#line 380 "Gmsh.y"
case 58:
#line 381 "Gmsh.y"
case 59:
#line 382 "Gmsh.y"
case 60:
#line 383 "Gmsh.y"
case 61:
#line 384 "Gmsh.y"
case 62:
#line 385 "Gmsh.y"
{ return 1; ;
case 63:
#line 386 "Gmsh.y"
case 64:
#line 387 "Gmsh.y"
case 65:
#line 392 "Gmsh.y"
      fprintf(stderr, yyvsp[-2].c); 
      fprintf(stderr, "\n"); 
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 66:
#line 397 "Gmsh.y"
      for(i = 0 ; i<List_Nbr(ListOfDouble_L) ; i++){
	if(!i){
	  str = strtok(yyvsp[-4].c, "%");
	  fprintf(stderr, str); 
	}
	str = strtok(NULL, "%");
	if(str){
	  strcpy(tmpstring, "%");
	  strcat(tmpstring, str);
	  fprintf(stderr, tmpstring, *(double*)List_Pointer(ListOfDouble_L,i)); 
	}
	else{
	  fprintf(stderr, "\n"); 
	  vyyerror("Missing %d Parameter(s) in Printf Format",
		   List_Nbr(ListOfDouble_L)-i);
	  break ;
	}
      }
      if(!yyerrorstate)
	fprintf(stderr, "\n"); 
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 67:
#line 427 "Gmsh.y"
      EndView(1, Force_ViewNumber,yyname,yyvsp[-4].c,0.,0.,0.); 
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 68:
#line 431 "Gmsh.y"
      EndView(1, Force_ViewNumber,yyname,yyvsp[-6].c,yyvsp[-4].v[0],yyvsp[-4].v[1],yyvsp[-4].v[2]);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 69:
#line 438 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 82:
#line 457 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
    break;}
case 83:
#line 459 "Gmsh.y"
{ List_Add(ActualView->SP, &yyvsp[0].d) ; ;
case 84:
#line 464 "Gmsh.y"
{ 
      List_Add(ActualView->SP, &yyvsp[-5].d); List_Add(ActualView->SP, &yyvsp[-3].d);
      List_Add(ActualView->SP, &yyvsp[-1].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 85:
#line 469 "Gmsh.y"
      ActualView->NbSP++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 86:
#line 476 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
    break;}
case 87:
#line 478 "Gmsh.y"
{ List_Add(ActualView->VP, &yyvsp[0].d) ; ;
    break;}
case 88:
#line 483 "Gmsh.y"
{ 
      List_Add(ActualView->VP, &yyvsp[-5].d); List_Add(ActualView->VP, &yyvsp[-3].d);
      List_Add(ActualView->VP, &yyvsp[-1].d); 
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 89:
#line 488 "Gmsh.y"
      ActualView->NbVP++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 90:
#line 495 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
    break;}
case 91:
#line 497 "Gmsh.y"
{ List_Add(ActualView->TP, &yyvsp[0].d) ; ;
    break;}
case 92:
#line 502 "Gmsh.y"
{ 
      List_Add(ActualView->TP, &yyvsp[-5].d); List_Add(ActualView->TP, &yyvsp[-3].d);
      List_Add(ActualView->TP, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 93:
#line 507 "Gmsh.y"
      ActualView->NbTP++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 94:
#line 514 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
    break;}
case 95:
#line 516 "Gmsh.y"
{ List_Add(ActualView->SL, &yyvsp[0].d) ; ;
    break;}
case 96:
#line 522 "Gmsh.y"
{ 
      List_Add(ActualView->SL, &yyvsp[-11].d); List_Add(ActualView->SL, &yyvsp[-5].d);
      List_Add(ActualView->SL, &yyvsp[-9].d); List_Add(ActualView->SL, &yyvsp[-3].d);
      List_Add(ActualView->SL, &yyvsp[-7].d); List_Add(ActualView->SL, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 97:
#line 528 "Gmsh.y"
      ActualView->NbSL++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 98:
#line 535 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
    break;}
case 99:
#line 537 "Gmsh.y"
{ List_Add(ActualView->VL, &yyvsp[0].d) ; ;
    break;}
case 100:
#line 543 "Gmsh.y"
      List_Add(ActualView->VL, &yyvsp[-11].d); List_Add(ActualView->VL, &yyvsp[-5].d);
      List_Add(ActualView->VL, &yyvsp[-9].d); List_Add(ActualView->VL, &yyvsp[-3].d);
      List_Add(ActualView->VL, &yyvsp[-7].d); List_Add(ActualView->VL, &yyvsp[-1].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 101:
#line 549 "Gmsh.y"
      ActualView->NbVL++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 102:
#line 556 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
    break;}
case 103:
#line 558 "Gmsh.y"
{ List_Add(ActualView->TL, &yyvsp[0].d) ; ;
    break;}
case 104:
#line 564 "Gmsh.y"
      List_Add(ActualView->TL, &yyvsp[-11].d); List_Add(ActualView->TL, &yyvsp[-5].d);
      List_Add(ActualView->TL, &yyvsp[-9].d); List_Add(ActualView->TL, &yyvsp[-3].d);
      List_Add(ActualView->TL, &yyvsp[-7].d); List_Add(ActualView->TL, &yyvsp[-1].d);
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 105:
#line 570 "Gmsh.y"
      ActualView->NbTL++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 106:
#line 577 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
    break;}
case 107:
#line 579 "Gmsh.y"
{ List_Add(ActualView->ST, &yyvsp[0].d) ; ;
    break;}
case 108:
#line 586 "Gmsh.y"
{ 
      List_Add(ActualView->ST, &yyvsp[-17].d); List_Add(ActualView->ST, &yyvsp[-11].d);
      List_Add(ActualView->ST, &yyvsp[-5].d);
      List_Add(ActualView->ST, &yyvsp[-15].d); List_Add(ActualView->ST, &yyvsp[-9].d);
      List_Add(ActualView->ST, &yyvsp[-3].d);
      List_Add(ActualView->ST, &yyvsp[-13].d); List_Add(ActualView->ST, &yyvsp[-7].d);
      List_Add(ActualView->ST, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 109:
#line 595 "Gmsh.y"
      ActualView->NbST++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 110:
#line 602 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
    break;}
case 111:
#line 604 "Gmsh.y"
{ List_Add(ActualView->VT, &yyvsp[0].d) ; ;
    break;}
case 112:
#line 611 "Gmsh.y"
{ 
      List_Add(ActualView->VT, &yyvsp[-17].d); List_Add(ActualView->VT, &yyvsp[-11].d);
      List_Add(ActualView->VT, &yyvsp[-5].d);
      List_Add(ActualView->VT, &yyvsp[-15].d); List_Add(ActualView->VT, &yyvsp[-9].d);
      List_Add(ActualView->VT, &yyvsp[-3].d);
      List_Add(ActualView->VT, &yyvsp[-13].d); List_Add(ActualView->VT, &yyvsp[-7].d);
      List_Add(ActualView->VT, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 113:
#line 620 "Gmsh.y"
      ActualView->NbVT++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 114:
#line 627 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
    break;}
case 115:
#line 629 "Gmsh.y"
{ List_Add(ActualView->TT, &yyvsp[0].d) ; ;
    break;}
case 116:
#line 636 "Gmsh.y"
{ 
      List_Add(ActualView->TT, &yyvsp[-17].d); List_Add(ActualView->TT, &yyvsp[-11].d);
      List_Add(ActualView->TT, &yyvsp[-5].d);
      List_Add(ActualView->TT, &yyvsp[-15].d); List_Add(ActualView->TT, &yyvsp[-9].d);
      List_Add(ActualView->TT, &yyvsp[-3].d);
      List_Add(ActualView->TT, &yyvsp[-13].d); List_Add(ActualView->TT, &yyvsp[-7].d);
      List_Add(ActualView->TT, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 117:
#line 645 "Gmsh.y"
      ActualView->NbTT++ ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 118:
#line 652 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
    break;}
case 119:
#line 654 "Gmsh.y"
{ List_Add(ActualView->SS, &yyvsp[0].d) ; ;
    break;}
case 120:
#line 662 "Gmsh.y"
{ 
      List_Add(ActualView->SS, &yyvsp[-23].d);  List_Add(ActualView->SS, &yyvsp[-17].d);
      List_Add(ActualView->SS, &yyvsp[-11].d); List_Add(ActualView->SS, &yyvsp[-5].d);
      List_Add(ActualView->SS, &yyvsp[-21].d);  List_Add(ActualView->SS, &yyvsp[-15].d);
      List_Add(ActualView->SS, &yyvsp[-9].d); List_Add(ActualView->SS, &yyvsp[-3].d);
      List_Add(ActualView->SS, &yyvsp[-19].d);  List_Add(ActualView->SS, &yyvsp[-13].d);
      List_Add(ActualView->SS, &yyvsp[-7].d); List_Add(ActualView->SS, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 121:
#line 671 "Gmsh.y"
{
      ActualView->NbSS++ ;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 122:
#line 678 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
    break;}
case 123:
#line 680 "Gmsh.y"
{ List_Add(ActualView->VS, &yyvsp[0].d) ; ;
    break;}
case 124:
#line 688 "Gmsh.y"
{ 
      List_Add(ActualView->VS, &yyvsp[-23].d);  List_Add(ActualView->VS, &yyvsp[-17].d);
      List_Add(ActualView->VS, &yyvsp[-11].d); List_Add(ActualView->VS, &yyvsp[-5].d);
      List_Add(ActualView->VS, &yyvsp[-21].d);  List_Add(ActualView->VS, &yyvsp[-15].d);
      List_Add(ActualView->VS, &yyvsp[-9].d); List_Add(ActualView->VS, &yyvsp[-3].d);
      List_Add(ActualView->VS, &yyvsp[-19].d);  List_Add(ActualView->VS, &yyvsp[-13].d);
      List_Add(ActualView->VS, &yyvsp[-7].d); List_Add(ActualView->VS, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 125:
#line 697 "Gmsh.y"
{
      ActualView->NbVS++ ;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 126:
#line 704 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
    break;}
case 127:
#line 706 "Gmsh.y"
{ List_Add(ActualView->TS, &yyvsp[0].d) ; ;
    break;}
case 128:
#line 714 "Gmsh.y"
{ 
      List_Add(ActualView->TS, &yyvsp[-23].d);  List_Add(ActualView->TS, &yyvsp[-17].d);
      List_Add(ActualView->TS, &yyvsp[-11].d); List_Add(ActualView->TS, &yyvsp[-5].d);
      List_Add(ActualView->TS, &yyvsp[-21].d);  List_Add(ActualView->TS, &yyvsp[-15].d);
      List_Add(ActualView->TS, &yyvsp[-9].d); List_Add(ActualView->TS, &yyvsp[-3].d);
      List_Add(ActualView->TS, &yyvsp[-19].d);  List_Add(ActualView->TS, &yyvsp[-13].d);
      List_Add(ActualView->TS, &yyvsp[-7].d); List_Add(ActualView->TS, &yyvsp[-1].d);
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 129:
#line 723 "Gmsh.y"
{
      ActualView->NbTS++ ;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 130:
#line 739 "Gmsh.y"
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
	TheSymbol.val = List_Create(1,1,sizeof(double));
	List_Put(TheSymbol.val, 0, &yyvsp[-1].d);
	List_Add(Symbol_L, &TheSymbol);
      }
      else{
	List_Write(pSymbol->val, 0, &yyvsp[-1].d);
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 131:
#line 751 "Gmsh.y"
      TheSymbol.Name = yyvsp[-6].c;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols))){
	TheSymbol.val = List_Create(5,5,sizeof(double));
	List_Put(TheSymbol.val, (int)yyvsp[-4].d, &yyvsp[-1].d);
	List_Add(Symbol_L, &TheSymbol);
      }
      else{
	List_Put(pSymbol->val, (int)yyvsp[-4].d, &yyvsp[-1].d);
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 132:
#line 763 "Gmsh.y"
Christophe Geuzaine's avatar
Christophe Geuzaine committed
      TheSymbol.Name = yyvsp[-2].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
Christophe Geuzaine's avatar
Christophe Geuzaine committed
	vyyerror("Unknown Variable '%s'", yyvsp[-2].c) ;
      else{
	*(double*)List_Pointer_Fast(pSymbol->val, 0) += 1.0 ;
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 133:
#line 772 "Gmsh.y"
      TheSymbol.Name = yyvsp[-5].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-5].c) ;
      else{
	if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-3].d)))
	  *pd += 1.0 ;
	else
	  vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-5].c, (int)yyvsp[-3].d) ;
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 134:
#line 784 "Gmsh.y"
      TheSymbol.Name = yyvsp[-2].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-2].c) ;
	*(double*)List_Pointer_Fast(pSymbol->val, 0) -= 1. ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 135:
#line 792 "Gmsh.y"
      TheSymbol.Name = yyvsp[-5].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-5].c) ;
      else{
	if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-3].d)))
	  *pd -= 1.0 ;
	else
	  vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-5].c, (int)yyvsp[-3].d) ;
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 136:
#line 804 "Gmsh.y"
{
      TheSymbol.Name = yyvsp[-3].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ;
      else
	*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].d ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 137:
#line 812 "Gmsh.y"
{
      TheSymbol.Name = yyvsp[-6].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-6].c) ;
	if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-4].d)))
	  *pd += yyvsp[-1].d ;
	else
	  vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d) ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 138:
#line 824 "Gmsh.y"
      TheSymbol.Name = yyvsp[-3].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ;
      else
	*(double*)List_Pointer_Fast(pSymbol->val, 0) -= yyvsp[-1].d ;
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 139:
#line 832 "Gmsh.y"
      TheSymbol.Name = yyvsp[-6].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-6].c) ;
	if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-4].d)))
	  *pd -= yyvsp[-1].d ;
	else
	  vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d) ;
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 140:
#line 844 "Gmsh.y"
{
      TheSymbol.Name = yyvsp[-3].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ;
      else
	*(double*)List_Pointer_Fast(pSymbol->val, 0) *= yyvsp[-1].d ;
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 141:
#line 852 "Gmsh.y"
{
      TheSymbol.Name = yyvsp[-6].c ;
      if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	vyyerror("Unknown Variable '%s'", yyvsp[-6].c) ;
      else{
	if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-4].d)))
	  *pd *= yyvsp[-1].d ;
	else
	  vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d) ;
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 142:
#line 864 "Gmsh.y"
{
      if(!yyvsp[-1].d)
	vyyerror("Division by Zero in '%s /= %g'", yyvsp[-3].c, yyvsp[-1].d);
      else{
	TheSymbol.Name = yyvsp[-3].c ;
	if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	  vyyerror("Unknown Variable '%s'", yyvsp[-3].c) ;
	else
	  *(double*)List_Pointer_Fast(pSymbol->val, 0) /= yyvsp[-1].d ;
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 143:
#line 876 "Gmsh.y"
{
      if(!yyvsp[-1].d)
	vyyerror("Division by Zero in '%s[%d] /= %g'", yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-1].d);
      else{
	TheSymbol.Name = yyvsp[-6].c ;
	if (!(pSymbol = (Symbol*)List_PQuery(Symbol_L, &TheSymbol, CompareSymbols)))
	  vyyerror("Unknown Variable '%s'", yyvsp[-6].c) ;
	else{
	  if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-4].d)))
	    *pd /= yyvsp[-1].d ;
	  else
	    vyyerror("Uninitialized Variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d) ;
	}
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 144:
#line 895 "Gmsh.y"
{ 
      if(!(pStrCat = Get_StringOptionCategory(yyvsp[-5].c)))
	vyyerror("Unknown String Option Class '%s'", yyvsp[-5].c);
      else{
	if(!(pStrOpt = Get_StringOption(yyvsp[-3].c, pStrCat)))
	  vyyerror("Unknown String Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
	else{
	  *pStrOpt = yyvsp[-1].c ;
	}
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 145:
#line 908 "Gmsh.y"
{
      if(strcmp(yyvsp[-10].c, "PostProcessing"))
	vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
      else{
	if(!(pStrViewOpt = Get_StringViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
	  if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
	  else	    vyyerror("Unknown String Option '%s.View[%d].%s'", 
			     yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
	}
	else{
	  strcpy(pStrViewOpt, yyvsp[-1].c) ;
	}
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 146:
#line 926 "Gmsh.y"
{
      if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c)))
	vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c);
      else{
	if(!(pNumOpt = Get_NumberOption(yyvsp[-3].c, pNumCat, &i)))
	  vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
	else{
	  switch(i){
	  case GMSH_DOUBLE : *(double*)pNumOpt = yyvsp[-1].d ; break ;
	  case GMSH_FLOAT : *(float*)pNumOpt = (float)yyvsp[-1].d ; break ;
	  case GMSH_LONG : *(long*)pNumOpt = (long)yyvsp[-1].d ; break ;
	  case GMSH_INT : *(int*)pNumOpt = (int)yyvsp[-1].d ; break ;
	  }
	}
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 147:
#line 943 "Gmsh.y"
      if(strcmp(yyvsp[-10].c, "PostProcessing"))
	vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
      else{
	if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
	  if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
	  else	    vyyerror("Unknown Numeric Option '%s.View[%d].%s'", 
			     yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
	}
	else{
	  switch(i){
	  case GMSH_DOUBLE : *(double*)pNumOpt = yyvsp[-1].d ; break ;
	  case GMSH_FLOAT : *(float*)pNumOpt = (float)yyvsp[-1].d ; break ;
	  case GMSH_LONG : *(long*)pNumOpt = (long)yyvsp[-1].d ; break ;
	  case GMSH_INT : *(int*)pNumOpt = (int)yyvsp[-1].d ; break ;
	  }
	}
      }
    ;
    break;}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 148:
#line 964 "Gmsh.y"
{
      if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c)))
	vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c);
      else{
	if(!(pNumOpt = Get_NumberOption(yyvsp[-3].c, pNumCat, &i)))
	  vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
	else{
	  switch(i){
	  case GMSH_DOUBLE : *(double*)pNumOpt += yyvsp[-1].d ; break ;
	  case GMSH_FLOAT : *(float*)pNumOpt += (float)yyvsp[-1].d ; break ;
	  case GMSH_LONG : *(long*)pNumOpt += (long)yyvsp[-1].d ; break ;
	  case GMSH_INT : *(int*)pNumOpt += (int)yyvsp[-1].d ; break ;
	  }
	}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 149:
#line 981 "Gmsh.y"
      if(strcmp(yyvsp[-10].c, "PostProcessing"))
	vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
      else{
	if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
	  if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
	  else	    vyyerror("Unknown Numeric Option '%s.View[%d].%s'", 
			     yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
	}
	else{
	  switch(i){
	  case GMSH_DOUBLE : *(double*)pNumOpt += yyvsp[-1].d ; break ;
	  case GMSH_FLOAT : *(float*)pNumOpt += (float)yyvsp[-1].d ; break ;
	  case GMSH_LONG : *(long*)pNumOpt += (long)yyvsp[-1].d ; break ;
	  case GMSH_INT : *(int*)pNumOpt += (int)yyvsp[-1].d ; break ;
	  }
	}
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 150:
#line 1002 "Gmsh.y"
      if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-5].c)))
	vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-5].c);
      else{
	if(!(pNumOpt = Get_NumberOption(yyvsp[-3].c, pNumCat, &i)))
	  vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-5].c, yyvsp[-3].c);
	else{
	  switch(i){
	  case GMSH_DOUBLE : *(double*)pNumOpt -= yyvsp[-1].d ; break ;
	  case GMSH_FLOAT : *(float*)pNumOpt -= (float)yyvsp[-1].d ; break ;
	  case GMSH_LONG : *(long*)pNumOpt -= (long)yyvsp[-1].d ; break ;
	  case GMSH_INT : *(int*)pNumOpt -= (int)yyvsp[-1].d ; break ;
	  }
	}
      }
Christophe Geuzaine's avatar
Christophe Geuzaine committed
case 151:
#line 1019 "Gmsh.y"
      if(strcmp(yyvsp[-10].c, "PostProcessing"))
	vyyerror("Unknown View Option Class '%s'", yyvsp[-10].c);
      else{
	if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-6].d, yyvsp[-3].c, &i))){
	  if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-6].d);
	  else	    vyyerror("Unknown Numeric Option '%s.View[%d].%s'", 
			     yyvsp[-10].c, (int)yyvsp[-6].d, yyvsp[-3].c);
	}
	else{