文档介绍:语法分析程序(递归下降法)班级学号姓名:指导老师::学习语法分析的主要方法;熟悉复习词法分析的方法;判断表达式的正确性;熟悉C语言并提高动手能力;:用递归下降分析法编写一个用于判断数学表达式是否正确的语法分析实验硬件和软件平台::调用词法分析程序,转换表达式成为内号;调用语法分析程序,判断表达式正确与否;源程序:#include<>#include<>#include<>#defineyyswy=adv()FILE*fp1;charch;intswy;main(){ voidCS(); intchz(charstr[15]); intadv(); voidCT(); voidE(); voidEB(); voidERROR(); voidET(); voidF(); voidIT(); voidT();voidsentence();clrscr(); ch=''; fp1=fopen("","r");if(!fp1){printf("!!\n”);exit(0);} /*while(!feof(fp1))*/ { yy; sentence(); fclose(fp1); }}voidERROR(){ printf("%dERROR!\n",swy);}voidE(){ T();while(swy==34||swy==35) { yy; T(); }}voidT(){ F(); while(swy==36||swy==37) { yy; F(); }}voidF(){ if(swy==21||swy==22)yy; elseif(swy==27) { yy; E(); if(swy==28)yy; elseERROR(); } elseERROR();}voidsentence(){ switch(swy) { case21: { yy; if(swy==44) { yy; E();} elseERROR();break; }case1:CS();break; case8: { yy; EB();if(swy!=4)ERROR(); yy;sentence();break; } case19: { yy; EB(); if(swy!=4)ERROR(); yy; sentence(); }break;case14: { yy; if(swy!=27)ERROR(); yy; IT(); if(swy!=28)ERROR(); yy;break; }case20: { yy; if(swy!=27)ERROR(); yy; ET(); if(swy!=28)ERROR(); yy;break; } }}voidCS(){ yy; sentence(); while(swy==24) { yy; sentence(); } if(swy==6)yy; elseERROR();}voidCT(){ if(swy==5) { yy; sentence(); }}voidEB(){ E(); if(swy<=43&&swy>=38)