资源描述:
《天津理工大学编译原理实验语法分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、实验报告学院(系)名称:计算机与通信工程学院姓名学号专业班级实验项目实验二:语法分析课程名称编译原理课程代码实验时间2016年4月21日第1、2节2016年4月26日第3、4节2016年4月28日第1、2节实验地点计算机软件实验室7-220批改意见成绩教师签字:实验内容:可选择LL1分析法、算符优先分析法、LR分析法之一,实现如下表达式文法的语法分析器:(1)E→E+T
2、E-T
3、T(2)T→T*F
4、T/F
5、F(3)F→P^F
6、P(4)P→(E)
7、i实验目的:1.掌握语法分析的基本概念和基本方法;2.正确理解LL1分析法、算符优先分析法、LR分析法的设计与
8、使用方法。实验要求:1.按要求设计实现能识别上述文法所表示语言的语法分析器,并要求输出全部分析过程;2.要求详细描述所选分析方法针对上述文法的分析表构造过程;3.完成对所设计语法分析器的功能测试,并给出测试数据和实验结果;4.为增加程序可读性,请在程序中进行适当注释说明;5.整理上机步骤,总结经验和体会;6.认真完成并按时提交实验报告。第13页共13页【实验过程记录(源程序、测试用例、测试结果及心得体会等)】使用的是LL(1)分析法,其分析表的构造方法和构造过程如下:实验源代码:#include#include#de
9、finesize1024usingnamespacestd;intgetLength(charstr[size]){inti=0;while(str[i]!=' ')i++;returni;}intgetstringLength(stringstr){inti=0;while(str[i]!=' ')i++;returni;}chargettop(charstack[size],inttop){if(stack[top]!=' ')returnstack[top];elsereturn'#';}voidpopstack(char*stack,int
10、*pointer){intp=*pointer;cout<<"tPopup"<