天津理工大学编译原理实验语法分析

天津理工大学编译原理实验语法分析

ID:13845961

大小:381.50 KB

页数:13页

时间:2018-07-24

天津理工大学编译原理实验语法分析_第1页
天津理工大学编译原理实验语法分析_第2页
天津理工大学编译原理实验语法分析_第3页
天津理工大学编译原理实验语法分析_第4页
天津理工大学编译原理实验语法分析_第5页
资源描述:

《天津理工大学编译原理实验语法分析》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

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"<=0;i--){(*pointer)++;第13页共13页stack[(*pointer)]=s

11、tr[i];}}intgetcol(chartop){switch(top){case'+':return0;case'-':return1;case'*':return2;case'/':return3;case'^':return4;case')':return5;case'#':return6;case'(':return7;case'i':return8;default:cout<<"Error!Thischaracterstringisnotthisgrammer`ssentence."<

12、arstr[size],intindex){intlength=getLength(str);if(index!=-1)cout<<"t";for(inti=index+1;i

13、duction;boolmatch=false;stringtable[7][9]={//+-*/^)#(i/*E*/"error","error","error","error","error","error","error","TX","TX",/*X*/"+TX","-TX","error","error","error","empty","empty","error","error",/*T*/"error","error","error","error","error","error","error","FY","FY",/*Y*/"empty

14、","empty","*FY","/FY","error","empty","e

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。