编译原理 第二版 (陈意云 著) 高等教育出版社 课后答案.pdf_第1页
编译原理 第二版 (陈意云 著) 高等教育出版社 课后答案.pdf_第2页
编译原理 第二版 (陈意云 著) 高等教育出版社 课后答案.pdf_第3页
编译原理 第二版 (陈意云 著) 高等教育出版社 课后答案.pdf_第4页
编译原理 第二版 (陈意云 著) 高等教育出版社 课后答案.pdf_第5页
已阅读5页,还剩25页未读 继续免费阅读

付费下载

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课后答案网 用心为你服务 大学答案 中学答案 考研答案 考试答案 最全最多的课后习题参考答案 尽在课后答案网 Khdaw团队一直秉承用心为大家服务的宗旨 以关注学生的学习生活为出发点 旨在为广大学生朋友的自主学习提供一个分享和交流的平台 爱校园 课后答案网 淘答案 编译原理习题课编译原理习题课编译原理习题课编译原理习题课 5 5 栾 俊 luanj 3 26 2010 w w w k h d a w c o m 课后答案网 2010 3 26luanj 2 7 17 1 把算术表达式 a b c d a b c 翻译成 a 语法树 b 有向无环图 c 后缀表示 d 三地址代码 w w w k h d a w c o m 课后答案网 2010 3 26luanj 3 7 1 7 1 续续续续 a 语法树 b 有向无环图 a b cd ab c a bcd w w w k h d a w c o m 课后答案网 2010 3 26luanj 4 7 1 7 1 续续续续 c 后缀表示 ab cd ab c d 三地址代码 t1 a b t2 c d t3 t1 t2 t4 t3 t5 t1 c t6 t4 t5 w w w k h d a w c o m 课后答案网 2010 3 26luanj 5 7 27 2 把C程序 main int i int a 10 while i 10 a i 0 的可执行语句翻译成 a 语法树 b 后缀表示 c 三地址代码 w w w k h d a w c o m 课后答案网 2010 3 26luanj 6 7 2 7 2 续续续续 a 语法树 b 后缀表示 i 10 a i array 0 while while i 10 0 array a i w w w k h d a w c o m 课后答案网 2010 3 26luanj 7 7 2 7 2 续续续续 c 三地址代码 1 if i id T的声明中 P offset 0 DS D D D D id T enter id name T type offset offset T width T integer T type integer T width 4 T real T type real T width 8 T array num of T1 T type array num val T1 type T width num val T1 width T T1 T type pointer T1 type T width 4 w w w k h d a w c o m 课后答案网 2010 3 26luanj 9 7 4 7 4 续续续续 D ID LIST T ID LIST ID LIST ID LIST id D Init idtable ID LIST T for each name in idtable do enter name T type offset offset offset T width end ID LIST Init idtable1 Init idtable2 ID LIST1 ID LIST2 merge idtable1 idtable2 idtable ID LIST id add idtable id name w w w k h d a w c o m 课后答案网 2010 3 26luanj 10 7 57 5 算符 作用于表达式e1 e2 ek 的前缀形式 是 p1 p2 pk 其中pi 是ei 的前缀形式 a 写出a b c 的前缀形式 c 给出把表达式翻成前缀形式的语法制导 定义 w w w k h d a w c o m 课后答案网 2010 3 26luanj 11 7 5 7 5 续续续续 a a bc c 表达式翻成前缀形式的语法制导定义 E E T T T T F F F F E id L En printf E string E E1 T E string E1 string T string E T E string T string T T1 F T string T1 string F string T F T string F string F F1 F string F1 string F E F string E string F id F string id value w w w k h d a w c o m 课后答案网 2010 3 26luanj 12 7 77 7 修改图7 11的语法制导定义 为栈机器产生代码 E E1 or E2 E place newtemp emit E place E1 place or E2 place E E1 and E2 E place newtemp emit E place E1 place and E2 place E not E1 E place E1 place E E1 E place newtemp emit E place not E1 place E id1 relop id2 E place newtemp emit if id1 place relop op id2 place goto nextstat 3 emit E place 0 emit goto nextstat 2 emit E place 1 E true E place newtemp emit E place 1 E false E place newtemp emit E place 0 w w w k h d a w c o m 课后答案网 2010 3 26luanj 13 7 7 7 7 续续续续 E E1 or E2 emit or E E1 and E2 emit and E not E1 emit not E E1 E id1 relop id2 emit push id1 name emit push id2 name emit relop relop op E true emit 1 E false emit 0 指令解释指令解释 or 将栈顶和次栈顶值取出将栈顶和次栈顶值取出 进行或操作进行或操作 将结果压栈 将结果压栈 and 将栈顶和次栈顶值取出将栈顶和次栈顶值取出 进行与操作进行与操作 将结果压栈 将结果压栈 not 将栈顶值取出将栈顶值取出 进行非操作进行非操作 将结果压栈 将结果压栈 push name 将将name的值压栈 的值压栈 relop op 将栈顶和次栈顶值取出将栈顶和次栈顶值取出 判断他们的判断他们的op关系关系 将结果压栈将结果压栈 w w w k h d a w c o m 课后答案网 2010 3 26luanj 14 7 87 8 表7 4的语法制导定义把E id1 id2翻译成 一对语句 if id1 id2 goto 来代替 当E是真时执行后继代码 修改表 7 4的语法制导定义 使之产生这种性质的 代码 w w w k h d a w c o m 课后答案网 2010 3 26luanj 15 7 67 6 假转方式 产生式语义规则 E E1 or E2E1 true E true E1 false newlabel E2 true E true E2 false E false E code E1 code 增加增加 gen goto E1 true gen E1 false E2 code E E1 and E2E1 true newlabel E1 false E false E2 true E true E2 false E false E code E1 code 删去删去 gen E1 true E2 code w w w k h d a w c o m 课后答案网 2010 3 26luanj 16 7 6 7 6 续续续续 续表续表续表续表 E not E1E1 true E false E1 false E true E code E1 code E E1 E1 true E true E1 false E false E code E1 code E id1 relop id2E code gen if id1 place relop op id2 place goto E true gen goto E false 修改为修改为 E code gen if id1 place not relop op id2 place goto E false E trueE code gen goto E true E falseE code gen goto E false w w w k h d a w c o m 课后答案网 2010 3 26luanj 17 7 97 9 下面的C语言程序 main int i j while i j 在x86 Linux机器上编译生成的汇编代码如下 在该汇编代码中有关的指令后加注释 将源程序中的操作 和生成的汇编代码对应起来 以判断确实是用短路计算来 完成布尔表达式计算的 w w w k h d a w c o m 课后答案网 2010 3 26luanj 18 7 9 7 9 续续续续 题目题目题目题目 L6 cmpl 5 8 ebp jg L4 jmp L5 p2align 4 7 L5 jmp L3 p2align 4 7 L4 movl 8 ebp eax movl eax 4 ebp jmp L2 p2align 4 7 L3 L1 leave ret text align 4 globl main type main function main pushl ebp movl esp ebp subl 8 esp nop p2align 4 7 L2 cmpl 0 4 ebp jne L6 cmpl 0 8 ebp jne L6 jmp L5 p2align 4 7 w w w k h d a w c o m 课后答案网 2010 3 26luanj 19 7 9 7 9 续续续续 L2 L2 cmpl 0 4 ebp if i 0 goto L6 jne L6 cmpl 0 8 ebp if j 0 goto L6 jne L6 jmp L5 goto L5 L6 L6 cmpl 5 8 ebp if j 5 goto L4 jg L4 jmp L5 goto L5 L5 L5 jmp L3 goto L3 p2align 4 7 L4 L4 movl 8 ebp eax eax j movl eax 4 ebp i eax jmp L2 goto L2 L3 L3 L1 L1 leave leave w w w k h d a w c o m 课后答案网 2010 3 26luanj 20 7 117 11 用7 3节的翻译方案 把下列赋值语句翻译 成三地址代码 A i j B i j C A k 1 D i j w w w k h d a w c o m 课后答案网 2010 3 26luanj 21 7 11 7 11 续续续续 S EL Elist Elist E id E AL id i L id j E E E E L 类似M L Elist id E CL 类似M L Elist id E DE E L id i L id j M w w w k h d a w c o m 课后答案网 2010 3 26luanj 22 7 11 7 11 续续续续 A i jA i j A i j L1 Elist12 Elist11 E11 id E12 E11 id L12 E11 id id E11 id id L11 id id id L11 id L11 place j L11 offset null E11 L11 E11 place j L12 id L12 place i L12 offset null E12 L12 E12 place i Elist11 id E12 Elist11 place i Elist11 ndim 1 Elist11 array A Elist12 Elist11 E t t1 m 1 1 2 emit t1 i n2A emit t1 t1 i Elist12 array A Elist12 place t1 Elist12 ndim 2 L1 Elist12 L1 place t2 emit t2 A n2A 1 w L1 offset t3 emit t3 t1 w t1 i n2A t1 t1 i t2 A n2A 1 w t3 t1 w w w w k h d a w c o m 课后答案网 2010 3 26luanj 23 7 11 7 11 续续续续 B i jB i j A k 1 A k 1 类似地 B i j L2 id id id L2 place t5 L2 offset t6 t4 i n2B t4 t4 j t5 B n2B 1 w t6 t4 w A k 1 L3 id id id L3 place t8 L3 offset t9 t7 1 n2A t7 t7 k t8 A n2A 1 w t9 t7 w w w w k h d a w c o m 课后答案网 2010 3 26luanj 24 7 11 7 11 续续续续 C A k 1 C A k 1 C A k 1 E4 L41 Elist41 id E41 id L3 id id id id E41 L3 E41 place t10 emit t10 t8 t9 EList41 id E41 Elist41 place t10 Elist41 ndim 1 Elist41 array C L41 EList41 L41 place t11 emit t11 C nC 1 w L41 offset t12 enit t12 t10 w E4 L41 E4 place t13 emit t13 t11 t12 t10 t8 t9 t11 C nC 1 w t12 t10 w t13 t11 t12 w w w k h d a w c o m 课后答案网 2010 3 26luanj 25 7 11 7 11 续续续续 D i jD i j D i j E5 L51 Elist51 id E51 id E52 E53 id L52 E53 id id E53 id id L53 id id id L53 id L53 place j L offset null E53 L53 E52 place j L53 id L52 place i L offset null E52 L52 E52 place i E51 E52 E53 E51 place t14 emit t14 i j Elist51 id E51 Elist51 place t14 Elist ndim 1 Elist array D L51 Elist51 L51 place t15 emit t15 D nD 1 w L offset t16 emit t16 t14 w E5 L51 E5 place t17 emit t17 t15 t16 t14 i j t15 D nD 1 w t16 t14 w t17 t15 t16 w w w k h d a w c o m 课后答案网 2010 3 26luanj 26 7 11 7 11 续续续续 A i jA i j B i j C A k 1 D i j B i j C A k 1 D i j S L1 E8 L1 E7 E5 L1 E6 E4 E5 L1 L2 E4 E5 E6 L2 E6 place t18 emit t18 t5 t6 E7 E6 E4 E7 place t19 emit t19 t18 t13 E8 E7 E5 E8 place t20 emit t20 t19 t17 S L1 E8 emit t2 t3 t20 t1 i n2A t1 t1 i t2 A n2A 1 w t3 t1 w t4 i n2B t4 t4 j t5 B n2B 1 w t6 t4 w t14 i j t15 D nD 1 w t16 t14 w t17 t15 t16 t18 t5 t6 t19 t18 t13 t20 t19 t17 t2 t3 t20 t7 1 n2A t7 t7 k t8 A n2A 1 w t9 t7 w t10 t8 t9 t11 C nC 1 w t12 t10 w t13 t11 t12 w w w k h d a w c o m

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论