void ParseT(){

    switch(lookahead){
        case (,i:
            ParseF();
            ParseT'();
            break;
        default:
             printf("语法错误! \n");
            exit(0);
    }
 }
void ParseT'(){
    switch(lookahead){
         case *:
             MatchToken(*);
             ParseF();
            ParseT'();
            break;
         case #,),+:
            break;
         default:
            printf("语法错误! \n");
            exit(0);
     }
 }
  
 void ParseE(){
     switch(lookahead){
         case (,i:
             ParseT();
             ParseE'();
             break;
          default:
          printf("语法错误! \n");
           exit(0);
   }
}
 void ParseE'(){
    switch(lookahead){
        case +:
             MatchToken(+);
             ParseT();
          ParseE'();
          break;
         case #,):
            break;
        default:
            printf("语法错误! \n");
            exit(0);
    }
 }
 
 void ParseF(){
     switch(lookahead){
         case (:
             MatchToken(();
            ParseE()
            MatchToken());
            break;
        case i:
            MatchToken(i);
            break;
       default:
            printf("语法错误! \n");
            exit(0);
  }
}
void ParseT(){
    switch(lookahead){
        case (,i:
            ParseF();
            ParseT'();
            break;
        default:
             printf("语法错误! \n");
            exit(0);
    }
 }
void ParseT'(){
    switch(lookahead){
         case *:
             MatchToken(*);
             ParseF();
            ParseT'();
            break;
         case #,),+:
            break;
         default:
            printf("语法错误! \n");
            exit(0);
     }
 }

 void ParseE(){
     switch(lookahead){
         case (,i:
             ParseT();
             ParseE'();
             break;
          default:
          printf("语法错误! \n");
           exit(0);
   }
}
 void ParseE'(){
    switch(lookahead){
        case +:
             MatchToken(+);
             ParseT();
          ParseE'();
          break;
         case #,):
            break;
        default:
            printf("语法错误! \n");
            exit(0);
    }
 }

 void ParseF(){
     switch(lookahead){
         case (:
             MatchToken(();
            ParseE()
            MatchToken());
            break;
        case i:
            MatchToken(i);
            break;
       default:
            printf("语法错误! \n");
            exit(0);
  }
}
12-28 02:49
查看更多