天津理工大学编译原理实验2语法分析解析 .doc

天津理工大学编译原理实验2语法分析解析 .doc

ID:51490681

大小:875.50 KB

页数:23页

时间:2020-03-25

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

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

1、实验报告学院(系)名称:计算机与通信工程学院姓名******学号******专业计算机科学与技术班级******实验项目实验二:语法分析课程名称编译原理课程代码0668056实验时间******实验地点计算机软件实验室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.正确理解LL1分析

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

9、a)由EàE+…

10、E-…得,FIRSTVT(E)={+,-};b)由TàT*…

11、T/…得,FIRSTVT(T)={*,/};c)由FàP^…得,FIRSTVT(P)={^};d)由Pà(…

12、i得,FIRSTVT(P)={(,i};e)由FàP得,FIRSTVT(P)⊂FIRSTVT(F),即FIRSTVT(F)={^,(,i};f)由TàF得,FIRSTVT(F)⊂FIRSTVT(T),即FIRSTVT(T)={*,/,^,(,i};g)由EàT得,FIRSTVT(T)⊂FIRSTVT(E),即FIRST

13、VT(E)={+,-,*,/,^,(,i};2.构造LASTVT集a)由Eà…+T

14、…-T得,LASTVT(E)={+,-};b)由Tà…*F

15、…/F得,LASTVT(T)={*,/};c)由Fà…^F得,LASTVT(F)={^};d)由Pà…)

16、i得,LASTVT(P)={(,i};e)由FàP得,LASTVT(P)⊂LASTVT(F),即LASTVT(F)={^,(,i};f)由TàF得,LASTVT(F)⊂LASTVT(T),即LASTVT(T)={*,/,^,(,i};g)由EàT得,LASTV

17、T(T)⊂LASTVT(E),即LASTVT(E)={+,-,*,/,^,(,i};3.构造优先关系表a)由Eà…+T

18、…-T得+

19、…/F得*

20、i得^

21、,即(<+,(<-,(<*,(

22、E-…得LASTVT(E)>+,LASTVT(E)>-即+>+,+>-,->-,->+,*>+,/>+,*>-,/>-,)>+,i>+,)>-;f)由TàT*…

23、T/…得LASTVT(T)>*,LASTVT(T)>/即*>*,*>/,/>*,/>/,^>*,^>/,(>*,(>/,i>*,i>/;g)由FàP^…,得LASTVT(P)>^即(>^,i>^;h)由Pà(E…

24、i,得LASTVT(E)>),即+>),->),*>),

25、/>),^>),)>),i>);i)由#E#得#=#j)由#)即+>#,->#,*>#,/>#,^>#,)>#,i>#;第23页共23页优先关系表+-*/^i()#+>><<<<<>>->><<<<<>>*>>>><<<>>/>>>><<<>>^>>>>><<>>i>>>>>34>>(<<<<<<<=5)>>>>>67>>#<<<<<<<8=注1.其中3、4、5、6、7、8是为错误编号2.0表示=,1

26、表示<,2表示>二、程序设计1.语法分析程序流程图第23页共23页2.语法分析流程图3.程序结果第23页共23页4.源程序/*****main.cpp*****/#include#include#include"Window.h"intmain(intargc,char**argv){QTextCodec*codec=QTextCodec::code

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

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

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