发布时间 : 星期三 文章编译原理词法分析器实验报告更新完毕开始阅读1747d08bb94cf7ec4afe04a1b0717fd5360cb295
switch (state) {
case 1:
if(b>='0'&&b<='9') {
state=1;
d[i++]=b;
b=getchar();}
else if(b=='.') { state=2;d[i++]=b;b=getchar();} else if(b=='E') { state=4;d[i++]=b;b=getchar();} else state=7;
break;
case 2:
if(b>='0'&&b<='9') { state=3;
d[i++]=b;
b=getchar();}
else state=8;
break;
case 3:
if(b>='0'&&b<='9') {
state=3;
d[i++]=b;
b=getchar();}
else if(b=='E') { state=4;d[i++]=b;b=getchar();}
else state=7;
break;
case 4:
if(b=='+'||b=='-') { state=5;d[i++]=b;b=getchar();}
else
if(b>='0'&&b<='9'){ state=6;d[i++]=b;b=getchar();}
else state=8;
break;
case 5:
if(b>='0'&&b<='9'){ state=6;d[i++]=b;b=getchar();}
else state=8;
break;
case 6:
if(b>='0'&&b<='9'){ state=6;d[i++]=b;b=getchar();}
else state=7;
break;
case 7: f=1;break;
case 8: f=1;break;
}
}
if(state==7&&(b<'a'||b>'z')&&(b<'A'||b>'Z'))
printf(\
else if(state==7&&(b>='a'&&b<='z')||(b>='A'&&b<='Z'))/*数字后接字
母的出错控制*/
{
while((b>='a'&&b<='z')||(b>='A'&&b<='Z'))
{ d[i++]=b;
b=getchar();
}
printf(\
}
else printf(\
for(j=0;j<=i;j++)
d[j]='\\0';
i=0;
f=0;
state=1;