编译原理:语法分析实验报告

编译原理:语法分析实验报告

ID:8957583

大小:202.00 KB

页数:3页

时间:2018-04-13

编译原理:语法分析实验报告_第1页
编译原理:语法分析实验报告_第2页
编译原理:语法分析实验报告_第3页
资源描述:

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

1、实验报告学院(系)名称:计算机与通信工程学院姓名学号专业计算机科学与技术班级实验项目实验二:语法分析课程名称编译原理课程代码0660116实验时间2011年4月14日第1、2节2011年4月19日第7、8节2011年4月21日第1、2节实验地点计算机软件实验室7-215批改意见成绩教师签字:实验内容:可选择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.正确理解L

8、L1分析法、算符优先分析法、LR分析法的设计与使用方法。实验要求:1.按要求设计实现能识别上述文法所表示语言的语法分析器,并要求输出全部分析过程;2.要求详细描述所选分析方法针对上述文法的分析表构造过程;3.完成对所设计语法分析器的功能测试,并给出测试数据和实验结果;4.为增加程序可读性,请在程序中进行适当注释说明;5.整理上机步骤,总结经验和体会;6.认真完成并按时提交实验报告。【实验过程记录(源程序、测试用例、测试结果及心得体会等)】实验所给文法为:(1)E→E+T

9、E-T

10、T(2)T→T*F

11、T/F

12、F(3)F→P^F

13、P(4)P→

14、(E)

15、i根据所给文法首先人工计算出FirstVT以及LastVT集合构造FirstVT集合根据规则一:若有产生式P→a…或P→Qa…,则a∈FIRSTVT(P)得:FirstVT(E)={+,-}FirstVT(T)={*,/}FirstVT(F)={^}FirstVT(P)={i,(}根据规则二:若有产生式P→Q…,且a∈FIRSTVT(Q),则a∈FIRSTVT(P)。由F→P^F

16、P且FirstVT(P)={i,(}得:FirstVT(F)={^,i,(}由T→F且FirstVT(F)={^,i,(}得:FirstVT(T)={*

17、,/,^,i,(}由E→T且FirstVT(T)={*,/,^,i,(}得:FirstVT(E)={+,-,*,/,^,i,(}构造LastVT集合根据规则一:若有产生式P→…a或P→…aQ,则a∈LASTVT(P)得:LastVT(E)={+,-}LastVT(T)={*,/}LastVT(F)={^}LastVT(P)={i,)}根据规则二:若有产生式P→…Q,且a∈LASTVT(Q),则a∈LASTVT(P)由F→P^F

18、P且LastVT(P)={i,)}得:LastVT(F)={^,i,)}由T→F且LastVT(F)={^,i,

19、)}得:LastVT(T)={*,/,^,i,)}由E→T且LastVT(T)={*,/,^,i,)}得:LastVT(E)={+,-,*,/,^,i,)}综上:FirstVT(E)={+,-,*,/,^,i,(}LastVT(E)={+,-,*,/,^,i,)}FirstVT(T)={*,/,^,i,(}LastVT(T)={*,/,^,i,)}FirstVT(F)={^,i,(}LastVT(F)={^,i,)}FirstVT(P)={i,(}LastVT(P)={i,)}构造算符优先关系表+-*/^i()#+>><<<<<>>->>

20、<<<<<>>*>>>><<<>>/>>>><<<>>^>>>><<<>>i>>>>>>>(<<<<<<<=)>>>>>>>#<<<<<<<=根据算符优先关系表进行规约输入的字符串为:i^i+i*(i+i)符号栈输入串动作#i^i+i*(i+i)#移入#i

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

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

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