学生用-编译原理实验指导书

学生用-编译原理实验指导书

ID:40226612

大小:475.50 KB

页数:14页

时间:2019-07-27

学生用-编译原理实验指导书_第1页
学生用-编译原理实验指导书_第2页
学生用-编译原理实验指导书_第3页
学生用-编译原理实验指导书_第4页
学生用-编译原理实验指导书_第5页
资源描述:

《学生用-编译原理实验指导书》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、实验一无符号数的有穷自动机的实现(一)实验目的无符号数的有穷自动机的实现目的是使学生掌握文法的形式描述,穷自动机的概念。将文法转换成有穷自动机的方法,理解出错处理程序思想,如何用状态矩阵实现一个穷自动机的机内表示。(二)实验内容1.无符号数的BNF描述(0)<无符号数>àd<余留无符号数>

2、.<十进制数>

3、e<指数部分>(1)<余留无符号数>àd<余留无符号数>

4、.<十进制数>

5、e<指数部分>

6、ε(2)<十进制小数>àd<余留十进制小数>(3)<余留十进制小数>e<指数部分>

7、d<余留十进制小数>

8、ε(4)<指数部分>àd<余留整指数>

9、+<整指

10、数>

11、-<整指数>(5)<整指数>àd<余留整指数>(6)<余留整指数>àd<余留整指数>

12、ε2.将G[<无符号数>]文法转换成有穷自动机。3.构造状态矩阵;将有穷自动机的状S1S2……Sn及输入的字a1a2……am构成一个n*m的矩阵。4.用状态矩阵设计出一个词法分析程序。5.扫描无符号数,根据文法给出无符号数出错的位置。(三)实验要求1.学生课前要认真阅读实验指导,理解实验内容与相关理论知识的关系,并完成预习报告2.用C语言或其它高级语言编写程序3.写出实验报告实验二语法制导把表达式翻译成逆波兰式(一)实验目的进一步掌握语法制导翻译的概念,理

13、解中间语言,设计出错处理程序方法,掌握把表达式翻译成中间语言的算法。(二)实验内容1.从左到右扫描中缀表达式,经语法分析找出中缀表达式出现的错误并给出错误的具体位置和类型。一个运算符栈存放暂时不能出现的运算符,逆波兰区存放逆波兰表达式。142.测试所编程序,给出正确和错误的结果。(三)实验要求1.学生课前要认真阅读实验指导,理解实验内容与相关理论知识的关系,并完成预习报告2.用C语言或其它高级语言编写程序3.写出实验报告实践一无符号数的有穷自动机的实现一、目的通过上机实习,熟悉词法分析程序所用的工具自动机,进一步理解自动机理论。掌握文法转换成自动

14、机的技术及有穷自动机实现的方法。二、题目无符号数的有穷自动机的实现三、要求及提示1、无符号数的BNF描述如下:0.<无符号数>àd<余留无符号数>

15、.<十进制数>

16、e<指数部分>1.<余留无符号数>àd<余留无符号数>

17、.<十进制数>

18、e<指数部分>

19、ε2.<十进制小数>àd<余留十进制小数>3.<余留十进制小数>e<指数部分>

20、d<余留十进制小数>

21、ε4.<指数部分>àd<余留整指数>

22、+<整指数>

23、-<整指数>5.<整指数>àd<余留整指数>6.<余留整指数>àd<余留整指数>

24、ε2、将G[<无符号数>]文法转换成有穷自动机。3、构造状态矩阵

25、;将有穷自动机的状S1S2……Sn及输入的字a1a2……am构成一个n*m的矩阵。1、状态矩阵设计出一个词法分析程序识别无符号数。2、扫描无符号数,根据文法给出无符号数出错的位置。3、工具:C语言或其它高级语言4、实践时间:8学时14四、实践报告1、写出无符号数词法分析的思想。2、画出算法流程图。3、写出调试程序出现的问题及解决的方法。4、打印实践报告及程序清单。5、报告给出测试的结果。五、参考范例1)无符号数的文法描述如下:0.<无符号数>àd<余留无符号数>

26、.<十进制数>

27、e<指数部分>1.<余留无符号数>àd<余留无符号数>

28、.<十进制数

29、>

30、e<指数部分>

31、ε2.<十进制小数>àd<余留十进制小数>3.<余留十进制小数>e<指数部分>

32、d<余留十进制小数>

33、ε4.<指数部分>àd<余留整指数>

34、+<整指数>

35、-<整指数>5.<整指数>àd<余留整指数>6.<余留整指数>àd<余留整指数>

36、ε2)无符号数的有穷自动机实现的思想用0-----表示无符号数;用1-----表示余留无符号数;用2----表示十进制小数;用3-----表示余留十进制小数;用4-----表示指数部分;用5-----表示整指数;用6-----表示余留整指数。输入无符号数序列,从左到右扫描,遇到“#”号结束扫描。

37、设一个字符数组,接收输入的无符号数,对输入的无符号数逐一进行分析,用一个中间变量接收当前字符。当前字符值发生错误时,输出错误信息;当前字符值正确时,分析下一个字符,反复判断,直至分析完毕。143)无符号数的有穷自动机(Z表示结束符)无符号数有穷自动机由图1所示。图14)无符号数有穷自动机的状态转换矩阵无符号数有穷自动机的状态转换矩阵由表1所示。de·+-ε0142ΦΦΦ1142ΦΦZ23ΦΦΦΦΦ334Φ5ΦZ46ΦΦΦ5Φ56ΦΦΦΦΦ66ΦΦΦΦZ145)算法流程图初始化读一个字符YN是否为#?N是#?读一个字符是数字?YYN是数字?是小数点

38、.出错NY读一个字符出错N读一个字符是指数eYYN是#?读一个字符是符号+/-读一个字符是#?YY是数字?是数字?出错NNNY出错Y读一

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

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

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