一个简单的C语言编译器(4) r->group='e'; else if(r->word=="do") r->group='d'; else if(r->word=="while") r->group='w'; else if(r->word=="return") r->group='r'; else r->group='@'; } break; case 3: if(isdigit(c)){ s=3; r->word+=c; c=nextChar(); } else if(isalpha(c)c=='_'){ s=2; r->word+=c; err(2,line); c=nextChar(); } else{ s=0; r->line=line; r->group='n'; } break; case 4: if((r->word.c_str())[0]==c){ s=0; r->word+=c; r->group='&'; r->line=line; c=nextChar(); } else { s=1; err(3,line); } break; case 5: if(c=='='){ r->word+=c; c=nextChar(); } s=0; r->line=line; r->group='>'; break; case 6: if(c=='='){ r->word+=c; r->group='>';