欢迎来到天天文库
浏览记录
ID:56099377
大小:60.00 KB
页数:6页
时间:2020-06-19
《《递归下降分析法》实验报告.doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、《编译原理》课程实验报告实验名称:递归下降分析法姓名:LZ学号:110地点:机房教师:老师院系:计通专业:计算机时间:一.实验目的(1)掌握递归下降语法分析的基本原理和方法。(2)掌握自上而下语法分析的要求与特点。(3)掌握相应数据结构的设计方法。二.实验内容#includecharscaner(char*input,int*p);voidS(char*input,int*p);voidT(char*input,int*p);voidT1(char*input,int*p);voiderror();intsym=0;intmain(){intp=0;charinp
2、ut[200]={0};printf("提示:单词只能由()a^,组成,且单词必须以$#结尾");printf("请输入你要识别的单词");scanf("%[^#]s",input);printf("thewordyouinputis:%s",input);sym=scaner(input,&p);S(input,&p);if(sym=='$')printf("sucess");elseprintf("fail");do{;}while(1);return0;}charscaner(char*input,int*p){chartemp=input[*p];(*p)+
3、+;returntemp;}voidS(char*input,int*p){if(sym=='a'
4、
5、sym=='^')sym=scaner(input,p);elseif(sym=='('){sym=scaner(input,p);T(input,p);if(sym==')')sym=scaner(input,p);elseerror();}return;}voidT(char*input,int*p){S(input,p);T1(input,p);return;}voidT1(char*input,int*p){if(sym==','){sym=scaner(input,p);
6、S(input,p);T1(input,p);}elseif(sym!=')')error();}voiderror(){printf("error!");return;}三.实验步骤四.总结与回顾通过该实验的操作,我了解了语法分析器的内部工作原理,并掌握自上而下语法分析的要求与特点。了解了每个函数的功能是识别由该终结符所表示的语法成分,通过在实验中运用一定的编程技巧,掌握对表达式进行处理的一种方法;在实验最后的调试中让我对该实验有了更全面的知识掌握,从中进步了不少。
此文档下载收益归作者所有