全文预览

递归下递语法分析

上传者:徐小白 |  格式:doc  |  页数:10 |  大小:0KB

文档介绍
statement();Р while (syn==26)Р { scaner(); statement();Р }Р return;Р}Рvoid lrparser()Р{Р if (syn==1)Р { scaner(); yucu();Р if (syn==6)Р { scaner();Р if (syn==0 && (kk==0))Р printf("ess");Р elseР { if (kk!=1)Р printf("The lack of \"end\",ERROR!");Р kk=1;Р } } }Р elseР { printf("The lack of \"begin\",ERROR!");Р kk=1;Р }Р return;Р}Рvoid main()Р{Р kk=0; p=0;Р printf("\nplease input string: (end of \"#\")\n");Р doР { ch=getchar();Р prog[p++]=ch;Р }Р while (ch!='#');Р p=0;Р scaner();Р lrparser();Р printf("\nplease enter key...");Р getch();Р}四、程序测试结果Р对源程序begin a:=9; x:=2*3; b:=a+x end #的源文件,经过语法分析后如下图4-1所示:Р图 4-1 正确结果输出Р对源程序x:=a+b*c end #的源文件,经过语法分析后如下图4-2所示:Р图 4-2 错误结果输出Р五、总结Р通过对语法分析程序的设计和编写,使自己获得了很大的收获,并且使自己对语法分析程序的功能有了更进一步认识。虽然在程序的设计和编写过程中出现了一些错误,但是经过同学的帮助和指导,顺利的将程序中存在的错误顺利解决,从而顺利完成了本程序的设计和编译。

收藏

分享

举报
下载此文档