《编译原理答案》PPT课件

《编译原理答案》PPT课件

ID:36595539

大小:3.86 MB

页数:689页

时间:2019-05-09

《编译原理答案》PPT课件_第1页
《编译原理答案》PPT课件_第2页
《编译原理答案》PPT课件_第3页
《编译原理答案》PPT课件_第4页
《编译原理答案》PPT课件_第5页
资源描述:

《《编译原理答案》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、《编译原理教程》(第三版)习题解析与上机指导胡元义等编著西安电子科技大学出版社http://www.xduph.com普通高等院校计算机类专业系列教材目录第一章绪论第二章词法分析第三章语法分析第四章语义分析和中间代码生成第五章代码优化第六章运行时存储空间组织第七章目标代码生成第八章符号表与错误处理第九章小型编译程序介绍第十章上机实验内容第十一章小型编译程序第一章绪论1.1完成下列选择题:(1)构造编译程序应掌握。a.源程序b.目标语言c.编译方法d.以上三项都是(2)编译程序绝大多数时间花在上。a.出错处理b.词法分析c.目标代码生成d.表格管理(3)编译

2、程序是对。a.汇编程序的翻译b.高级语言程序的解释执行c.机器语言的执行d.高级语言的翻译【解答】(1)d(2)d(3)d1.2计算机执行用高级语言编写的程序有哪些途径?它们之间的主要区别是什么?【解答】计算机执行用高级语言编写的程序主要有两种途径:解释和编译。在解释方式下,翻译程序事先并不采用将高级语言程序全部翻译成机器代码程序,然后执行这个机器代码程序的方法,而是每读入一条源程序的语句,就将其解释(翻译)成对应其功能的机器代码语句串并执行,而所翻译的机器代码语句串在该语句执行后并不保留,最后再读入下一条源程序语句,并解释执行。这种方法是按源程序中语句的

3、动态执行顺序逐句解释(翻译)执行的,如果一语句处于一循环体中,则每次循环执行到该语句时,都要将其翻译成机器代码后再执行。在编译方式下,高级语言程序的执行是分两步进行的:第一步首先将高级语言程序全部翻译成机器代码程序,第二步才是执行这个机器代码程序。因此,编译对源程序的处理是先翻译,后执行。从执行速度上看,编译型的高级语言比解释型的高级语言要快,但解释方式下的人机界面比编译型好,便于程序调试。这两种途径的主要区别在于:解释方式下不生成目标代码程序,而编译方式下生成目标代码程序。1.3请画出编译程序的总框图。如果你是一个编译程序的总设计师,设计编译程序时应当考

4、虑哪些问题?【解答】编译程序总框图如图1-1所示。图1-1编译程序总框图作为一个编译程序的总设计师,首先要深刻理解被编译的源语言其语法及语义;其次,要充分掌握目标指令的功能及特点,如果目标语言是机器指令,还要搞清楚机器的硬件结构以及操作系统的功能;第三,对编译的方法及使用的软件工具也必须准确化。总之,总设计师在设计编译程序时必须估量系统功能要求、硬件设备及软件工具等诸因素对编译程序构造的影响等。第二章词法分析2.1完成下列选择题:(1)词法分析器的输出结果是。a.单词的种别编码b.单词在符号表中的位置c.单词的种别编码和自身值d.单词自身值(2)正规式M1

5、和M2等价是指。a.M1和M2的状态数相等b.M1和M2的有向边条数相等c.M1和M2所识别的语言集相等d.M1和M2状态数和有向边条数相等(3)DFAM(见图2-1)接受的字集为。a.以0开头的二进制数组成的集合b.以0结尾的二进制数组成的集合c.含奇数个0的二进制数组成的集合d.含偶数个0的二进制数组成的集合【解答】(1)c(2)c(3)d图2-1习题2.1的DFAM2.2什么是扫描器?扫描器的功能是什么?【解答】扫描器就是词法分析器,它接受输入的源程序,对源程序进行词法分析并识别出一个个单词符号,其输出结果是单词符号,供语法分析器使用。通常是把词法分

6、析器作为一个子程序,每当词法分析器需要一个单词符号时就调用这个子程序。每次调用时,词法分析器就从输入串中识别出一个单词符号交给语法分析器。2.3设M=({x,y},{a,b},f,x,{y})为一非确定的有限自动机,其中f定义如下:f(x,a)={x,y}f{x,b}={y}f(y,a)=Φf{y,b}={x,y}试构造相应的确定有限自动机M′。【解答】对照自动机的定义M=(S,Σ,f,So,Z),由f的定义可知f(x,a)、f(y,b)均为多值函数,因此M是一非确定有限自动机。先画出NFAM相应的状态图,如图2-2所示。图2-2习题2.3的NFAM用子集

7、法构造状态转换矩阵,如表2-1所示。表2-1状态转换矩阵将转换矩阵中的所有子集重新命名,形成表2-2所示的状态转换矩阵,即得到M′=({0,1,2},{a,b},f,0,{1,2}),其状态转换图如图2-3所示。表2-2状态转换矩阵将图2-3所示的DFAM′最小化。首先,将M′的状态分成终态组{1,2}与非终态组{0}。其次,考察{1,2},由于{1,2}a={1,2}b={2}{1,2},所以不再将其划分了,也即整个划分只有两组:{0}和{1,2}。令状态1代表{1,2},即把原来到达2的弧都导向1,并删除状态2。最后,得到如图2-4所示的化简了的DF

8、AM′。图2-3习题2.3的DFAM′图2-4图2-3化简后的DF

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

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

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