语义分析和中间代码生成.ppt_第1页
语义分析和中间代码生成.ppt_第2页
语义分析和中间代码生成.ppt_第3页
语义分析和中间代码生成.ppt_第4页
语义分析和中间代码生成.ppt_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

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

文档简介

4.8 按照三种基本控制结构文法将下面的语句翻译成四元式序列:,while (ACBD) if (A1) C=C+1; else while (AD) A=A+2; ,解答 我们首先画出该语句对应的代码结构图。,语句的代码结构图,【解答】 根据代码结构图,将该语句翻译成四元式序列 (其中E1、E2和E3分别对应ACBD、A1和AD,并且关系运算符优先级高):,100 (j,A,C,102) /*AC为T*/ 101 (j,_,_,113) /* AC为F*/ 102 (j,B,D,104) /*BD为T*/ 103 (j,_,_,113) /*BD为F*/ 104 (j,A,1,106) /*E2为T*/ 105 (j,_,_,108) /*E2为F*/ 106 (+, C, 1, C) /*C=C+1*/,语句的代码结构图,107 (j,_,_,112) /*跳过else后的语句*/ 108 (j,A,D,110) /*E3为T*/ 109 (j,_,_,112) /*E3为F*/ 110 (+, A, 2, A) /*A=A+2*/ 111 (j,_,_,108) /*转回内层while语句开始处*/ 112 (j,_,_,100) /*转回外层while语句开始处*/ 113,语句的代码结构图,4.9 按照4.5.3节的三种基本控制结构的文法将下面的语句翻译成四元式序列:,while (ab) if(xy) while(cd) k=k+1; else if(mnkq) m=k; else while(mk) m=m+1;,解答 我们首先画出该语句对应的代码结构图。,【解答】 根据代码结构图,将该语句翻译成四元式序列,100 (jnz,a,_,104) /*a为T*/ 101 (j,_,_,102) /*a为F*/ 102 (jnz,b,_,104) /*b为T*/ 103 (j,_,_,124) /*b为F*/ 104 (j,x,y,106) /*E2为T*/ 105 (j,_,_,113) /*E2为F*/ 106 (jnz,c,_, 108) /* c为T */ 107 (j,_,_,112) /* c为F */ 108 (jnz,d,_,110) /*d为T*/ 109 (j,_,_,112) /*d为F*/ 110 (+, k,1,k) /*k=k+1*/ 111 (j,_,_,106) /*内层循环回跳*/ 112 (j,_,_,123) /*跳过外侧else后的语句*/,113 (j,m,n,115) /*mn为T*/ 114 (j,_,_,119) /*mn为F*/ 115(j,k,q,117) /* kq为T */ 116 (j,_,_,119) /* kq为F */ 117 (=,k,_,m) /*m=k*/ 118 (j,_,_,123) /*跳过内侧else后的语句*/ 119 (j,m,k,121) /* mn为T */ 120 (j,_,_,123) /* mn为F */ 121 (+,m,1,m) /

温馨提示

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

评论

0/150

提交评论