![编译原理大礼包语法制导翻译和中间代码产生_第1页](http://file4.renrendoc.com/view/d9a9f674f491e6a992c04ec1d1c741c5/d9a9f674f491e6a992c04ec1d1c741c51.gif)
![编译原理大礼包语法制导翻译和中间代码产生_第2页](http://file4.renrendoc.com/view/d9a9f674f491e6a992c04ec1d1c741c5/d9a9f674f491e6a992c04ec1d1c741c52.gif)
![编译原理大礼包语法制导翻译和中间代码产生_第3页](http://file4.renrendoc.com/view/d9a9f674f491e6a992c04ec1d1c741c5/d9a9f674f491e6a992c04ec1d1c741c53.gif)
![编译原理大礼包语法制导翻译和中间代码产生_第4页](http://file4.renrendoc.com/view/d9a9f674f491e6a992c04ec1d1c741c5/d9a9f674f491e6a992c04ec1d1c741c54.gif)
![编译原理大礼包语法制导翻译和中间代码产生_第5页](http://file4.renrendoc.com/view/d9a9f674f491e6a992c04ec1d1c741c5/d9a9f674f491e6a992c04ec1d1c741c55.gif)
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第四章§4.1语法制导翻译的意思是:让每一个产生式对应一个语义子程序(或称为语义规则或语义动作).在语法分析过程中,当一个产生式获得匹配(对于自上而下分析)或用于归约(对于自下而上分析)时,此产生式相应的语义子程序就进入工作,完二.语义值:在描述语义动作时,我们需要赋予每个文法符号X(终结符或非终结符),X.VAL等.(一个语法制导定义是一个上下文无关文法以及相关联的属性(attributes)(语义值)和规则(semanticrules)(语义子程序).例子 X→…{Y→…{ YYX…………$ 三. {print 用栈来实现, print 一.逆波兰表示法 表示为 二.后缀式的计算进栈,每碰到k目算符就把它作用于栈顶的k个项,并用运算结果来代替这k个项.例:三. ifethenxelse* pjump, e1e2pjlt ,epjezPOST[1..n]中,每个数组元素放一ifethenxelseyep1jezxp2jumpp1:yPOST数组中为见黑板四.语法制导生成后缀式E→E(1)opE(2){E.CODE {E.CODE:=E(1).CODE} {E.CODE:=i}.POST存放后缀式,k为下标,1,则语义动作为:E→E(1)opE(2){POST[k]:=op;k:=k+1} {POST[k]:=i;k:= 一.三元式(Triple)1A+B*C表示成三元式:(见下图*+A2XA+B*C表示成三元式:(见下图*+AX二.产生 (1)E→E(1)opE(2) {E.VAL:=E(1).VAL} *ENTRYi所代表的标识符查找符号表,*语义过程TRIP(oparg1arg2):(oparg1arg2),该三元式的序号是保存该三元式运算结果的地址,valuenumber.三.间接三元式(indirect例:语句XY:=+AB*CX+AB↑DY四.+**** *AB*CD+五.产生 {E.VAL:=E(1).VAL} 四元式一例A A*产生四元式的顺序与归约顺序一致.临时变量可以任意引入 为使问题简化,我们暂时忽略语义检查.一.语义变量和语义过程NEWTEMP:它是一个函数过程,每次调用时,它都回送一新临时变量名的整数码作为函数值.临时变量名按T1,T2,…等等.ENTRY(i):它是一个函数过程.它对i所代表的标识符查E.CE:E相联系的语义变量,表示存放E值的变量名在符号表的或整数码(若此变量是一个临GEN(op,ARG1,ARG2,RESULT):它是一个语义过程,二.语义动作 {GEN(:=, CE,―,ENTRY(i)) GEN(+,E(1).CE,E(2).CE,E.CE) GEN(*,E(1).CE, CE,E.CE) GEN(@,E(1).CE,―, CE) CE:=E(1).CE CE:=ENTRY(i)三.例:分析A:=―B*(C+D)(见下图 iAA_A_A_ A_T1_A_T1_A_T1_A_T1_)A_T1_)A_T1_)A_T1_A_T1_A五.*假设表达式中有整型和实型数,整型与实型变量进行运算引入四元式itrA,―例:翻译X:=Y+I*J,假设I,J是整型变量,X,Y是实型变量.生成四元式: T1,―, T2, T3,―,产生式E→E(1)opE(2){T:=IFE(1).MODE=intANDE(2).MODE=intTHENGEN(opi, CE, CE,E.MODE:=intELSEIFE(1).MODE=rANDE(2).MODE=rTHENGEN(opr,E(1).CE,E(2).CE,T);E.MODE:=rELSEIFE(1).MODE=int/*andE(2).MODE=r*/THENU:= CE,―,GEN(opr,U,E(2). CE,T)E.MODE:=rELSE/*E(1).MODE=randE(2).MODE=int*/U:= CE,―,GEN(opr,E(1).CE,U,T)E.MODE:=r CE:=T阅读:讲义和6.1,6.2,6.4
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年节能高效果汁浓缩设备项目申请报告模板
- 2025年个体之间土地转让策划合同样本
- 2025年仓储租赁安全条款协议示范
- 2025年买卖双方货物运输合同书
- 2025年专卖店装潢工程合同
- 2025年会员费用结算示例协议
- 2025年公寓楼建筑项目合同示例
- 2025年企业员工租赁住房协议模版
- 2025年个人担保契约协议书
- 2025年保安人员租赁合作协议
- 家政公司服务员考试题库单选题100道及答案解析
- 人工智能:AIGC基础与应用 课件 实训项目九 使用度加创作工具和剪映进行智能化短视频创作
- 企业人才招聘与选拔方法论研究
- 《日影的朝向及长短》课件
- 《MATLAB编程及应用》全套教学课件
- GB/T 11263-2024热轧H型钢和剖分T型钢
- 医疗器械软件研究报告 适用嵌入式和桌面式 2023版
- 果园轨道运输施工方案
- 2024年江苏省高考政治试卷(含答案逐题解析)
- 联通欠费催缴业务项目实施方案
- 《三国演义》题库单选题100道及答案解析
评论
0/150
提交评论