Newer
Older
j = (int)d;
extr.mesh.ZonLayer[i] = j;
List_Read(yyvsp[-2].l,i,&d);
extr.mesh.hLayer[i] = d;
{
extr.mesh.Recombine = true;
;
break;}
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
vyyerror("Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (int)yyvsp[-1].d;
c->ipar[1] = sign(d);
c->dpar[0] = 1.0;
{
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
vyyerror("Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (int)yyvsp[-4].d;
c->ipar[1] = sign(d); /* Progresion : code 1 ou -1 */
c->dpar[0] = fabs(yyvsp[-1].d);
;
break;}
Curve *c;
for(i=0;i<List_Nbr(yyvsp[-6].l);i++){
List_Read(yyvsp[-6].l,i,&d);
j = (int)fabs(d);
c = FindCurve(j,THEM);
if(!c)
vyyerror("Unkown Curve %d", j);
c->Method = TRANSFINI;
c->ipar[0] = (int)yyvsp[-4].d;
c->ipar[1] = 2*sign(d); /* Bump : code 2 ou -2 */
c->dpar[0] = fabs(yyvsp[-1].d);
Surface *s = FindSurface((int)yyvsp[-4].d,THEM);
if(!s)
vyyerror("Unkown Surface %d", (int)yyvsp[-4].d);
s->Method = TRANSFINI;
k = List_Nbr(yyvsp[-1].l);
if(k!=3 && k!=4){
vyyerror("Wrong Definition of Transfinite Surface %d: "
"%d Points Instead of 3 or 4" , yyvsp[-4].d, k) ;
}
for(i=0;i<k;i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)fabs(d);
s->ipar[i] = j;
}
}
}
;
break;}
Surface *s = FindSurface((int)yyvsp[-4].d,THEM);
if(!s)
vyyerror("Unkown Surface %d", (int)yyvsp[-4].d);
s->Method = ELLIPTIC;
k = List_Nbr(yyvsp[-1].l);
if(k != 4)
vyyerror("Wrong Definition of Elliptic Surface %d: "
"%d Points Instead of 4" , yyvsp[-4].d, k) ;
else{
for(i=0;i<k;i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)fabs(d);
s->ipar[i] = j;
Volume *v = FindVolume((int)yyvsp[-4].d,THEM);
if(!v)
vyyerror("Unkown Volume %d", (int)yyvsp[-4].d);
v->Method = TRANSFINI;
k = List_Nbr(yyvsp[-1].l);
if(k!=6 && k!=8)
vyyerror("Wrong Definition of Transfinite Volume %d: "
"%d Points Instead of 6 or 8" , yyvsp[-4].d, k) ;
for(i=0;i<k;i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)fabs(d);
v->ipar[i] = j;
}
}
}
;
break;}
Surface *s;
for(i=0;i<List_Nbr(yyvsp[-3].l);i++){
List_Read(yyvsp[-3].l,i,&d);
j = (int)d;
s = FindSurface(j,THEM);
if(!s){
/* Allow generic lists, even if the surfaces don't exist
vyyerror("Unkown Surface %d", j); */
}
else{
s->Recombine = 1;
s->RecombineAngle = yyvsp[-1].d;
{
Surface *s;
for(i=0;i<List_Nbr(yyvsp[-1].l);i++){
List_Read(yyvsp[-1].l,i,&d);
j = (int)d;
s = FindSurface(j,THEM);
if(!s){
/* Allow generic lists, even if the surfaces don't exist
vyyerror("Unkown Surface %d", j); */
else{
s->Recombine = 1;
s->RecombineAngle = 30.;
}
;
break;}
{
Coherence_PS();
;
break;}
break;}
{yyval.i = -1;;
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
{ yyval.d = (int)yyvsp[-2].d % (int)yyvsp[0].d ; ;
{ yyval.d = yyvsp[-4].d? yyvsp[-2].d : yyvsp[0].d ; ;
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
{ yyval.d = atan2(yyvsp[-3].d,yyvsp[-1].d); ;
break;}
break;}
break;}
break;}
break;}
break;}
break;}
break;}
{ yyval.d = fmod(yyvsp[-3].d,yyvsp[-1].d); ;
break;}
#line 2103 "Gmsh.y"
{ yyval.d = sqrt(yyvsp[-3].d*yyvsp[-3].d+yyvsp[-1].d*yyvsp[-1].d); ;
#line 2104 "Gmsh.y"
{ yyval.d = yyvsp[-1].d*(double)rand()/(double)RAND_MAX; ;
break;}
case 280:
{ yyval.d = 3.141592653589793; ;
break;}
{
TheSymbol.Name = yyvsp[0].c ;
if (!List_Query(Symbol_L, &TheSymbol, CompareSymbols)) {
vyyerror("Unknown Variable '%s'", yyvsp[0].c) ; yyval.d = 0. ;
}
else yyval.d = TheSymbol.val ;
Free(yyvsp[0].c);
;
break;}
{
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-2].c)))
vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-2].c);
else{
if(!(pNumOpt = Get_NumberOption(yyvsp[0].c, pNumCat, &i)))
vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-2].c, yyvsp[0].c);
else{
switch(i){
case GMSH_DOUBLE : yyval.d = *(double*)pNumOpt ; break ;
case GMSH_FLOAT : yyval.d = (double)(*(float*)pNumOpt) ; break ;
case GMSH_LONG : yyval.d = (double)(*(long*)pNumOpt) ; break ;
case GMSH_INT : yyval.d = (double)(*(int*)pNumOpt) ; break ;
}
}
}
;
break;}
vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c);
else{
if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-3].d, yyvsp[0].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-3].d);
else vyyerror("Unknown Numeric Option '%s.View[%d].%s'",
yyvsp[-7].c, (int)yyvsp[-3].d, yyvsp[0].c);
}
else{
switch(i){
case GMSH_DOUBLE : yyval.d = *(double*)pNumOpt ; break ;
case GMSH_FLOAT : yyval.d = (double)(*(float*)pNumOpt) ; break ;
case GMSH_LONG : yyval.d = (double)(*(long*)pNumOpt) ; break ;
case GMSH_INT : yyval.d = (double)(*(int*)pNumOpt) ; break ;
}
}
}
;
break;}
{
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c)))
vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c);
else{
if(!(pNumOpt = Get_NumberOption(yyvsp[-1].c, pNumCat, &i)))
vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-3].c, yyvsp[-1].c);
else{
switch(i){
case GMSH_DOUBLE : yyval.d = (*(double*)pNumOpt += 1.) ; break ;
case GMSH_FLOAT : yyval.d = (double)(*(float*)pNumOpt += 1.) ; break ;
case GMSH_LONG : yyval.d = (double)(*(long*)pNumOpt += 1) ; break ;
case GMSH_INT : yyval.d = (double)(*(int*)pNumOpt += 1) ; break ;
}
}
}
;
break;}
vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c);
else{
if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-4].d, yyvsp[-1].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-4].d);
else vyyerror("Unknown Numeric Option '%s.View[%d].%s'",
yyvsp[-8].c, (int)yyvsp[-4].d, yyvsp[-1].c);
}
else{
switch(i){
case GMSH_DOUBLE : yyval.d = (*(double*)pNumOpt += 1.) ; break ;
case GMSH_FLOAT : yyval.d = (double)(*(float*)pNumOpt += 1.) ; break ;
case GMSH_LONG : yyval.d = (double)(*(long*)pNumOpt += 1) ; break ;
case GMSH_INT : yyval.d = (double)(*(int*)pNumOpt += 1) ; break ;
}
}
}
;
break;}
{
if(!(pNumCat = Get_NumberOptionCategory(yyvsp[-3].c)))
vyyerror("Unknown Numeric Option Class '%s'", yyvsp[-3].c);
else{
if(!(pNumOpt = Get_NumberOption(yyvsp[-1].c, pNumCat, &i)))
vyyerror("Unknown Numeric Option '%s.%s'", yyvsp[-3].c, yyvsp[-1].c);
else{
switch(i){
case GMSH_DOUBLE : yyval.d = (*(double*)pNumOpt -= 1.) ; break ;
case GMSH_FLOAT : yyval.d = (double)(*(float*)pNumOpt -= 1.) ; break ;
case GMSH_LONG : yyval.d = (double)(*(long*)pNumOpt -= 1) ; break ;
case GMSH_INT : yyval.d = (double)(*(int*)pNumOpt -= 1) ; break ;
}
}
}
;
break;}
vyyerror("Unknown View Option Class '%s'", yyvsp[-8].c);
else{
if(!(pNumOpt = Get_NumberViewOption((int)yyvsp[-4].d, yyvsp[-1].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-4].d);
else vyyerror("Unknown Numeric Option '%s.View[%d].%s'",
yyvsp[-8].c, (int)yyvsp[-4].d, yyvsp[-1].c);
}
else{
switch(i){
case GMSH_DOUBLE : yyval.d = (*(double*)pNumOpt -= 1.) ; break ;
case GMSH_FLOAT : yyval.d = (double)(*(float*)pNumOpt -= 1.) ; break ;
case GMSH_LONG : yyval.d = (double)(*(long*)pNumOpt -= 1) ; break ;
case GMSH_INT : yyval.d = (double)(*(int*)pNumOpt -= 1) ; break ;
}
}
}
;
break;}
{
ListOfDouble2_L = List_Create(2,1,sizeof(double)) ;
for(d=yyvsp[-2].d ; (yyvsp[-2].d<yyvsp[0].d)?(d<=yyvsp[0].d):(d>=yyvsp[0].d) ; (yyvsp[-2].d<yyvsp[0].d)?(d+=1.):(d-=1.))
List_Add(ListOfDouble2_L, &d) ;
;
break;}
{
ListOfDouble2_L = List_Create(2,1,sizeof(double)) ;
if(!yyvsp[0].d || (yyvsp[-4].d<yyvsp[-2].d && yyvsp[0].d<0) || (yyvsp[-4].d>yyvsp[-2].d && yyvsp[0].d>0)){
vyyerror("Wrong Increment in '%g:%g:%g'", yyvsp[-4].d, yyvsp[-2].d, yyvsp[0].d) ;
List_Add(ListOfDouble2_L, &(yyvsp[-4].d)) ;
}
else
for(d=yyvsp[-4].d ; (yyvsp[0].d>0)?(d<=yyvsp[-2].d):(d>=yyvsp[-2].d) ; d+=yyvsp[0].d)
List_Add(ListOfDouble2_L, &d) ;
;
break;}
{
for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[0].v[i];
;
break;}
{
for(i=0 ; i<6 ; i++) yyval.v[i] = -yyvsp[0].v[i] ;
;
break;}
for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[0].v[i];
{
for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] - yyvsp[0].v[i] ;
;
break;}
{
for(i=0 ; i<6 ; i++) yyval.v[i] = yyvsp[-2].v[i] + yyvsp[0].v[i] ;
;
break;}
{
yyval.v[0]=yyvsp[-9].d; yyval.v[1]=yyvsp[-7].d; yyval.v[2]=yyvsp[-5].d; yyval.v[3]=yyvsp[-3].d; yyval.v[4]=yyvsp[-1].d;
;
break;}
{
yyval.v[0]=yyvsp[-7].d; yyval.v[1]=yyvsp[-5].d; yyval.v[2]=yyvsp[-3].d; yyval.v[3]=yyvsp[-1].d; yyval.v[4]=1.0;
;
break;}
{
yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0;
;
break;}
yyval.v[0]=yyvsp[-5].d; yyval.v[1]=yyvsp[-3].d; yyval.v[2]=yyvsp[-1].d; yyval.v[3]=0.0; yyval.v[4]=1.0;
5586
5587
5588
5589
5590
5591
5592
5593
5594
5595
5596
5597
5598
5599
5600
5601
5602
5603
5604
5605
5606
5607
5608
if(!(pArrCat = Get_ArrayOptionCategory(yyvsp[-2].c)))
vyyerror("Unknown Array Option Class '%s'", yyvsp[-2].c);
else{
if(!(pArrOpt = Get_ArrayOption(yyvsp[0].c, pArrCat, &i)))
vyyerror("Unknown Array Option '%s.%s'", yyvsp[-2].c, yyvsp[0].c);
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<4 ; j++) yyval.v[j] = ((double*)pArrOpt)[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<4 ; j++) yyval.v[j] = (double)((float*)pArrOpt)[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<4 ; j++) yyval.v[j] = (double)((int*)pArrOpt)[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<4 ; j++) yyval.v[j] = (double)((int*)pArrOpt)[j] ;
break ;
}
yyval.v[4] = 1. ;
}
}
{
5615
5616
5617
5618
5619
5620
5621
5622
5623
5624
5625
5626
5627
5628
5629
5630
5631
5632
5633
5634
5635
5636
5637
5638
5639
5640
vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c);
else{
if(!(pArrOpt = Get_ArrayViewOption((int)yyvsp[-3].d, yyvsp[0].c, &i))){
if(i < 0) vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-3].d);
else vyyerror("Unknown Array Option '%s.View[%d].%s'",
yyvsp[-7].c, (int)yyvsp[-3].d, yyvsp[0].c);
}
else{
switch(i){
case GMSH_DOUBLE :
for(j=0 ; j<3 ; j++) yyval.v[j] = ((double*)pArrOpt)[j] ;
break ;
case GMSH_FLOAT :
for(j=0 ; j<3 ; j++) yyval.v[j] = (double)((float*)pArrOpt)[j] ;
break ;
case GMSH_LONG :
for(j=0 ; j<3 ; j++) yyval.v[j] = (double)((int*)pArrOpt)[j] ;
break ;
case GMSH_INT :
for(j=0 ; j<3 ; j++) yyval.v[j] = (double)((int*)pArrOpt)[j] ;
break ;
}
yyval.v[3] = 0. ;
yyval.v[4] = 1. ;
}
}
;
break;}
{
;
break;}
{
;
break;}
{
;
break;}
{
;
break;}
{
ListOfListOfDouble_L = List_Create(2,1,sizeof(List_T*)) ;
;
break;}
List_Add(ListOfListOfDouble_L, &(yyvsp[0].l)) ;
{
ListOfDouble_L = List_Create(2,1,sizeof(double)) ;
List_Add(ListOfDouble_L, &(yyvsp[0].d)) ;
yyval.l=ListOfDouble_L;
;
break;}
{
yyval.l=ListOfDouble_L;
;
break;}
{
ListOfDouble_L = List_Create(2,1,sizeof(double)) ;
List_Add(ListOfDouble_L, &(yyvsp[0].d)) ;
;
break;}
{
ListOfDouble_L = List_Create(2,1,sizeof(double)) ;
for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){
List_Read(ListOfDouble2_L, i, &d) ;
List_Add(ListOfDouble_L, &d) ;
}
List_Delete(ListOfDouble2_L);
;
break;}
{
List_Add(ListOfDouble_L, &(yyvsp[0].d)) ;
;
break;}
{
for(i=0 ; i<List_Nbr(ListOfDouble2_L) ; i++){
List_Read(ListOfDouble2_L, i, &d) ;
List_Add(ListOfDouble_L, &d) ;
}
List_Delete(ListOfDouble2_L);
;
break;}
{
yyval.u = PACK_COLOR((int)yyvsp[-7].d, (int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d);
;
break;}
{
yyval.u = PACK_COLOR((int)yyvsp[-5].d, (int)yyvsp[-3].d, (int)yyvsp[-1].d, 255);
;
break;}
{
yyval.u = Get_ColorForString(ColorString, (int)yyvsp[-1].d, yyvsp[-3].c, &flag);
if(flag) vyyerror("Unknown Color '%s'", yyvsp[-3].c);
;
break;}
{
yyval.u = Get_ColorForString(ColorString, -1, yyvsp[0].c, &flag);
if(flag) vyyerror("Unknown Color '%s'", yyvsp[0].c);
;
break;}
{
if(!(pColCat = Get_ColorOptionCategory(yyvsp[-4].c)))
vyyerror("Unknown Color Option Class '%s'", yyvsp[-4].c);
else{
if(!(pColOpt = Get_ColorOption(yyvsp[0].c, pColCat)))
vyyerror("Unknown Color Option '%s.%s'", yyvsp[-4].c, yyvsp[0].c);
else{
yyval.u = *pColOpt ;
}
}
;
break;}
{
yyval.l = ListOfColor_L;
;
break;}
{
if(!ListOfColor_L)
ListOfColor_L = List_Create(256,10,sizeof(unsigned int)) ;
else
List_Reset(ListOfColor_L) ;
if(strcmp(yyvsp[-7].c, "PostProcessing"))
vyyerror("Unknown View Option Class '%s'", yyvsp[-7].c);
else{
ColorTable *ct = Get_ColorTableViewOption((int)yyvsp[-3].d);
if(!ct)
vyyerror("PostProcessing View %d does not Exist", (int)yyvsp[-3].d);
else{
for(i=0 ; i<ct->size ; i++)
List_Add(ListOfColor_L, &ct->table[i]);
}
}
yyval.l = ListOfColor_L;
{
if(!ListOfColor_L)
ListOfColor_L = List_Create(256,10,sizeof(unsigned int)) ;
else
List_Reset(ListOfColor_L) ;
List_Add(ListOfColor_L, &(yyvsp[0].u)) ;
;
break;}
{
List_Add(ListOfColor_L, &(yyvsp[0].u)) ;
;
break;}
}
/* the action file gets copied in in place of this dollarsign */
5832
5833
5834
5835
5836
5837
5838
5839
5840
5841
5842
5843
5844
5845
5846
5847
5848
5849
5850
5851
5852
5853
5854
5855
5856
5857
5858
5859
5860
5861
5862
5863
5864
5865
5866
5867
5868
5869
5870
5871
5872
5873
5874
5875
5876
5877
5878
5879
5880
5881
5882
5883
5884
5885
5886
5887
5888
5889
5890
5891
5892
5893
5894
5895
5896
5897
5898
5899
5900
5901
5902
5903
5904
5905
5906
5907
5908
5909
5910
5911
5912
5913
5914
5915
5916
5917
5918
5919
5920
5921
5922
5923
5924
5925
5926
5927
5928
5929
5930
5931
5932
5933
5934
5935
5936
5937
5938
5939
5940
5941
5942
5943
5944
5945
5946
5947
5948
5949
5950
5951
5952
5953
5954
5955
5956
5957
5958
5959
5960
5961
5962
5963
5964
5965
5966
5967
5968
5969
5970
5971
5972
5973
5974
5975
5976
5977
5978
5979
5980
5981
5982
5983
5984
5985
5986
5987
5988
5989
5990
5991
5992
5993
5994
5995
5996
5997
5998
5999
6000
yyvsp -= yylen;
yyssp -= yylen;
#ifdef YYLSP_NEEDED
yylsp -= yylen;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
*++yyvsp = yyval;
#ifdef YYLSP_NEEDED
yylsp++;
if (yylen == 0)
{
yylsp->first_line = yylloc.first_line;
yylsp->first_column = yylloc.first_column;
yylsp->last_line = (yylsp-1)->last_line;
yylsp->last_column = (yylsp-1)->last_column;
yylsp->text = 0;
}
else
{
yylsp->last_line = (yylsp+yylen-1)->last_line;
yylsp->last_column = (yylsp+yylen-1)->last_column;
}
#endif
/* 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 - YYNTBASE] + *yyssp;
if (yystate >= 0 && yystate <= YYLAST && yycheck[yystate] == *yyssp)
yystate = yytable[yystate];
else
yystate = yydefgoto[yyn - YYNTBASE];
goto yynewstate;
yyerrlab: /* here on detecting error */
if (! yyerrstatus)
/* If not already recovering from an error, report this error. */
{
++yynerrs;
#ifdef YYERROR_VERBOSE
yyn = yypact[yystate];
if (yyn > YYFLAG && yyn < YYLAST)
{
int size = 0;
char *msg;
int x, count;
count = 0;
/* Start X at -yyn if nec to avoid negative indexes in yycheck. */
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
size += strlen(yytname[x]) + 15, count++;
msg = (char *) malloc(size + 15);
if (msg != 0)
{
strcpy(msg, "parse error");
if (count < 5)
{
count = 0;
for (x = (yyn < 0 ? -yyn : 0);
x < (sizeof(yytname) / sizeof(char *)); x++)
if (yycheck[x + yyn] == x)
{
strcat(msg, count == 0 ? ", expecting `" : " or `");
strcat(msg, yytname[x]);
strcat(msg, "'");
count++;
}
}
yyerror(msg);
free(msg);
}
else
yyerror ("parse error; also virtual memory exceeded");
}
else
#endif /* YYERROR_VERBOSE */
yyerror("parse error");
}
goto yyerrlab1;
yyerrlab1: /* here on error raised explicitly by an action */
if (yyerrstatus == 3)
{
/* if just tried and failed to reuse lookahead token after an error, discard it. */
/* return failure if at end of input */
if (yychar == YYEOF)
YYABORT;
#if YYDEBUG != 0
if (yydebug)
fprintf(stderr, "Discarding token %d (%s).\n", yychar, yytname[yychar1]);
#endif
yychar = YYEMPTY;
}
/* Else will try to reuse lookahead token
after shifting the error token. */
yyerrstatus = 3; /* Each real token shifted decrements this */
goto yyerrhandle;
yyerrdefault: /* current state does not do anything special for the error token. */
#if 0
/* This is wrong; only states that explicitly want error tokens
should shift them. */
yyn = yydefact[yystate]; /* If its default is to accept any token, ok. Otherwise pop it.*/
if (yyn) goto yydefault;
#endif
yyerrpop: /* pop the current state because it cannot handle the error token */
if (yyssp == yyss) YYABORT;
yyvsp--;
yystate = *--yyssp;
#ifdef YYLSP_NEEDED
yylsp--;
#endif
#if YYDEBUG != 0
if (yydebug)
{
short *ssp1 = yyss - 1;
fprintf (stderr, "Error: state stack now");
while (ssp1 != yyssp)
fprintf (stderr, " %d", *++ssp1);
fprintf (stderr, "\n");
}
#endif
yyerrhandle:
yyn = yypact[yystate];
if (yyn == YYFLAG)
goto yyerrdefault;
yyn += YYTERROR;
if (yyn < 0 || yyn > YYLAST || yycheck[yyn] != YYTERROR)
goto yyerrdefault;
yyn = yytable[yyn];