Newer
Older
char tmpstring[1024];
int i = PrintListOfDouble(yyvsp[-4].c, yyvsp[-2].l, tmpstring);

Christophe Geuzaine
committed
yymsg(GERROR, "Too few arguments in Printf");
else if(i > 0)
yymsg(GERROR, "%d extra argument%s in Printf", i, (i>1)?"s":"");
if(!strcmp(yyvsp[-5].c, "View") && !CheckViewErrorFlags(View)){
EndView(View, 0, yyname, yyvsp[-4].c);
}
if(!strcmp(yyvsp[-7].c, "View") && !CheckViewErrorFlags(View)){
EndView(View, 0, yyname, yyvsp[-6].c);
}
for(int i = 0; i < VIEW_NB_ELEMENT_TYPES; i++){
ViewErrorFlags[i] = 0;
}
List_Add(View->SP, &yyvsp[-5].d); List_Add(View->SP, &yyvsp[-3].d);
List_Add(View->VP, &yyvsp[-5].d); List_Add(View->VP, &yyvsp[-3].d);
List_Add(View->VP, &yyvsp[-1].d);
List_Add(View->TP, &yyvsp[-5].d); List_Add(View->TP, &yyvsp[-3].d);
List_Add(View->TP, &yyvsp[-1].d);
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);
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);
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);
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);
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);
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
List_Add(View->SQ, &yyvsp[-23].d); List_Add(View->SQ, &yyvsp[-17].d);
List_Add(View->SQ, &yyvsp[-11].d); List_Add(View->SQ, &yyvsp[-5].d);
List_Add(View->SQ, &yyvsp[-21].d); List_Add(View->SQ, &yyvsp[-15].d);
List_Add(View->SQ, &yyvsp[-9].d); List_Add(View->SQ, &yyvsp[-3].d);
List_Add(View->SQ, &yyvsp[-19].d); List_Add(View->SQ, &yyvsp[-13].d);
List_Add(View->SQ, &yyvsp[-7].d); List_Add(View->SQ, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->VQ, &yyvsp[-23].d); List_Add(View->VQ, &yyvsp[-17].d);
List_Add(View->VQ, &yyvsp[-11].d); List_Add(View->VQ, &yyvsp[-5].d);
List_Add(View->VQ, &yyvsp[-21].d); List_Add(View->VQ, &yyvsp[-15].d);
List_Add(View->VQ, &yyvsp[-9].d); List_Add(View->VQ, &yyvsp[-3].d);
List_Add(View->VQ, &yyvsp[-19].d); List_Add(View->VQ, &yyvsp[-13].d);
List_Add(View->VQ, &yyvsp[-7].d); List_Add(View->VQ, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->TQ, &yyvsp[-23].d); List_Add(View->TQ, &yyvsp[-17].d);
List_Add(View->TQ, &yyvsp[-11].d); List_Add(View->TQ, &yyvsp[-5].d);
List_Add(View->TQ, &yyvsp[-21].d); List_Add(View->TQ, &yyvsp[-15].d);
List_Add(View->TQ, &yyvsp[-9].d); List_Add(View->TQ, &yyvsp[-3].d);
List_Add(View->TQ, &yyvsp[-19].d); List_Add(View->TQ, &yyvsp[-13].d);
List_Add(View->TQ, &yyvsp[-7].d); List_Add(View->TQ, &yyvsp[-1].d);
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);
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);
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
List_Add(View->SH, &yyvsp[-47].d); List_Add(View->SH, &yyvsp[-41].d);
List_Add(View->SH, &yyvsp[-35].d); List_Add(View->SH, &yyvsp[-29].d);
List_Add(View->SH, &yyvsp[-23].d); List_Add(View->SH, &yyvsp[-17].d);
List_Add(View->SH, &yyvsp[-11].d); List_Add(View->SH, &yyvsp[-5].d);
List_Add(View->SH, &yyvsp[-45].d); List_Add(View->SH, &yyvsp[-39].d);
List_Add(View->SH, &yyvsp[-33].d); List_Add(View->SH, &yyvsp[-27].d);
List_Add(View->SH, &yyvsp[-21].d); List_Add(View->SH, &yyvsp[-15].d);
List_Add(View->SH, &yyvsp[-9].d); List_Add(View->SH, &yyvsp[-3].d);
List_Add(View->SH, &yyvsp[-43].d); List_Add(View->SH, &yyvsp[-37].d);
List_Add(View->SH, &yyvsp[-31].d); List_Add(View->SH, &yyvsp[-25].d);
List_Add(View->SH, &yyvsp[-19].d); List_Add(View->SH, &yyvsp[-13].d);
List_Add(View->SH, &yyvsp[-7].d); List_Add(View->SH, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->VH, &yyvsp[-47].d); List_Add(View->VH, &yyvsp[-41].d);
List_Add(View->VH, &yyvsp[-35].d); List_Add(View->VH, &yyvsp[-29].d);
List_Add(View->VH, &yyvsp[-23].d); List_Add(View->VH, &yyvsp[-17].d);
List_Add(View->VH, &yyvsp[-11].d); List_Add(View->VH, &yyvsp[-5].d);
List_Add(View->VH, &yyvsp[-45].d); List_Add(View->VH, &yyvsp[-39].d);
List_Add(View->VH, &yyvsp[-33].d); List_Add(View->VH, &yyvsp[-27].d);
List_Add(View->VH, &yyvsp[-21].d); List_Add(View->VH, &yyvsp[-15].d);
List_Add(View->VH, &yyvsp[-9].d); List_Add(View->VH, &yyvsp[-3].d);
List_Add(View->VH, &yyvsp[-43].d); List_Add(View->VH, &yyvsp[-37].d);
List_Add(View->VH, &yyvsp[-31].d); List_Add(View->VH, &yyvsp[-25].d);
List_Add(View->VH, &yyvsp[-19].d); List_Add(View->VH, &yyvsp[-13].d);
List_Add(View->VH, &yyvsp[-7].d); List_Add(View->VH, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->TH, &yyvsp[-47].d); List_Add(View->TH, &yyvsp[-41].d);
List_Add(View->TH, &yyvsp[-35].d); List_Add(View->TH, &yyvsp[-29].d);
List_Add(View->TH, &yyvsp[-23].d); List_Add(View->TH, &yyvsp[-17].d);
List_Add(View->TH, &yyvsp[-11].d); List_Add(View->TH, &yyvsp[-5].d);
List_Add(View->TH, &yyvsp[-45].d); List_Add(View->TH, &yyvsp[-39].d);
List_Add(View->TH, &yyvsp[-33].d); List_Add(View->TH, &yyvsp[-27].d);
List_Add(View->TH, &yyvsp[-21].d); List_Add(View->TH, &yyvsp[-15].d);
List_Add(View->TH, &yyvsp[-9].d); List_Add(View->TH, &yyvsp[-3].d);
List_Add(View->TH, &yyvsp[-43].d); List_Add(View->TH, &yyvsp[-37].d);
List_Add(View->TH, &yyvsp[-31].d); List_Add(View->TH, &yyvsp[-25].d);
List_Add(View->TH, &yyvsp[-19].d); List_Add(View->TH, &yyvsp[-13].d);
List_Add(View->TH, &yyvsp[-7].d); List_Add(View->TH, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->SI, &yyvsp[-35].d); List_Add(View->SI, &yyvsp[-29].d);
List_Add(View->SI, &yyvsp[-23].d); List_Add(View->SI, &yyvsp[-17].d);
List_Add(View->SI, &yyvsp[-11].d); List_Add(View->SI, &yyvsp[-5].d);
List_Add(View->SI, &yyvsp[-33].d); List_Add(View->SI, &yyvsp[-27].d);
List_Add(View->SI, &yyvsp[-21].d); List_Add(View->SI, &yyvsp[-15].d);
List_Add(View->SI, &yyvsp[-9].d); List_Add(View->SI, &yyvsp[-3].d);
List_Add(View->SI, &yyvsp[-31].d); List_Add(View->SI, &yyvsp[-25].d);
List_Add(View->SI, &yyvsp[-19].d); List_Add(View->SI, &yyvsp[-13].d);
List_Add(View->SI, &yyvsp[-7].d); List_Add(View->SI, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->VI, &yyvsp[-35].d); List_Add(View->VI, &yyvsp[-29].d);
List_Add(View->VI, &yyvsp[-23].d); List_Add(View->VI, &yyvsp[-17].d);
List_Add(View->VI, &yyvsp[-11].d); List_Add(View->VI, &yyvsp[-5].d);
List_Add(View->VI, &yyvsp[-33].d); List_Add(View->VI, &yyvsp[-27].d);
List_Add(View->VI, &yyvsp[-21].d); List_Add(View->VI, &yyvsp[-15].d);
List_Add(View->VI, &yyvsp[-9].d); List_Add(View->VI, &yyvsp[-3].d);
List_Add(View->VI, &yyvsp[-31].d); List_Add(View->VI, &yyvsp[-25].d);
List_Add(View->VI, &yyvsp[-19].d); List_Add(View->VI, &yyvsp[-13].d);
List_Add(View->VI, &yyvsp[-7].d); List_Add(View->VI, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->TI, &yyvsp[-35].d); List_Add(View->TI, &yyvsp[-29].d);
List_Add(View->TI, &yyvsp[-23].d); List_Add(View->TI, &yyvsp[-17].d);
List_Add(View->TI, &yyvsp[-11].d); List_Add(View->TI, &yyvsp[-5].d);
List_Add(View->TI, &yyvsp[-33].d); List_Add(View->TI, &yyvsp[-27].d);
List_Add(View->TI, &yyvsp[-21].d); List_Add(View->TI, &yyvsp[-15].d);
List_Add(View->TI, &yyvsp[-9].d); List_Add(View->TI, &yyvsp[-3].d);
List_Add(View->TI, &yyvsp[-31].d); List_Add(View->TI, &yyvsp[-25].d);
List_Add(View->TI, &yyvsp[-19].d); List_Add(View->TI, &yyvsp[-13].d);
List_Add(View->TI, &yyvsp[-7].d); List_Add(View->TI, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->SY, &yyvsp[-29].d); List_Add(View->SY, &yyvsp[-23].d);
List_Add(View->SY, &yyvsp[-17].d); List_Add(View->SY, &yyvsp[-11].d);
List_Add(View->SY, &yyvsp[-5].d);
List_Add(View->SY, &yyvsp[-27].d); List_Add(View->SY, &yyvsp[-21].d);
List_Add(View->SY, &yyvsp[-15].d); List_Add(View->SY, &yyvsp[-9].d);
List_Add(View->SY, &yyvsp[-3].d);
List_Add(View->SY, &yyvsp[-25].d); List_Add(View->SY, &yyvsp[-19].d);
List_Add(View->SY, &yyvsp[-13].d); List_Add(View->SY, &yyvsp[-7].d);
List_Add(View->SY, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->VY, &yyvsp[-29].d); List_Add(View->VY, &yyvsp[-23].d);
List_Add(View->VY, &yyvsp[-17].d); List_Add(View->VY, &yyvsp[-11].d);
List_Add(View->VY, &yyvsp[-5].d);
List_Add(View->VY, &yyvsp[-27].d); List_Add(View->VY, &yyvsp[-21].d);
List_Add(View->VY, &yyvsp[-15].d); List_Add(View->VY, &yyvsp[-9].d);
List_Add(View->VY, &yyvsp[-3].d);
List_Add(View->VY, &yyvsp[-25].d); List_Add(View->VY, &yyvsp[-19].d);
List_Add(View->VY, &yyvsp[-13].d); List_Add(View->VY, &yyvsp[-7].d);
List_Add(View->VY, &yyvsp[-1].d);

Christophe Geuzaine
committed
List_Add(View->TY, &yyvsp[-29].d); List_Add(View->TY, &yyvsp[-23].d);
List_Add(View->TY, &yyvsp[-17].d); List_Add(View->TY, &yyvsp[-11].d);
List_Add(View->TY, &yyvsp[-5].d);
List_Add(View->TY, &yyvsp[-27].d); List_Add(View->TY, &yyvsp[-21].d);
List_Add(View->TY, &yyvsp[-15].d); List_Add(View->TY, &yyvsp[-9].d);
List_Add(View->TY, &yyvsp[-3].d);
List_Add(View->TY, &yyvsp[-25].d); List_Add(View->TY, &yyvsp[-19].d);
List_Add(View->TY, &yyvsp[-13].d); List_Add(View->TY, &yyvsp[-7].d);
List_Add(View->TY, &yyvsp[-1].d);
for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]);
for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T2C, &yyvsp[0].c[i]);
List_Add(View->T2D, &yyvsp[-5].d); List_Add(View->T2D, &yyvsp[-3].d);
List_Add(View->T2D, &yyvsp[-1].d);
for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]);
for(int i = 0; i < (int)strlen(yyvsp[0].c)+1; i++) List_Add(View->T3C, &yyvsp[0].c[i]);
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);
View->adaptive = new Adaptive_Post_View(View, yyvsp[-5].l, yyvsp[-2].l);
TheSymbol.Name = yyvsp[-3].c;

Christophe Geuzaine
committed
if(!yyvsp[-2].i){

Christophe Geuzaine
committed
List_Put(TheSymbol.val, 0, &yyvsp[-1].d);

Christophe Geuzaine
committed
}

Christophe Geuzaine
committed
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;

Christophe Geuzaine
committed
case 4 :

Christophe Geuzaine
committed
else yymsg(GERROR, "Division by zero in '%s /= %g'", yyvsp[-3].c, yyvsp[-1].d);

Christophe Geuzaine
committed
break;
}

Christophe Geuzaine
committed
if(!yyvsp[-2].i){

Christophe Geuzaine
committed
List_Put(TheSymbol.val, (int)yyvsp[-4].d, &yyvsp[-1].d);

Christophe Geuzaine
committed
}

Christophe Geuzaine
committed
if((pd = (double*)List_Pointer_Test(pSymbol->val, (int)yyvsp[-4].d))){
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;

Christophe Geuzaine
committed
case 4 :

Christophe Geuzaine
committed
else yymsg(GERROR, "Division by zero in '%s[%d] /= %g'", yyvsp[-6].c, (int)yyvsp[-4].d, yyvsp[-1].d);

Christophe Geuzaine
committed
break;
}
}
else{
if(!yyvsp[-2].i)
List_Put(pSymbol->val, (int)yyvsp[-4].d, &yyvsp[-1].d);
else
yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-6].c, (int)yyvsp[-4].d);

Christophe Geuzaine
committed
}

Christophe Geuzaine
committed
yymsg(GERROR, "Incompatible array dimensions in affectation");
List_Put(TheSymbol.val, (int)(*(double*)List_Pointer(yyvsp[-5].l, i)),
(double*)List_Pointer(yyvsp[-1].l, i));
for(int i = 0; i < List_Nbr(yyvsp[-5].l); i++){
int j = (int)(*(double*)List_Pointer(yyvsp[-5].l, i));
double d = *(double*)List_Pointer(yyvsp[-1].l, i);
double *pd;
if((pd = (double*)List_Pointer_Test(pSymbol->val, j))){
switch(yyvsp[-2].i){
case 0 : *pd = d; break;
case 1 : *pd += d; break;
case 2 : *pd -= d; break;
case 3 : *pd *= d; break;

Christophe Geuzaine
committed
else yymsg(GERROR, "Division by zero in '%s[%d] /= %g'", yyvsp[-8].c, j, d);
break;
}
}
else{
if(!yyvsp[-2].i)
List_Put(pSymbol->val, j, &d);
else
yymsg(GERROR, "Uninitialized variable '%s[%d]'", yyvsp[-8].c, j);
}
}
List_Delete(yyvsp[-5].l);
List_Delete(yyvsp[-1].l);
TheSymbol.Name = yyvsp[-5].c;
if(!(pSymbol = (Symbol*)Tree_PQuery(Symbol_T, &TheSymbol))){
TheSymbol.val = List_Create(5, 5, sizeof(double));
List_Copy(yyvsp[-1].l, TheSymbol.val);
}
else{
List_Reset(pSymbol->val);
List_Copy(yyvsp[-1].l, pSymbol->val);

Christophe Geuzaine
committed
TheSymbol.Name = yyvsp[-2].c;
*(double*)List_Pointer_Fast(pSymbol->val, 0) += yyvsp[-1].i;
Free(yyvsp[-2].c);
Symbol TheSymbol;
TheSymbol.Name = yyvsp[-5].c;
Symbol *pSymbol;