编译原理实验改进版(词法分析) (三)

2014-11-24 01:21:28 · 作者: · 浏览: 6
{
token[j++]=ch;
state=5;
ch=getc(fin);
}
else brp=0;
break;
case 4:
if(isdigit(ch))
{
token[j++]=ch;
ch=getc(fin);
state=5;
}
else brp=0;
break;
case 5:
brp=0;
break;
case 6:
while(isdigit(ch))
{
token[j++]=ch;
ch=getc(fin);
}

if(ch=='.')
{
token[j++]=ch;
ch=getc(fin);
state=1;
}
else brp=0;
break;
default:
state=-1;
break;
}
}
//printf("%d\n",state);
token[j]='\0';
if(state==6||state==5||state==2)
fprintf(fout,"(%s,%s)\n","40",token);
else if(state==7)
fprintf(fout,"(%s,%s)\n","10",token);
else if(state==8)
fprintf(fout,"(%s,%s)\n","30",token);
else if(state==9)
fprintf(fout,"(%s,%s)\n","20",token);
else
fprintf(fout,"(%s,%s)\n","ERROR",token);
}
fclose(fin);
fclose(fout);
printf("%d\n",es);
return 0;
}