




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
7.2.3E→EorE|EandE|notE|(E)|idrelopid 1or(not0and0)or=1or(1and0)or=1or0or=1or2例:A例:AorB如果A为真,那么B必计算,此时AorB同理,Aand同理,AandB如果A为假,那么B就不必计算,此时AandB二、数值表示 布尔表达式:aorbandnot:t1:=not:t2:=band:t3:=aor关系表达式 :等价于ifa<bthen1else:100:ifa<bgoto 101:
101:(=,0,102:(j,,103:(=,1,址语句在输出序列中的索引序号,也就
101:(=,0,102:(j,,103:(=,1,E→E1or E→E1andE2 E→id1relopid2{emit('if'id1.placeemit(E.place':=''0'); emit(E.place':=''1')} 例:布尔表达式a<bandc<dande<f E E ③a<bandc<dande<语义动作执行顺序:③③①③ a<bandc<dande<f可100:ifa<bgoto103102:goto104:ifc<dgoto107106:goto104
108:t3=t1andt2109:ife<fgoto112111:goto113:t5=t3and对于出现在条件语句ifEthens1elses2中 ,对于while语句E.true指向循环的开始,E.false指向while1、基本思想:假定E形如a<d,则将生 E.true:ifa<bgotoE.true(真出口)E.false:gotoE.false E.true:(jabE.true)(真出口E.false:(j,,,E.false(假出口EandEEorE、notEE→E→E1andE→E1or
E→E1or
E→E1and
E1.false:=E.false; E1.true:=E.false;E1.false:=E.true;
E1.true:=E.true;E1.false:=E.false; E.code:=gen(‘if’id1.placerelop.opid2.place‘goto’ E.code:=gen(‘goto’E.true)E.code:=gen(‘goto’E.false)考虑如下表达式a<bandc<dande<fIfIfc<dgotoGotoIfa<bgotoGotoIfe<fgotoGoto(jnz,a,_,P)表示ifagotoPifxropygoto goto (J>,a,b, ,ifa>bthens1else(J>,a,b
,
ifa<bgotogotoL1:ifc<dgotogotoL2:ife<fgotogoto
Ifa<bandc<dande<fthens1elseifa<bthenx=0else2 ) ,)E→E1orM|E1andM|not|id1relop表,i是四元式数组的一个索引(下标),或说i是四元式代码序列的一个标号。
function{IFELSE{P=P2whileP的第4分量不为
whileQ≠0 M M.falselist=E.falselist}EE1OR EE1ANDEnot { E(E Eid1relop{E.truelist:=makelist(nextquad);E.falselist:=makelist(nextquad+1);emit(´if´id1.placerelop.op E 7E 重新考虑表达式a<bandc<dandE E2M
a<b andε⑧
,K+1 ,K+3 emit(goto— (j<,a,b,k+2(j (j<,c,d,k+4(j k+1(j<,e,b (j ,k+3
文法 S→ifEthen|ifEthenS1else|whileEdo
toE.truetoE.falsegotogoto
toE.truetoE.falsegotogoto
toE.truetoE.false语法制导定义S→ifEthen
S→ifEthenS1elseS2
doS1
E.false:=S.next;E.codegen(E.true’:’)S1.code例考虑如下语句whilea<bdoifc<dthenx:=y+z
L1:ifa<bgotogotoL2:ifc<dgotoL3gotoL4L3:t1:=gotoL1(L5)L4: S→ifES→ifEthenS→ifEthenSelseS→whileEdoS→beginLS→(6)S→(7)L→ A为赋值语 E为一个布尔表达
IfEIfEthens1else
S1的代 IfIfEthenS1
WhileEdoS1文法:(1) E(2)T→C1(3)S(4)SW→U→WESS→beginLS→S→L→ EC.nextlist=E.false}T→C1{q=nextquad 2 S.}W→U→WEU.Head=W.Head}S{PS.xt.e)emit(J,-,-,U.head)S.nextlist=U.nextlist}S LL1;M SbeginLifa<bandc<dande<f thenX=1 whileg<hdo a<bandc<dand
(j<,a,b,k+2 (j (j<,c,d,k+4 (j k+1 (j<,e,b (j ,k+3ififEX=1elseX=2TC③ Ethen① X=2*1KK(j<,a,b, (j (j<,c,d,k+4(j K+8(j<,e,b(j ,(=,1, (j ,)(=,1,x①*1⑨②*1⑨③eSe:=(3)SS}S;S;whileg<hdoX=3 UM⑦M AS11ε12while⑤ *2do X=31112⑤*2⑥*1⑨⑦
(j<,e,b, (j ,k+8 (=,1, (j ,K+9 (=,2, (j<,g,h,K+11 (j (10)LL1;M
(=,3 (j KK(j<,a,b,)(j ,)(j<,c,d)(j )eb,)(j,,k+8(=1, (j,,)(=1,,x(j<,g,h)(j ,)(=,3,a)(j , 7.2.4S→callidElist→ ③过程的运行状态;④返回地址应存入指定的单元中;⑤应生成一条转移指例过程调用“cal
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025探索服务合同的试用期
- 2024年超临界CO2萃取装置膜生物反应器及其他项目资金申请报告代可行性研究报告
- 2025润滑油销售合同协议
- 2025全日制劳动合同
- 2025年国税局合同制人员医疗险问题
- 2025劳动合同(教师)
- 2025宜昌市存量房买卖合同
- 2025《广州市合同范本》
- 2025深圳市租赁合同协议
- 2025国内认证委托合同
- (三诊)绵阳市高中2022级高三第三次诊断性考试 历史试卷A卷(含答案)
- 麻醉专业考试试题及答案
- 2024华能四川能源开发有限公司下属单位招聘笔试参考题库附带答案详解
- 山东省高中名校2025届高三4月校际联合检测大联考生物试题及答案
- 2025年武汉数学四调试题及答案
- 【MOOC】数学建模精讲-西南交通大学 中国大学慕课MOOC答案
- 职业病防护设施与个体防护用品的使用和维护
- 2024年全国高中数学联赛北京赛区预赛一试试题(解析版)
- 绿化养护服务投标方案(技术标)
- 中国纺织文化智慧树知到期末考试答案2024年
- (正式版)HGT 6313-2024 化工园区智慧化评价导则
评论
0/150
提交评论