北邮大三上-编译原理-语法分析实验报告

北邮大三上-编译原理-语法分析实验报告

ID:37927224

大小:846.34 KB

页数:23页

时间:2019-06-02

北邮大三上-编译原理-语法分析实验报告_第1页
北邮大三上-编译原理-语法分析实验报告_第2页
北邮大三上-编译原理-语法分析实验报告_第3页
北邮大三上-编译原理-语法分析实验报告_第4页
北邮大三上-编译原理-语法分析实验报告_第5页
资源描述:

《北邮大三上-编译原理-语法分析实验报告》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、WORD格式-专业学习资料-可编辑编译原理第四章语法分析班级:09211311学号:姓名:schnee--学习资料分享----WORD格式-专业学习资料-可编辑目录1.实验题目和要求22.递归调用预测分析实现自顶向下分析(方法1)21.消除左递归⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.22.画状态转移图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯33.编程实现递归调用自顶向下分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.33.

2、LR实现自底向上分析(方法三)61.构造识别所有活前缀的DFA⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.62.构造LR分析表⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.73.编程实现算法4.3,实现自底向上LR分析⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯..84.运行结果截图⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯⋯.11--学习资料分享----WORD格式-专业学习资料-

3、可编辑--学习资料分享----WORD格式-专业学习资料-可编辑1--学习资料分享----WORD格式-专业学习资料-可编辑1.实验题目和要求题目:语法分析程序的设计与实现。实验内容:编写语法分析程序,实现对算术表达式的语法分析。要求所分析算术表达式由如下的文法产生。EET

4、ET

5、TTT*F

6、T/F

7、FFid

8、(E)

9、num实验要求:在对输入表达式进行分析的过程中,输出所采用的产生式。方法1:编写递归调用程序实现自顶向下的分析。方法2:编写LL(1)语法分析程序,要求如下。(1)编程实现算法4.2,为给定文法自动构造预测分析表。(

10、2)编程实现算法4.1,构造LL(1)预测分析程序。方法3:编写语法分析程序实现自底向上的分析,要求如下。(1)构造识别所有活前缀的DFA。(2)构造LR分析表。(3)编程实现算法4.3,构造LR分析程序。方法4:利用YACC自动生成语法分析程序,调用LEX自动生成的词法分析程序。2.递归调用预测分析实现自顶向下分析(方法1)(1)消除文法左递归。文法改写为:ETE'E'TE'

11、TE'

12、TFT'T'*FT'

13、/FT'

14、Fid

15、(E)

16、--学习资料分享----WORD格式-专业学习资料-可编辑num--学习资料分享----WORD格

17、式-专业学习资料-可编辑2--学习资料分享----WORD格式-专业学习资料-可编辑(2)画出状态图得E:0T1E2E:3+4T5E6T:7F8T9T:1*1F1T1F:14(15E16)17id化简得+-E:0T36*/T:7F813F:14(15E16)17id(3)预测分析程序的实现①说明定义函数error()为错误处理子程序。定义函数forward_pointer()为指向输入串的指针前进一位的相关子程序。定义字符cur_token为当前记号,即语法分析时的终结符。对应三个非终结符,各定义一个子程序。--学习资料分享---

18、-WORD格式-专业学习资料-可编辑--学习资料分享----WORD格式-专业学习资料-可编辑3--学习资料分享----WORD格式-专业学习资料-可编辑主函数从开始符出发。②源程序--学习资料分享----WORD格式-专业学习资料-可编辑--学习资料分享----WORD格式-专业学习资料-可编辑4--学习资料分享----WORD格式-专业学习资料-可编辑--学习资料分享----WORD格式-专业学习资料-可编辑5--学习资料分享----WORD格式-专业学习资料-可编辑3.LR实现自底向上分析(方法三)(1)构造识别所有活前缀的

19、DFA。构造扩展文法E'EEET

20、ET

21、TTT*F

22、T/F

23、FFid

24、(E)

25、numFIRST和FOLLOW集如下ETFFIRSTid,(,numid,(,numid,(,numFOLLOW$,),+,-$,),+,-,*,/$,),+,-,*,/构造识别所有活前缀的DFA如下--学习资料分享----WORD格式-专业学习资料-可编辑--学习资料分享----WORD格式-专业学习资料-可编辑6--学习资料分享----WORD格式-专业学习资料-可编辑(2)构造LR分析表。EET(1)TT*F(4)Fid(7)EET(2)TT/F(

26、5)F(E)(8)ET(3)TF(6)Fnum(9)--学习资料分享----WORD格式-专业学习资料-可编辑状action态+-*/idnum()$0s4S6S51s7s8acc2r3r3s9s10r3r33r6r6r6r6r6r64r7r7r7

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

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

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