- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
哈工大编译原理6-2.1课件
本节考虑由如下文法生成的布尔表达式:
;优先级:not、and、or
And、or左结合
not右结合;方法二用于翻译控制流语句中的布尔表达式尤其方便。;布尔表达式:a or b and not c
翻译成三地址代码序列:
100 : t1:=not c
101 : t2:=b and t1
102 : t3:=a or t1 ;关系表达式:ab
;emit用于将一个三地址语句输送到文件中;E→E1 or E2 {E.place:=newtemp;
emit(E.place:=E1.placeor E2.place)} ;E→ture {E.place:=newtemp;
④ emit(E.place:= 1)} ;例:布尔表达式 ab and cd and ef对应的语法树;例:布尔表达式 ab and cd and ef可以生成如下的三地址码;四、 控制流语句中的布尔表达式的翻译;三地址表示:
E.true: if a<b goto E.true (真出口)
E.false: goto E.false (假出口) ;布尔表达式:
E and E
E or E、
not E;2、优化代码结构:;;产生式;产生式;If ef goto ltrue
Goto Lfalse;4、用四元式表示中间代码;例:ab的四元式真假出口可以表示为:
(J, a , b , p)
(j , , , q);前面例子产生的三地址码的四元式形式
if ab goto L1
goto Lfalse
L1:if cd goto l2
goto Lfalse
L2:if ef goto Ltrue
goto Lfalse;5、回填 ;对于每一条这样的指令作适当的记录,
;要解决的问题:在一遍扫描中,生成跳转语句时,不知道控制要转向的语句标号; (J,a,b,102)
(j, , ,Lfalse)
(J,c,d,104)
(j, , ,Lfalse)
(J,e,f,L.true)
(j, , ,Lfalse);布尔表达式文法:
(1)E→E1 or M E2
(2) |E1 and M E2
(3) |not E1
(4) |(E1)
(5) |id1 relop id2
(6) |true
(7) |false
(8)M→ε;插入非终结符号M是为了引入一个语义动作,以便在适当的时候获得即将产生的下一个四元式的索引,或说四元式的标号;②.merge(p1,p2):连接由指针p1和p2指向的两个表并且返回一个指向连接后的表的指针。 Merg(p1,p2)=;③.backpatch(p,t):把i作为目标标号回填到p所指向的表中的每一个转移指令中去。此处的“表”都是为“反填”所拉的链.代码如下:;7.使用一遍扫描的布尔表达式的翻译模式;3 E?not E1 { E.truelist:=E1.falselist;
E.falselist:=E1.truelist };6 E ?true {E.truelist:= makelist(nextquad);
emit(′goto—′); };E;语义动作执行顺序:
⑤⑧⑤②⑧⑤②;最终产生的代码序列为:
K (j, a , b , k+2 )
k+1 (j , , , )
K+2 (j, c , d , k+4 )
k+3 (j , , , k+1 )
K+4 (j, e , b , )
k+5 (j , , , k+3 );文法: S→if E then S1
| if E then S1 else S2
| while E do S1 ;E.code;E.code;语法制导定义:;产
您可能关注的文档
最近下载
- 《产品质量鉴定程序规范 总则》.pdf VIP
- 沪科版九年级物理公式复习.pdf VIP
- AQ∕T 2063-2018 金属非金属露天矿山高陡边坡安全监测技术规范(可复制版).pdf
- 高速公路无人机自动巡检可行性探究.pdf VIP
- CR4012022机器人CR认证可靠性等级认证实施细则.pdf
- 再生水管道阀门选型与管理.doc VIP
- 某公司办公区生活区消防检查记录表.docx VIP
- 人教版高一数学必修一练习题-高一数学人教版必修一《集合》练习题3.doc VIP
- 智慧方案光储充一体化系统解决方案.pptx VIP
- IPC-TM-650测试方法手册CN2020必威体育精装版(104个方法)扫描版.pdf VIP
文档评论(0)