语义分析及中间代码生成-编译原理-07-(三)_第1页
语义分析及中间代码生成-编译原理-07-(三)_第2页
语义分析及中间代码生成-编译原理-07-(三)_第3页
语义分析及中间代码生成-编译原理-07-(三)_第4页
语义分析及中间代码生成-编译原理-07-(三)_第5页
已阅读5页,还剩77页未读 继续免费阅读

下载本文档

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

文档简介

1、三地址码三地址码T1=A-12T2=T1*BT3=T2+6四元组四元组(-, A, 12, T1)(* , T1, B, T2)(+, T2, 6, T3)三元组三元组1 (-, A, 12)2 (* , (1), B)3 (+, (2), 6)波兰表示波兰表示+*-A12B6逆波兰表示逆波兰表示A12-B*6+-+*6A12B语法结构树语法结构树6A12-+B*S:=:=*-0+*-0idbnum 34idbidcidarootidbidc-01*02idbnum 34-05*46+37ida:=98以语法分析为中心以语法分析为中心X1X2X8ij08566468例如:例如:a:intege

2、r; b:real;c:array10of realTTTDDDDPDid:realTD;id:integerTDDP动态分配方案下数组说明的代码结构动态分配方案下数组说明的代码结构D id:array low1:up1 , , lown:upn of Tlow1.code送工作单元送工作单元W1up1.code送工作单元送工作单元W2lown.code送工作单元送工作单元W2n-1upn.code送工作单元送工作单元W2n动态分配子程序其它参动态分配子程序其它参数数(n,type)(n,type)转动态分配子程序入口转动态分配子程序入口? D id:array num of Tupn.cod

3、eupn.code送工作单元送工作单元WW2n2n其它参数其它参数(n,type)(n,type)转动态分配子程转动态分配子程序序x x y y n n e e x x t t 048S id := E S.code := E.code | gen( id.place:=E.place ) E E1 + E2 E.place := newtemp; E.code := E1.code | E2.code | gen(E.place:=E1.place+E2.place)E E1 * E2 E.place := newtemp; E.code := E1.code | E2.code | gen

4、(E.place:=E1.place*E2.place) E - E1 E.place := newtemp; E.code := E1.code | gen(E.place:=0-E1.place) E ( E1 ) E.place:= E1.place; E.code:= E1.code E id E.place:= id.place; E.code:= E num E.place:= num.val;E.code:= E.code :=EE.code :=E1 1.code.coden1 (j,0)n2(j,a,b, n1)n3(j=,c,d,n2)E.Turelist n3n1 (j,0)n2(j,a,b, n1)n3(j=,c,d,n2)P2: n3n4 (j,0/n3)n5(jb then if bc then a=b+c例:例:if ab and bc then a=b+cC.codeS1.beginC.trueS.nextS1.codeC.falseS2.beginS2.nextS1.nextS1.beginS2.beginC.codeS1.codegoto S.beg

温馨提示

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

评论

0/150

提交评论