- 1、本文档共59页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
5.1 概述;5.2 属性文法;■ 属性文法; 文法规则 语义规则
? 规则 1 相关的属性等式
. .
. .
规则 n 相关的属性等式; 1) 已知无符号数文法如下,请改写成值属性文法。 number ? number digit | digit
digit ? 0|1|2|3|4|5|6|7|8|9;grammar rule semantic rules
exp1 ? exp2+term exp1.val=exp2.val+term.val
exp1 ? exp2-term exp1.val=exp2.val-erm.val
exp ? term exp.val= term.val
term1 ? term2*factor term1.val=term2.val*factor.val
term ? factor term.val=factor.val
factor ?(exp) factor.val=exp.val
factor ? number factor.val=number.val;使用属性文法来计算属性值,即把属性等式转化成计算规则;例: 已知无符号数属性文法,请画出属性等式及345的依赖图。
;所以字符串345对应的语法树的依赖图:;例2: 已知无符号数属性文法,??画出属性等式及float x,y的依赖图。
;属性等式id.dtype = var-list.dtype
文法规则var-list?id的依赖图:;type
(dtype = real) ;属性分为两类:1. 合成属性(或称综合属性)
2. 继承属性;2.一个属性如果不是合成的,则称作继承属性。;5.3 语法制导翻译概述;■ 语法分析时属性的计算;例: 对3*4+5进行LR分析并进行属性值的计算:
E ? E + E|E – E|E * E|(E)|number ;例:已知无符号数文法如下,请改写成值属性文法,并对345进行语义分析。 number ? number digit | digit
digit ? 0|1|2|3|4|5|6|7|8|9;number
(val=3*10+4=34);例: 已知简单的整数算术表达式文法如下,请改写成值属性文法,并对 (34-3)*42 进行语义分析。
exp ? exp + term | exp-term | term
term ? term*factor | factor
factor ? (exp) | number ;term
(val = 31) ;■ 语法制导翻译举例;词法规则的描述工具:
语法规则的描述工具:
语义规则的常用描述工具:;例: 简单表达式文法:
E ? E + E | E – E | E * E | (E) | number ;■ 上讲内容回顾;■ 语法制导翻译举例;例: 利用下列属性文法对 (3+6)*9 进行语义分析。;■ 综合练习;5.4 中间语言;■ 逆波兰式;三元式由3个域和一个序号组成:
(i)(op,arg1,arg2)
其中op为运算符,arg1,arg2是2个运算对象。
例:算术表达式的三地址码x=y op z 的三元式为:
(1) (op,y,z)
(2) (=,x,(1));例:赋值语句a=(c+d)*(c+d)相应的三元式代码为
(1) (+,c,d)
(2) (+,c,d)
(3) (*,(1),(2))
(3) (=,a,(3));在三元式代码表的基础上另设一张表,该表按运算的次序列出相应三元式在表中的位置,这张表称为间接码表。三元式表只记录不同的三元式语句,间接码表表示由这些语句组成的运算次序。;■树形表示;■ 四元式;■ 三地址码;■ 综合练习;■练习;5.5 自下而上语法制导翻译;■表达式中间代码生成;■表达式中间代码生成;1、表达式(~A+B)*(C+D)的逆波兰表示为( )
2、写出赋值语句x=(a+b)*c/d的四元式序列。;一、中间代码有如下形式:;■ if语句中间代码生成;■if语句中间代码生成;形式2: if ( E ) S1 else S2;■if语句中间代码生成;■布尔表达式代码生成;布尔量间的运算除了一般的布尔代数运算外,还有一种运算方法,称为“短路布尔操作”。它的意义是:对于一个
您可能关注的文档
- MJS工法介绍讲解.ppt
- Module 10剑桥BEC商务英语 中级 课件 答案 词汇.ppt
- MRI阅片基础知识.ppt
- My Family 幼儿学英语 家庭.ppt
- N1词汇难读汉字词.ppt
- NC63全产品培训-存货核算.ppt
- OCT操作与阅片相关.ppt
- ofo共享单车融资方案.ppt
- Opencv视频播放控制.ppt
- OptiX BWS1600G系统硬件介绍.ppt
- 2022-2023学年江苏省常州市溧阳市四年级下学期期中数学真题及答案.pdf
- 2022-2023学年江苏盐城建湖县五年级上册语文期末试卷及答案.pdf
- 2021-2022学年河南省卫辉市人教版三年级上册期末考试数学试卷及答案.pdf
- 2022-2023学年浙江杭州萧山区五年级下册语文期中试卷及答案.pdf
- 2022-2023学年江苏省淮安市二年级下学期数学月考试题及答案.pdf
- 2021年山西公务员申论考试真题及答案-乡镇.pdf
- 2021年普通话考试内容题库最新版.pdf
- 2021-2022年江苏苏州太仓市六年级上册期中语文试卷及答案(部编版).pdf
- 2022-2023学年山东省滨州市博兴县四年级下学期期末数学真题及答案.pdf
- 2021年四川内江小升初语文真题及答案.pdf
最近下载
- 2025-2030中国靛蓝染料行业市场发展趋势与前景展望战略研究报告.docx
- DGTJ08-2299-2019 型钢混凝土组合桥梁设计规范.pdf VIP
- 班主任带班育人方略PPT课件.pptx VIP
- 2024年山东省日照市中考生物真题卷(含答案与解析).pdf VIP
- 小学六年级上学期美术《第12课 走向明天》教学课件.pptx VIP
- 科斯定理_反思与拓展_兼论中国农地流转制度改革与选择_罗必良.pdf VIP
- catia电气设计操作手册.pdf VIP
- 八下《卖炭翁》选择题专练-冲刺2024年中考语文古代诗歌课内篇目常考题型专练(统编版六册)(解析版).docx VIP
- 2025年国开电大机考网考-经济学基础-真题(2).docx
- 广东省深圳市南山区2024-2025学年上学期期末教学质量监测七年级英语试题(含答案).pdf VIP
文档评论(0)