文档库 最新最全的文档下载
当前位置:文档库 › 编译原理教程课后习题答案——第七章

编译原理教程课后习题答案——第七章

编译原理教程课后习题答案——第七章
编译原理教程课后习题答案——第七章

第七章目标代码生成

7.1 对下列四元式序列生成目标代码:

T=A-B

S=C+D

W=E-F

U=W/T

V=U*S

其中,V是基本块出口的活跃变量,R0和R1是可用寄存器。

【解答】简单代码生成算法依次对四元式进行翻译。我们以四元式T=a+b为例来说明其翻译过程。

汇编语言的加法指令代码形式为

ADD R, X

其中,ADD为加法指令;R为第一操作数,第一操作数必须为寄存器类型;X为第二操作数,它可以是寄存器类型,也可以是内存型的变量。ADD R,X指令的含意是:将第一操作数R与第二操作数相加后,再将累加结果存放到第一操作数所在的寄存器中。要完整地翻译出四元式T=a+b,则可能需要下面三条汇编指令:

MOV R, a

ADD R, b

MOV T, R

第一条指令是将第一操作数a由内存取到寄存器R中;第二条指令完成加法运算;第三条指令将累加后的结果送回内存中的变量T。是否在翻译成目标代码时都必须生成这三条汇编指令呢?从目标代码生成的优化角度考虑,即为了使生成的目标代码更短以及充分利用寄存器,上面的三条指令中,第一条和第三条指令在某些情况下是不必要的。这是因为,如果下一个四元式紧接着需要引用操作数T,则第三条指令就不急于生成,可以推迟到以后适当的时机再生成。

此外,如果必须使用第一条指令,即第一操作数不在寄存器而是在内存中,且此时所有可用寄存器都已分配完毕,这时就要根据寄存器中所有变量的待用信息(也即引用点)来决定淘汰哪一个寄存器留给当前的四元式使用。寄存器的淘汰策略如下:

(1) 如果某寄存器中的变量已无后续引用点且该变量是非活跃的,则可直接将该寄存器作为空闲寄存器使用。

(2) 如果所有寄存器中的变量在基本块内仍有引用点且都是活跃的,则将引用点最远的变量所占用寄存器中的值存放到内存与该变量对应的单元中,然后再将此寄存器分配给当前的指令使用。

因此,本题所给四元式序列生成的目标代码如下:

MOV R0, A

SUB R0, C /*R0=T*/

MOV R1, C

ADD R1, D /*R1=S*/

MOV S, R1 /*S引用点较T引用点远,故将R1的值送内存单元S*/

MOV R1, E

SUB R1, F /*R1=W*/

SUB R1, R0 /*R1=U*/

MUL R1, S /*R1=V*/

7.2 假设可用的寄存器为R0和R1,且所有临时单元都是非活跃的,试将以下四元式基本

块:

T1=B-C

T2=A*T1

T3=D+1

T4=E-F

T5=T3*T4

W=T2/T5

用简单代码生成算法生成其目标代码。

【解答】该基本块的目标代码如下(指令后面为相应的注释):

MOV R0, B /*取第一个空闲寄存器R0*/

SUB R0, C /*运算结束后R0中为T1结果,内存中无该结果*/

MOV R1, A /*取一个空闲寄存器R1*/

MUL R1, R0 /*运算结束后R1中为T2结果,内存中无该结果*/

MOV R0, D /*此时R0中结果T1已经没有引用点,且临时单元T1是非活跃的,所以,寄存器R0可作为空闲寄存器使用*/

ADD R0, ″1″/*运算结束后R0中为T3结果,内存中无该结果*/

MOV T2, R1 /*翻译四元式T4=E-F时,所有寄存器已经分配完毕,寄存器R0中存的T3和寄存器R1中存的T2都是有用的。由于T2的下一个引用点较T3的下一个引用点更远,所以暂时可将寄存器R1中的结果存回到内存的变量T2中,从而将寄存器R1空闲以备使用*/

MOV R1, E

SUB R1, F /*运算结束后R1中为T4结果,内存中无该结果*/

MUL R0, R1 /*运算结束后R0中为T5结果,内存中无该结果。注意,该指令将寄存器R0中原来的结果T3冲掉了。可以这么做的原因是,T3在该指令后不再有引用点,且是非活跃变量*/

MOV R1, T2 /*此时R1中结果T4已经没有引用点,且临时单元T4是非活跃的,因此寄存器R1可作为空闲寄存器使用*/

DIV R1, R0 /*运算结束后R1中为W结果,内存中无该结果。此时所有指令部分已经翻译完毕*/

MOV W, R1 /*指令翻译完毕时,寄存器中存有最新的计算结果,必须将它们存回到内存相应的单元中去,否则,在翻译下一个基本块时,所有的寄存器被当成空闲的寄存器使用,从而造成计算结果的丢失。考虑到寄存器R0中的T5和寄存器R1中的W,临时单元T5是非活跃的,因此只要将结果W存回对应单元即可*/

7.3 对基本块P:

S0=2

S1=3/S0

S2=T-C

S3=T+C

R=S0/S3

H=R

S4=3/S1

S5=T+C

S6=S4/S5

H=S6*S2

(1) 试应用DAG 进行优化;

(2) 假定只有R 、H 在基本块出口是活跃的,写出优化后的四元式序列;

(3) 假定只有两个寄存器AX 、BX ,试写出上述优化后的四元式序列的目标代码。

【解答】 (1) 根据DAG 的构造算法构造基本块P 的DAG 步骤如图7-1所示的(a)到(h)。

图7-1 基本块P 的DAG

按图7-1(h)和原来构造结点的顺序,优化后的四元式序列为

S0=2

S4=2

S1=1.5

S2=T-C

S3=T+C

S5=S3

R=2/S3

S6=R

H=S6*S2

(2) 假定只有R 、H 在基本块出口是活跃的,则上述优化后的四元式序列可进一步优化为 S 0S 0S 1

S 0S 1

S 0S 1

S 2

S 2S 2S 2

S 2

(a )(b )(c )(d )(e )( f )

(g )(h )

S0=T-C

S3=T+C

R=2/S3

H=R*S2

(3) 假定只有两个寄存器AX、BX,上述优化后的四元式序列的目标代码为

MOV AX, T

SUB AX, C

MOV AX, S2

MOV AX, T

ADD AX, C

MOV BX, 2

DIV BX

MOV AX, S2

MUL BX

MOV BX, H

7.4 参考附录1和附录2(《编译原理教程》一书),将下列汇编程序片段翻译为对应的8086/8088机器语言代码(汇编地址由1000开始):

MOV AX,01

MOV BX,10

CMP AX,BX

JA L1

ADD AX,BX

L1:

【解答】该汇编程序片段翻译如下:

地址机器码

1000 B80100

1003 BB1000

1006 39D8

1008 7702

100A 01D8

100C

各大学教材课后习题答案网址

各大学教材课后习题答案网址 《线性代数》(同济第四版)课后习题答案(完整版) 高等数学(同济第五版)课后答案(PDF格式,共527页) 中国近现代史纲要课后题答案 曼昆《经济学原理》课后习题解答 21世纪大学英语读写教程(第三册)参考答案 谢希仁《计算机网络教程》(第五版)习题参考答案(共48页) 《概率论与数理统计》习题答案 http:// 《模拟电子技术基础》详细习题答案(童诗白,华成英版,高教版) 《机械设计》课后习题答案(高教版,第八版,西北工业大学) 《大学物理》完整习题答案 .com/viewthread.php?tid=217&fromuid=164951 《管理学》课后答案(周三多) 机械设计基础(第五版)习题答案[杨可桢等主编] 程守洙、江之永主编《普通物理学》(第五版)详细解答及辅导 .php?tid=3&fromuid=164951 新视野大学英语课本详解(四册全) 21世纪大学英语读写教程(第四册)课后答案 新视野大学英语读写教程3册的课后习题答案 1

新视野大学英语第四册答案(第二版) 《中国近现代史》选择题全集(共含250道题目和答案) 《电工学》课后习题答案(第六版,上册,秦曾煌主编) 完整的英文原版曼昆宏观、微观经济学答案 《数字电子技术基础》习题答案(阎石,第五版) 《电路》习题答案上(邱关源,第五版) 《电工学》习题答案(第六版,秦曾煌) https://www.wendangku.net/doc/1f5362009.html,/viewthread.php?tid=112&fromuid=164951 21世纪大学英语读写教程(第三册)课文翻译 《生物化学》复习资料大全(3套试卷及答案+各章习题集) 《模拟电子技术基础》课后习题答案(共10章)ewthread.php?tid=21&fromuid=164951 《概率论与数理统计及其应用》课后答案(浙江大学盛骤谢式千编著)《理论力学》课后习题答案(赫桐生,高教版) 《全新版大学英语综合教程》(第四册)练习答案及课文译文viewthread.php?tid=78&fromuid=164951 《化工原理答案》课后习题答案(高教出版社,王志魁主编,第三版)《国际贸易》课后习题答案(海闻P.林德特王新奎) 大学英语综合教程1-4册练习答案 read.php?tid=1282&fromuid=164951 《流体力学》习题答案 《传热学》课后习题答案(第四版) 高等数学习题答案及提示

编译原理课后习题答案(第三版)

精品文档 第二章 P36-6 (1) L G ()1是0~9组成的数字串 (2) 最左推导: N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ??????????????????0010120127334 556568 最右推导: N ND N ND N ND N D N ND N D N ND N ND N D ??????????????????77272712712701274434 886868568 P36-7 G(S) O N O D N S O AO A AD N →→→→→1357924680||||||||||| P36-8 文法: E T E T E T T F T F T F F E i →+-→→|||*|/()| 最左推导: E E T T T F T i T i T F i F F i i F i i i E T T F F F i F i E i E T i T T i F T i i T i i F i i i ?+?+?+?+?+?+?+?+??????+?+?+?+?+?+********()*()*()*()*()*()*() 最右推导: E E T E T F E T i E F i E i i T i i F i i i i i E T F T F F F E F E T F E F F E i F T i F F i F i i i i i ?+?+?+?+?+?+?+?+?????+?+?+?+?+?+?+**********()*()*()*()*()*()*()*() 语法树:/********************************

编译原理教程课后习题答案——第六章

第六章运行时存储空间组织 6.1 完成下列选择题: (1) 过程的DISPLAY表中记录了。 a. 过程的连接数据 b. 过程的嵌套层次 c. 过程的返回地址 d. 过程的入口地址 (2) 过程P1调用P2时,连接数据不包含。 a. 嵌套层次显示表 b. 老SP c. 返回地址 d. 全局DISPLAY地址 (3) 堆式动态分配申请和释放存储空间遵守原则。 a. 先请先放 b. 先请后放 c. 后请先放 d. 任意 (4) 栈式动态分配与管理在过程返回时应做的工作有。 a. 保护SP b. 恢复SP c. 保护TOP d. 恢复TOP (5) 如果活动记录中没有DISPLAY表,则说明。 a. 程序中不允许有递归定义的过程 b. 程序中不允许有嵌套定义的过程 c. 程序中既不允许有嵌套定义的过程,也不允许有递归定义的过程 d. 程序中允许有递归定义的过程,也允许有嵌套定义的过程 【解答】 (1) b (2) a (3) d (4) b (5) b 6.2 何谓嵌套过程语言运行时的DISPLAY表?它的作用是什么? 【解答】当过程定义允许嵌套时,一个过程在运行中应能够引用在静态定义时包围它的任一外层过程所定义的变量或数组。也就是说,在栈式动态存储分配方式下的运行中,一个过程Q可能引用它的任一外层过程P的最新活动记录中的某些数据。因此,过程Q运行时必须知道它的所有(静态)外层过程的最新活动记录的地址。由于允许递归和可变数组,这些外层过程的活动记录的位置也往往是变迁的。因此,必须设法跟踪每个(静态)外层的最新活动记录的位置,而完成这一功能的就是DISPLAY嵌套层次显示表。 也即,每当进入一个过程后,在建立它的活动记录区的同时也建立一张DISPLAY表,它自顶而下每个单元依次存放着现行层、直接外层等,直至最外层(主程序层)等每一层过程的最新活动记录的起始地址。 6.3 (1) 写出实现一般递归过程的活动记录结构以及过程调用、过程进入与过程返回的指令; (2) 对以return(表达式)形式(这个表达式本身是一个递归调用)返回函数值的特殊函数过程,给出不增加时间开销但能节省存储空间的实现方法。假定语言中过程参数只有传值和传地址两种形式,为便于理解,举下例说明这种特殊的函数调用: int gcd (int p,int q) { if (p % q ==0) return q; else return gcd (q, p % q) } 【解答】(1) 一般递归过程的活动记录如图6-1所示。

全新版大学英语第二版综合教程课后练习答案

最全的全新版大学英语第二版综合教程2答案 课后练习答案 Unit1 Ways of Learning Part II Reading Task Comprehension Content Question Pair Work 1. They were studying arts education in Chinese kindergartens and elementary schools in Nanjing. 2. Their 18-month-old son Benjamin was fond of trying to place the key into the slot of the key box during their stay at the Jinling Hotel. 3. They would come over to watch Benjamin and then try to teach him how to do it properly. 4. Because he realized that this anecdote was directly relevant to their assigned tasks in China: to investigate early childhood education and to throw light on Chinese attitudes toward creativity. 5. Most of them displayed the same attitude as the staff at the Jinling Hotel. 6. He emphasized that the most important thing is to teach the child that on can solve a problem effectively by oneself. 7. He means that this incident pointed to important differences in educational and artistic practices between China and the USA.

(完整版)编译原理课后习题答案

第一章 1.典型的编译程序在逻辑功能上由哪几部分组成? 答:编译程序主要由以下几个部分组成:词法分析、语法分析、语义分析、中间代码生成、中间代码优化、目标代码生成、错误处理、表格管理。 2. 实现编译程序的主要方法有哪些? 答:主要有:转换法、移植法、自展法、自动生成法。 3. 将用户使用高级语言编写的程序翻译为可直接执行的机器语言程序有哪几种主要的方式? 答:编译法、解释法。 4. 编译方式和解释方式的根本区别是什么? 答:编译方式:是将源程序经编译得到可执行文件后,就可脱离源程序和编译程序单独执行,所以编译方式的效率高,执行速度快; 解释方式:在执行时,必须源程序和解释程序同时参与才能运行,其不产生可执行程序文件,效率低,执行速度慢。

第二章 1.乔姆斯基文法体系中将文法分为哪几类?文法的分类同程序设计语言的设计与实现关 系如何? 答:1)0型文法、1型文法、2型文法、3型文法。 2) 2. 写一个文法,使其语言是偶整数的集合,每个偶整数不以0为前导。 答: Z→SME | B S→1|2|3|4|5|6|7|8|9 M→ε | D | MD D→0|S B→2|4|6|8 E→0|B 3. 设文法G为: N→ D|ND D→ 0|1|2|3|4|5|6|7|8|9 请给出句子123、301和75431的最右推导和最左推导。 答:N?ND?N3?ND3?N23?D23?123 N?ND?NDD?DDD?1DD?12D?123 N?ND?N1?ND1?N01?D01?301 N?ND?NDD?DDD?3DD?30D?301 N?ND?N1?ND1?N31?ND31?N431?ND431?N5431?D5431?75431 N?ND?NDD?NDDD?NDDDD?DDDDD?7DDDD?75DDD?754DD?7543D?75431 4. 证明文法S→iSeS|iS| i是二义性文法。 答:对于句型iiSeS存在两个不同的最左推导: S?iSeS?iiSes S?iS?iiSeS 所以该文法是二义性文法。 5. 给出描述下面语言的上下文无关文法。 (1)L1={a n b n c i |n>=1,i>=0 } (2)L2={a i b j|j>=i>=1} (3)L3={a n b m c m d n |m,n>=0} 答: (1)S→AB A→aAb | ab B→cB | ε (2)S→ASb |ab

编译原理教程课后习题答案——第七章

第七章目标代码生成 7.1 对下列四元式序列生成目标代码: T=A-B S=C+D W=E-F U=W/T V=U*S 其中,V是基本块出口的活跃变量,R0和R1是可用寄存器。 【解答】简单代码生成算法依次对四元式进行翻译。我们以四元式T=a+b为例来说明其翻译过程。 汇编语言的加法指令代码形式为 ADD R, X 其中,ADD为加法指令;R为第一操作数,第一操作数必须为寄存器类型;X为第二操作数,它可以是寄存器类型,也可以是内存型的变量。ADD R,X指令的含意是:将第一操作数R与第二操作数相加后,再将累加结果存放到第一操作数所在的寄存器中。要完整地翻译出四元式T=a+b,则可能需要下面三条汇编指令: MOV R, a ADD R, b MOV T, R 第一条指令是将第一操作数a由内存取到寄存器R中;第二条指令完成加法运算;第三条指令将累加后的结果送回内存中的变量T。是否在翻译成目标代码时都必须生成这三条汇编指令呢?从目标代码生成的优化角度考虑,即为了使生成的目标代码更短以及充分利用寄存器,上面的三条指令中,第一条和第三条指令在某些情况下是不必要的。这是因为,如果下一个四元式紧接着需要引用操作数T,则第三条指令就不急于生成,可以推迟到以后适当的时机再生成。 此外,如果必须使用第一条指令,即第一操作数不在寄存器而是在内存中,且此时所有可用寄存器都已分配完毕,这时就要根据寄存器中所有变量的待用信息(也即引用点)来决定淘汰哪一个寄存器留给当前的四元式使用。寄存器的淘汰策略如下: (1) 如果某寄存器中的变量已无后续引用点且该变量是非活跃的,则可直接将该寄存器作为空闲寄存器使用。 (2) 如果所有寄存器中的变量在基本块内仍有引用点且都是活跃的,则将引用点最远的变量所占用寄存器中的值存放到内存与该变量对应的单元中,然后再将此寄存器分配给当前的指令使用。 因此,本题所给四元式序列生成的目标代码如下: MOV R0, A SUB R0, C /*R0=T*/ MOV R1, C ADD R1, D /*R1=S*/ MOV S, R1 /*S引用点较T引用点远,故将R1的值送内存单元S*/ MOV R1, E SUB R1, F /*R1=W*/ SUB R1, R0 /*R1=U*/ MUL R1, S /*R1=V*/ 7.2 假设可用的寄存器为R0和R1,且所有临时单元都是非活跃的,试将以下四元式基本

最新大学物理实验教材课后思考题答案

大学物理实验教材课后思考题答案 一、转动惯量: 1.由于采用了气垫装置,这使得气垫摆摆轮在摆动过程中受到的空气粘滞阻尼力矩降低至最小程度,可以忽略不计。但如果考虑这种阻尼的存在,试问它对气垫摆的摆动(如频率等)有无影响?在摆轮摆动中,阻尼力矩是否保持不变? 答:如果考虑空气粘滞阻尼力矩的存在,气垫摆摆动时频率减小,振幅会变小。(或者说对频率有影响, 对振幅有影响) 在摆轮摆动中,阻尼力矩会越变越小。 2.为什么圆环的内、外径只需单次测量?实验中对转动惯量的测量精度影响最大的是哪些因素? 答:圆环的内、外径相对圆柱的直径大很多,使用相同的测量工具测量时,相对误差较小,故只需单次测 量即可。(对测量结果影响大小) 实验中对转动惯量测量影响最大的因素是周期的测量。(或者阻尼力矩的影响、摆轮是否正常、平稳的摆动、物体摆放位置是否合适、摆轮摆动的角度是否合适等) 3.试总结用气垫摆测量物体转动惯量的方法有什么基本特点? 答:原理清晰、结论简单、设计巧妙、测量方便、最大限度的减小了阻尼力矩。 三、混沌思考题 1. 精品文档

有程序(各种语言皆可)、K值的取值范围、图 +5分 有程序没有K值范围和图 +2分 只有K值范围 +1分 有图和K值范围 +2分 2.(1).混沌具有内在的随机性:从确定性非线性系统的演化过程看,它们在混沌区的行为都表现出随机不确定性。然而这种不确定性不是来源于外部环境的随机因素对系统运动的影响,而是系统自发 精品文档

精品文档 产生的 (2).混沌具有分形的性质(3).混沌具有标度不变性(4).混沌现象还具有对初始条件的敏感依赖性:对具有内在随机性的混沌系统而言,从两个非常接近的初值出发的两个轨线在 经过长时间演化之后,可能变得相距“足够”远,表现出对初值的极端敏感,即所谓“失之毫厘,谬之千里”。 答对2条以上+1分,否则不给分,只举例的不给分。 四、半导体PN 结 (1)用集成运算放大器组成电流一电压变换器测量11610~10--A 电流,有哪些优点? 答:具有输入阻抗低、电流灵敏度高、温漂小、线性好、设计制作简单、结构牢靠等优点。 (2)本实验在测量PN 结温度时,应该注意哪些问题? 答:在记录数据开始和结束时,同时都要记录下干井中温度θ,取温度平均值θ。 (3)在用基本函数进行曲线拟合求经验公式时,如何检验哪一种函数式拟合得最好,或者拟合的经验公式最符合实验规律? 答:运用最小二乘法,将实验数据分别代入线性回归、指数回归、乘幂回归这三种常用的基本函数,然后求出衡量各回归方程好坏的拟合度R 2。拟合度最接近于1的函数,拟合得最好。 五、地磁场 (1)磁阻传感器和霍耳传感器在工作原理有什么区别? 答:前者是磁场变化引起材料阻值变化,最终使得电桥外接电压转变为对应的输出电压;后者是磁场变化引起流经材料内部的载流子发生偏转而产生电压。 (2)为何坡莫合金磁阻传感器遇到较强磁场时,其灵敏度会降低?用什么方法来恢复其原来的灵敏度? 答:传感器遇到强磁场感应时,对应的磁阻材料将产生磁畴饱和现象,外加磁场很难改变磁阻材料的

编译原理_第三版_课后答案.docx

编译 原理 课后题答案 第二章 P36-6 (1) L ( G 1 ) 是 0~9 组成的数字串 (2) 最左推导 : N ND NDD NDDD DDDD 0DDD 01DD 012D 0127 N ND DD 3D 34 N ND NDD DDD 5DD 56D 568 最右推导 : N ND N 7 ND 7 N 27 ND 27 N 127 D127 0127 N ND N 4 D 4 34 N ND N 8 ND 8 N 68 D68 568 P36-7 G(S) O 1|3|5|7|9 N 2|4|6|8|O D 0|N S O| AO A AD | N P36-8 文法: E T| E T|E T T F |T * F |T / F F ( E)|i 最左推导 : E E T T T F T i T i T * F i F * F i i * F i i * i E T T * F F * F i * F i *( E ) i *( E T) i *( T T ) i *( F T ) i *( i T ) i *( i F ) i *( i i ) 最右推导 :

E E T E T * F E T * i E F * i E i * i T i * i F i * i i i * i E T F * T F * F F *( E) F *( E T) F *( E F ) F *( E i ) F *( T i ) F *( F i ) F *( i i ) i *( i i ) 语法树: /******************************** E E+T E+T F T F i F i i i+i+i *****************/ P36-9 句子 iiiei有两个语法树: S iSeS iSei iiSei iiiei S iS iiSeS iiSei iiiei E E E+T E-T T T*F E-T F F F i T F i i i F i i i-i-i i+i*i P36-10 /************** S TS | T T( S) | ( ) ***************/ P36-11 /*************** L1: S AC A aAb | ab C cC | L2:

大学几乎所有学科的课本答案

大学几乎所有学科的课本答案 ! 任明嘉的日志 经济金融 [PDF格式]《会计学原理》同步练习题答案 [Word格式]《成本会计》习题及答案(自学推荐,23页) [Word格式]《成本会计》配套习题集参考答案 [Word格式]《实用成本会计》习题答案 [Word格式]《会计电算化》教材习题答案(09年) [JPG格式]会计从业《基础会计》课后答案 [Word格式]《现代西方经济学(微观经济学)》笔记与课后习题详解(第3版,宋承先)[Word格式]《宏观经济学》习题答案(第七版,多恩布什) [Word格式]《国际贸易》课后习题答案(海闻P.林德特王新奎) [PDF格式]《西方经济学》习题答案(第三版,高鸿业)可直接打印 [Word格式]《金融工程》课后题答案(郑振龙版) [Word格式]《宏观经济学》课后答案(布兰查德版) [JPG格式]《投资学》课后习题答案(英文版,牛逼版) [PDF格式]《投资学》课后习题答案(博迪,第四版) [Word格式]《微观经济学》课后答案(高鸿业版) [Word格式]《公司理财》课后答案(英文版,第六版)

[Word格式]《国际经济学》教师手册及课后习题答案(克鲁格曼,第六版) [Word格式]《金融市场学》课后习题答案(张亦春,郑振龙,第二版)[PDF格式]《金融市场学》电子书(张亦春,郑振龙,第二版) [Word格式]《微观经济学》课后答案(平狄克版) [Word格式]《中级财务会计》习题答案(第二版,刘永泽) [PDF格式]《国际经济学》习题答案(萨尔瓦多,英文版) [JPG格式]《宏观经济学》课后答案(曼昆,中文版) [PDF格式]《宏观经济学》答案(曼昆,第五版,英文版)pdf格式 [Word格式]《技术经济学概论》(第二版)习题答案 [Word格式]曼昆《经济学原理》课后习题解答 [PDF格式]西方经济学(高鸿业版)教材详细答案 [Word格式]完整的英文原版曼昆宏观、微观经济学答案 [Word格式]《金融市场学》课后答案(郑振龙版) 化学物理 [Word格式]《固体物理》习题解答(方俊鑫版) [Word格式]《简明结构化学》课后习题答案(第三版,夏少武) [Word格式]《生物化学》复习资料大全(3套试卷及答案+各章习题集)[PDF格式]《光学教程》习题答案(第四版,姚启钧原著) [Word格式]《流体力学》实验分析答案(浙工大版) [Word格式]《高分子化学》课后习题答案(第四版,潘祖仁主编)

大学教材课后习题答案免费下载链接下部

大学教材课后习题答案免费下载链接 (上中下)190-290 本资料由https://www.wendangku.net/doc/1f5362009.html,上网购返利网分享汽车理论习题答案(考研_作业).pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1zobam 汽车理论第五版_课后习题答案(正确).pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1o67DaHk 波动习题答案.pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1pJDGFyj 泵与风机课后习题答案.pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1gdBph3H 流体力学习题解答李晓燕吴邦喜.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1qWM2gAo 液压与气压传动习题答案.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1bnksUmV 物理化学第五版习题解答(上下册).pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1sjvvFPj 物理学教程第二版马文蔚下册课后答案完整版_cropped.pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1sj98Mct 物理学第五版上册习题答案.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1jG1F9NS 王勖成《有限单元法》1-5章课后习题答案.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1nt8vc3B 理论力学教程_第三版_周衍柏_课后习题答案_总汇(1).pdf→→

理论力学教程_第三版_周衍柏_课后习题答案_总汇.pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1eQABmxW 电力系统分析课后习题答案.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1bngpktD 电动力学习题答案chapter5.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1pJ7AZ5x 电子商务法律与法规综合复习题与答案.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1c0nEFUo 电子测量技术基础课后习题答案上1,2,5,6,7,8.pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1hq3f7Is 电子线路习题答案梁明理版.pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1bn5rEIr 电工学简明教程(第二版)学习辅导与习题解答.pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1mgHQ6xi 电机与拖动基础第三版李发海答案(全).pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1dD25KyP 电气测试技术第三版_课后习题答案%28林德杰%29.pdf→→https://www.wendangku.net/doc/1f5362009.html,/s/1jGwVRE2 电磁场与电磁波习题答案 (6).pdf→→ https://www.wendangku.net/doc/1f5362009.html,/s/1bnrK3pX 电磁场与电磁波习题答案 (7).pdf→→

编译原理课后答案

第二章 2.3叙述由下列正规式描述的语言 (a) 0(0|1)*0 在字母表{0, 1}上,以0开头和结尾的长度至少是2的01 串 (b) ((ε|0)1*)* 在字母表{0, 1}上,所有的01串,包括空串 (c) (0|1)*0(0|1)(0|1) 在字母表{0, 1}上,倒数第三位是0的01串 (d) 0*10*10*10* 在字母表{0, 1}上,含有3个1的01串 (e) (00|11)*((01|10)(00|11)*(01|10)(00|11)*)* 在字母表{0, 1}上,含有偶数个0和偶数个1的01串 2.4为下列语言写正规定义 C语言的注释,即以 /* 开始和以 */ 结束的任意字符串,但它的任何前缀(本身除外)不以 */ 结尾。 [解答] other → a | b | … other指除了*以外C语言中的其它字符 other1 → a | b | … other1指除了*和/以外C语言中的其它字符 comment → /* other* (* ** other1 other*)* ** */ (f) 由偶数个0和偶数个1构成的所有0和1的串。 [解答]由题目分析可知,一个符号串由0和1组成,则0和1的个数只能有四种情况: x 偶数个0和偶数个1(用状态0表示); x 偶数个0和奇数个1(用状态1表示); x 奇数个0和偶数个1(用状态2表示); x 奇数个0和奇数个1(用状态3表示);所以, x 状态0(偶数个0和偶数个1)读入1,则0和1的数目变为:偶数个0和奇数个1(状态1) x 状态0(偶数个0和偶数个1)读入0,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态1(偶数个0和奇数个1)读入1,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态1(偶数个0和奇数个1)读入0,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入1,则0和1的数目变为:奇数个0和奇数个1(状态3) x 状态2(奇数个0和偶数个1)读入0,则0和1的数目变为:偶数个0和偶数个1(状态0) x 状态3(奇数个0和奇数个1)读入1,则0和1的数目变为:奇数个0和偶数个1(状态2) x 状态3(奇数个0和奇数个1)读入0,则0和1的数目变为:偶数个0和奇数个1(状态1) 因为,所求为由偶数个0和偶数个1构成的所有0和1的串,故状态0既为初始状态又为终结状态,其状态转换图: 由此可以写出其正规文法为: S0 → 1S1 | 0S2 | ε S1 → 1S0 | 0S3 | 1 S2 → 1S3 | 0S0 | 0 S3 → 1S2 | 0S1 在不考虑S0 →ε产生式的情况下,可以将文法变形为: S0 = 1S1 + 0S2 S1 = 1S0 + 0S3 + 1 S2 = 1S3 + 0S0 + 0 S3 = 1S2 + 0S1 所以: S0 = (00|11) S0 + (01|10) S3 + 11 + 00 (1) S3 = (00|11) S3 + (01|10) S0 + 01 + 10 (2) 解(2)式得: S3 = (00|11)* ((01|10) S0 + (01|10)) 代入(1)式得: S0 = (00|11) S0 + (01|10) (00|11)*((01|10) S0 + (01|10)) + (00|11) => S0 = ((00|11) + (01|10) (00| 11)*(01|10))S0 + (01|10) (00|11)*(01|10) + (00|11) => S0 = ((00|11)|(01|10) (00|11)*(01|10))*((00|1

编译原理教程课后习题答案——第四章

第四章语义分析和中间代码生成 4.1 完成下列选择题: (1) 四元式之间的联系是通过实现的。 a. 指示器 b. 临时变量 c. 符号表 d. 程序变量 (2) 间接三元式表示法的优点为。 a. 采用间接码表,便于优化处理 b. 节省存储空间,不便于表的修改 c. 便于优化处理,节省存储空间 d. 节省存储空间,不便于优化处理 (3) 表达式(┐A∨B)∧(C∨D)的逆波兰表示为。 a. ┐AB∨∧CD∨ b. A┐B∨CD∨∧ c. AB∨┐CD∨∧ d. A┐B∨∧CD∨ (4) 有一语法制导翻译如下所示: S→bAb {print″1″} A→(B {print″2″} A→a {print″3″} B→Aa) {print″4″} 若输入序列为b(((aa)a)a)b,且采用自下而上的分析方法,则输出序列为。a. 32224441 b. 34242421 c. 12424243 d. 34442212 【解答】 (1) b (2) a (3) b (4) b 4.2 何谓“语法制导翻译”?试给出用语法制导翻译生成中间代码的要点,并用一简例予以说明。 【解答】语法制导翻译(SDTS)直观上说就是为每个产生式配上一个翻译子程序(称语义动作或语义子程序),并且在语法分析的同时执行这些子程序。也即在语法分析过程中,当一个产生式获得匹配(对于自上而下分析)或用于归约(对于自下而上分析)时,此产生式相应的语义子程序进入工作,完成既定的翻译任务。 用语法制导翻译(SDTS)生成中间代码的要点如下: (1) 按语法成分的实际处理顺序生成,即按语义要求生成中间代码。 (2) 注意地址返填问题。 (3) 不要遗漏必要的处理,如无条件跳转等。 例如下面的程序段: if (i>0) a=i+e-b*d; else a=0; 在生成中间代码时,条件“i>0”为假的转移地址无法确定,而要等到处理“else”时方可确定,这时就存在一个地址返填问题。此外,按语义要求,当处理完(i>0)后的语句(即“i>0”为真时执行的语句)时,则应转出当前的if语句,也即此时应加入一条无条件跳转指令,并且这个转移地址也需要待处理完else之后的语句后方可获得,就是说同样存在着地址返填问题。对于赋值语句a=i+e-b*d,其处理顺序(也即生成中间代码顺序)是先生成i+e的代码,再生成b*d的中间代码,最后才产生“-”运算的中间代码,这种顺序不能颠倒。 4.3 令S.val为文法G[S]生成的二进制数的值,例如对输入串101.101,则S.val= 5.625。按照语法制导翻译方法的思想,给出计算S.val的相应的语义规则,G(S)如下: G[S]: S→L.L|L

2014版大学物理教材课后习题答案

P31 第一章 习题答案 3. 一质点沿x 轴运动,其加速度a 与位置坐标x 的关系为 a =2+6 x 2 (SI) 如果质点在原点处的速度为零,试求其在任意位置处的速度. 解:设质点在x 处的速度为v , 62d d d d d d 2x t x x t a +=?== v v ()x x x d 62d 0 2 ?? += v v v () 2 2 1 3 x x +=v 4.有一质点沿x 轴作直线运动,t 时刻的坐标为x = 4.5 t 2 – 2 t 3 (SI) .试求: (1) 第2秒内的平均速度; (2) 第2秒末的瞬时速度; (3) 第2秒内的路程. 解:(1) 5.0/-==??t x v m/s (2) v = d x /d t = 9t - 6t 2 v (2) =-6 m/s (3) S = |x (1.5)-x (1)| + |x (2)-x (1.5)| = 2.25 m 5. 一质点沿半径为R 的圆周运动.质点所经过的弧长与时间的关系为2 2 1ct bt S + = 其中b 、c 是大于零的常量,求从0=t 开始到切向加速度与法向加速度大小相等时所经历的时间. 解: ct b t S +==d /d v c t a t ==d /d v ()R ct b a n /2 += 根据题意: a t = a n 即 ()R ct b c /2 += 解得 c b c R t -= 6.由楼窗口以水平初速度0v 射出一发子弹,取枪口为原点,沿0v 方向为x 轴,竖直向下为y 轴,并取发射时刻t 为0,试求: (1) 子弹在任一时刻t 的位置坐标及轨迹方程; (2) 子弹在t 时刻的速度,切向加速度和法向加速度. 解:(1) 2 02 1gt y t x = = , v 202/2 1v g x y = (2) v x = v 0,v y = g t ,速度大小为: 2 22 02 2 t g y x +=+=v v v v 方向为:与x 轴夹角 θ = tg -1( gt /v 0) 222 02//d d t g t g t a t +==v v 与v 同向.

大学物理学(第三版)课后习题参考答案

习题1 1.1选择题 (1) 一运动质点在某瞬时位于矢径),(y x r 的端点处,其速度大小为 (A)dt dr (B)dt r d (C)dt r d | | (D) 22)()(dt dy dt dx [答案:D] (2) 一质点作直线运动,某时刻的瞬时速度s m v /2 ,瞬时加速度2 /2s m a ,则一秒钟后质点的速度 (A)等于零 (B)等于-2m/s (C)等于2m/s (D)不能确定。 [答案:D] (3) 一质点沿半径为R 的圆周作匀速率运动,每t 秒转一圈,在2t 时间间隔中,其平均速度大小和平均速率大小分别为 (A) t R t R 2, 2 (B) t R 2,0 (C) 0,0 (D) 0,2t R [答案:B] 1.2填空题 (1) 一质点,以1 s m 的匀速率作半径为5m 的圆周运动,则该质点在5s 内,位移的大小 是 ;经过的路程是 。 [答案: 10m ; 5πm] (2) 一质点沿x 方向运动,其加速度随时间的变化关系为a=3+2t (SI),如果初始时刻质点的速度v 0为5m·s -1,则当t 为3s 时,质点的速度v= 。 [答案: 23m·s -1 ] (3) 轮船在水上以相对于水的速度1V 航行,水流速度为2V ,一人相对于甲板以速度3V 行走。如人相对于岸静止,则1V 、2V 和3V 的关系是 。 [答案: 0321 V V V ]

1.3 一个物体能否被看作质点,你认为主要由以下三个因素中哪个因素决定: (1) 物体的大小和形状; (2) 物体的内部结构; (3) 所研究问题的性质。 解:只有当物体的尺寸远小于其运动范围时才可忽略其大小的影响,因此主要由所研究问题的性质决定。 1.4 下面几个质点运动学方程,哪个是匀变速直线运动? (1)x=4t-3;(2)x=-4t 3+3t 2+6;(3)x=-2t 2+8t+4;(4)x=2/t 2-4/t 。 给出这个匀变速直线运动在t=3s 时的速度和加速度,并说明该时刻运动是加速的还是减速的。(x 单位为m ,t 单位为s ) 解:匀变速直线运动即加速度为不等于零的常数时的运动。加速度又是位移对时间的两阶导数。于是可得(3)为匀变速直线运动。 其速度和加速度表达式分别为 2 2484 dx v t dt d x a dt t=3s 时的速度和加速度分别为v =20m/s ,a =4m/s 2。因加速度为正所以是加速的。 1.5 在以下几种运动中,质点的切向加速度、法向加速度以及加速度哪些为零哪些不为零? (1) 匀速直线运动;(2) 匀速曲线运动;(3) 变速直线运动;(4) 变速曲线运动。 解:(1) 质点作匀速直线运动时,其切向加速度、法向加速度及加速度均为零; (2) 质点作匀速曲线运动时,其切向加速度为零,法向加速度和加速度均不为零; (3) 质点作变速直线运动时,其法向加速度为零,切向加速度和加速度均不为零; (4) 质点作变速曲线运动时,其切向加速度、法向加速度及加速度均不为零。 1.6 |r |与r 有无不同?t d d r 和d d r t 有无不同? t d d v 和t d d v 有无不同?其不同在哪里?试举例说明. 解:(1)r 是位移的模, r 是位矢的模的增量,即r 12r r ,12r r r ; (2) t d d r 是速度的模,即t d d r v t s d d . t r d d 只是速度在径向上的分量. ∵有r r ?r (式中r ?叫做单位矢),则 t ?r ?t r t d d d d d d r r r 式中 t r d d 就是速度在径向上的分量,

编译原理课后习题答案

第1 章 1、编译过程包括哪几个主要阶段及每个 阶段的功能。 答案:编译过程包括词法分析、语法分析、语义分析和中间代码生成、优化、目标代码生成5 个阶段。词法分析的功能是对输入的高级语言源程序进行词法分析,识别其中的单词符号,确定它们的种类,交给语法分析器,即把字符串形式的源程序分解为单词符号串形式。语法分析的功能是在词法分析结果的基础上,运用语言的语法规则,对程序进行语法分析,识别构成程序的各类语法范畴及它们之间的层次关系,并把这种层次关系表达成语法树的形式。词义分析和中间代码生成的功能是在语法分析的基础上,对程序进行语义分析,“理解”其含义,产生出表达程序语义的内部表达形式(中间代码)。优化的功能是按照等价变换的原则,对语义分析器产生的中间代码序列进行等价变换,删除其中多余的操作,对耗时耗空间的代码进行优化,以期最后得到高效的可执行代码。目标代码生成的功能是把优化后的中间代码变换成机器指令代码,得到可在目标机器上执行的机器语言程序。 第2 章 1、写一上下文无关文法G,它能产生配 对的圆括号串(如:(),(()),()(())等,甚至 包括0 对括号) 文法为:S→(L)|LS|L L→S| ε 2 、已知文法G :E→E+T|E-T|T T→T*F|T/F|F F→(E) |i (1)给出i+i*i,i*(i-i)的最左推导,最右推导以及语法树。 (2)i-i+i 哪个算符优先。 【解答】 (1)最左推导:E?E+T?T+T? F+T ? i+T ? i+T*F ? i+F*F ?i+i*F ?i+i*i E?T?T*F? F*F ? i*F ? i*(E) ? i*(E-T) ? i*(T-T) ? i*(F-T) ? i*(i-T) ? i*(i-F) ?i*(i-i) 最右推导:E?E+T?E+T*F? E+T*i ? E+F*i ? E+i*i ? T+i*i ? F+i*i ? i+i*i E?T?T*F? T*(E) ? T*(E-T) ? T*(E-F) ? T*(E-i) ? T*(T-i) ? T*(F-i) ?T*(i-i) ? F*(i-i) ?i*(i-i) i+i*i 以及i*(i-i)的语法树如下所示: (2)i-i+i 的语法树如下图所示。 从上图的语法树可知:“-”的位置位 于“+”的下层,也就是前面两个i 先进 行“-”运算,再与后面的i 进行“+” 运算,所以“-”的优先级高于“+”的 优先级。 3 、文法G: E→ET+|T T→TF*|F F→FP↑|P P→E|i (1)试证明符号串TET+*i↑是G 的一 个句型(要求画出语法树). (2)写出该句型的所有短语,直接短语和句柄. 【解答】(1)采用最右推导: E?T?F? FP↑? Fi↑? Pi↑? Ei↑ ? Ti↑? TF*i↑? TP*i↑? TE*i↑? TET+*i↑ 语法树如下图所示。 从文法G 的起始符号出发,能够推导 出符号串TET+*i↑,所以给定符号串是文法G的句型。 (2) 该句型的短语有: ET+,TET+*,i ,TET+*i↑ 直接短语有:ET+, i 句柄是:ET+ 4、已知文法G:S→iSeS|iS|i ,该文法 是二义文法吗?为什么? 【解答】该文法是二义文法。 因为对于句子iiiei 存在两种不同的最 左推导: 第 1 种推导:S? iSeS? iiSeS? iiieS? iiiei 第2种推导:S?iS?iiSeS?iiieS?iiiei 第3 章 1、用正规式描述下列正规集: (1)C 语言的十六进制整数; (2)以ex 开始或以ex 结束的所有小写字母构成的符号串; (3)十进制的偶数。 【解答】 (1)C 语言十六进制整数以0x 或者0X 开头,所以一般形式应该为(+|-|ε) (0x|0X)AA*,其中前面括号表示符号, 可以有正号、负号,也可以省略(用ε表示)默认是正数,A 表示有资格出现在十六进制整数数位上的数字,AA*表示一位或者多位(一个或者多个数字的

编译原理课后习题答案(陈火旺+第三版)

第二章 P36-6 (1) L G ()1是0~9组成的数字串 (2) 最左推导: N ND NDD NDDD DDDD DDD DD D N ND DD D N ND NDD DDD DD D ??????????????????0010120127334 556568 最右推导: N ND N ND N ND N D N ND N D N ND N ND N D ??????????????????77272712712701274434 886868568 P36-7 G(S) O N O D N S O AO A AD N →→→→→1357924680||||||||||| P36-8 文法: E T E T E T T F T F T F F E i →+-→→|||*|/()| 最左推导: E E T T T F T i T i T F i F F i i F i i i E T T F F F i F i E i E T i T T i F T i i T i i F i i i ?+?+?+?+?+?+?+?+??????+?+?+?+?+?+********()*()*()*()*()*()*() 最右推导: E E T E T F E T i E F i E i i T i i F i i i i i E T F T F F F E F E T F E F F E i F T i F F i F i i i i i ?+?+?+?+?+?+?+?+?????+?+?+?+?+?+?+**********()*()*()*()*()*()*()*() 语法树:/********************************

相关文档
相关文档 最新文档