编译原理实验1-词法分析(二)

2014-11-24 00:56:26 · 作者: · 浏览: 17
ak;
case')':
myword->typenum=28;
myword->word=")";
return(myword);
break;
case'[':
myword->typenum=28;
myword->word="[";
return(myword);
break;
case']':
myword->typenum=29;
myword->word="]";
return(myword);
break;
case'{':
myword->typenum=30;
myword->word="{";
return(myword);
break;
case'}':
myword->typenum=31;
myword->word="}";
return(myword);
break;
case',':
myword->typenum=32;
myword->word=",";
return(myword);
break;
case':':
mgetch();
if (ch=='=')
{
myword->typenum=18;
myword->word=":=";
return(myword);
}
retract();
myword->typenum=17;
myword->word=":";
return(myword);
break;
case';':
myword->typenum=26;
myword->word=";";
return(myword);
break;
case'>':
mgetch();
if (ch=='=')
{
myword->
typenum=37;
myword->word=">=";
return(myword);
}
retract();
myword->typenum=35;
myword->word=">";
return(myword);
break;
case'<':
mgetch();
if (ch=='=')
{
myword->typenum=38;
myword->word="<=";
return(myword);
}
if (ch=='>')
{
myword->typenum=21;
myword->word="<=";
return(myword);
}
retract();
myword->typenum=20;
myword->word="<";
return(myword);
break;
case'!':
mgetch();
if (ch=='=')
{
myword->typenum=40;
myword->word="!=";
return(myword);
}
retract();
myword->typenum=-1;
myword->word="ERROR";
return(myword);
break;
case'\0':
myword->typenum=1000;
myword->word="OVER";
return(myword);
break;
default:
myword->typenum=-1;
myword->word="ERROR";
return(myword);
}
}