- 1、本文档共97页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
【编译原理课件】cha8 语法制导翻译和中间代码生成
* * 关于x:=A[y,z]的带注释的分析树 Elist.place=T1 m=2 S L := E id x L Elist ] Elist , E A [ E L y L z ①sub6 L.place=x L.offset=null ②sub6 L.place=y L.offset=null ③sub4 E.place=y Elist.place=y Elist.ndim=1 Elist.array=A ④sub8 ⑤sub6 L.place=z L.offset=null ⑥sub4 E.place=z ⑦sub7 T1=y * 20 T1=T1 + z Elist.ndim=2 Elist.array=A ⑧sub5 L.place=T2 T2=A - C L.offset=T3 T3=4 * T1 ⑨sub4 E.place=T4 T4=T2[T3] ⑩sub1 x=T4 84 章节目录 * * 作业 p203 1 2 3 5 补充1 写出下列语句的四元式序列。 if A and B and C D then if A B then F:=1 else F:=0 else G:=G+1; 补充2 写出下列语句的四元式序列。 while AC and BD do if A=1 then C:=C+1 else while A=D do A:=A+2; 章节目录 * * 作为控制条件布尔表达式应用举例 例 while a<b or c<d and e<f do x:=y+z 回填E.truelist 回填E.falselist 100(j,a,b, 0 ) 101(j,_,_, 102) 102(j,c,d,104) 103(j,_,_, 0 ) 104(j,e,f, 100 ) 105(j,_,_, 103 ) E.falselist E.truelist 106(+,y,z,T1) 107(:=,T1,_,x) E.true 106 106 S.next 108(j,_,_,100) S.begin 109 E.false 109 109 S.next S.begin S.begin 节目录 * * 8.6 控制结构的翻译 p186 8.6.1 条件转移 if语句 while语句 8.6.6 过程调用 章节目录 * * if_then语句的代码结构 p183 语法 S→if E then S1 语义 如果E的值为true, 那么执行S1 举例 if cd then a:=b+2 翻译成四元式序列为: E.code S1.code E.true: E.false: ... to E.true to E.false 100 (j,c,d, 0) E.true 101 (j,_,_, 0) E.false E.f E.t 102 (+,b,2,T1) 103 (:=,T1,_,a) 104 E.true E.false 102 104 * * if_then_else的代码结构 语法 S→if E then S1 else S2 语义 如果E的值为true,那么执行S1;否则执行S2 举例if cd then x:=y+z else x:=y-z 翻译成四元式序列为: E.code S1.code E.true: S2.code E.false: goto S.next ... S.next: to E.true to E.false 100 (j,c,d, 0) 101 (j,_,_, 0) E.true E.false E.f E.t 102 (+,y,z,T1) 103 (:=,T1,_,x) E.true 102 104 (j,_,_, 0) S.next 105 (-,y,z,T2) 106 (:=,T2,_,x) 107 E.false 105 S.next 107 * * 嵌套if_then_else的翻译练习 if ab then if cd then x:=y+z else x:=y-z else a:=b+2 E1.true E1.false E1 E2 S1 S2 S3 100 (j,a,b, 0) 101 (j,_,_, 0) E1.
您可能关注的文档
最近下载
- 青岛版四年级上册数学整册单元试卷含答案.docx
- TB_10751-2018_高速铁路路基工程施工质量验收标准.docx
- 2024年山东省学前教育职业技能大赛参考试题库(含答案).pdf VIP
- 第三讲:二方连续纹样.03.ppt VIP
- IPC-6012F 2023 EN,刚性印制板性能要求Qualification and Performance Specification for Rigid Printed Boards.pdf
- 西门子S120变频器调试-说明书.pdf VIP
- 西南大学PPT模板.pptx
- 高二通用技术《容易制作的便携式小板凳》素材.pdf
- (高清版)BT 28450-2020 信息技术 安全技术 信息安全管理体系审核指南.pdf VIP
- 3D打印技术课件.ppt VIP
文档评论(0)