动作文法与属性文法课件.ppt

上传人(卖家):晟晟文业 文档编号:4409931 上传时间:2022-12-07 格式:PPT 页数:22 大小:89KB
下载 相关 举报
动作文法与属性文法课件.ppt_第1页
第1页 / 共22页
动作文法与属性文法课件.ppt_第2页
第2页 / 共22页
动作文法与属性文法课件.ppt_第3页
第3页 / 共22页
动作文法与属性文法课件.ppt_第4页
第4页 / 共22页
动作文法与属性文法课件.ppt_第5页
第5页 / 共22页
点击查看更多>>
资源描述

1、第七章 动作文法与属性文法任课教师王养廷主要内容1.属性文法2.继承属性3.综合属性4.属性树5.属性求值6.拷贝型属性文法1 属性文法n属性文法 带属性的文法,1968年Knuth提出n作用 描述静态语义n特点 类似于尾动作文法 属性文法=文法产生式+属性计算规则 比动作文法 规范 级别高 使用时受到限制1 属性文法n属性文法的思想 对每个语法符号引进相关的属性符号 对每个产生式写出计算属性的属性规则n属性文法包括 文法内容 语义内容 属性符号的定义 属性规则的定义1 属性文法n属性规则的形式=说明 规则是一个赋值结构 属性变量 属性表达式:包括属性变量和常量1 属性文法n属性计算 对于产生

2、式ABC 图P260 描述属性的计算方法 说明P261 想象一下,对于一个表达式是如何计算的?1 属性文法n属性文法思想 每个文法符号定义相关的属性 每个产生式有一个求值规则1 属性文法n属性分类 继承属性 相当于输入属性 有父结点和兄弟结点的属性值决定 综合属性 相当于输出属性 有本结点的继承属性和子结点的属性决定1 属性文法n属性定义 为了描述属性,为每个属性定义:名字 类型 类别 例如表达式 E senv:SEnv denv:DEnv etype:EType eval:EValue Id name:string n val:integer1 属性文法n属性规则 LX1 X2Xk /X1.

3、i=e1 Xk.i=ek L.s=e0/n注意:属性规则没有次序 属性规则并不代表要进行属性计算 Xi可以依赖其后面的属性 定义产生式右部的继承属性规则 定义产生式左边的综合属性规则1 属性文法n属性规则举例产生式属性规则属性定义EPE.val=P.valEval:integerE1 E2+PE1.val=E2.val+P.valP val:integerPnP.val=n.valn val:integerP(E)P.val=E.val1 属性文法n属性规则举例产生式属性规则属性定义EPP.env=E.envE.val=P.valE env:DEnv val:integerE E1+PE1.e

4、nv=E.envP.env=E.envE.val=E1.val+P.valP env:DEnv val:integerPnP.val=n.valn val:integerPnP.val=lookup(id.name,p.devn)id name:stringP(E)P.val=E.val1 属性文法n文法E nE (E)E E+En属性文法E n E.val:=n.valE (E1)E.val:=E1.valE E1+E2 E.val:=E1.val+E2.valn说明1 属性文法n属性文法举例 例子:P245 说明n属性文法与尾动作文法区别 属性规则不是语义动作 属性规则只有求值规则,而无顺

5、序 每个属性定义一次 那些属性变量可以有规则受限2 继承属性与综合属性n属性类别 继承属性 综合属性n说明 开始符号没有继承属性 终极符号只能有综合属性n举例 P246图 讲解3 属性规则n左部变量要求 产生式右部符号的继承属性变量 产生式左部符号的综合属性变量n属性规则次序 先确定属性类型 再写出属性规则3 属性规则n举例 P247 说明4 属性树与属性依赖n属性依赖 由属性规则确定n属性依赖图 节点为属性域 边表示依赖 是一个有向图5 属性求值n定义SynthVal(S)n方法 对于给定的输入串,根节点的继承属性和叶结点的综合属性已经确定。计算属性树中节点的属性值 重复上述过程直到根节点的所有综合属性计算完成为止n举例 P2496 拷贝型属性文法n定义 每个属性规则具有拷贝形式的赋值结构 右部为一个常量或一个属性变量n符号E BC 相当于.left:=B.s.right:=C.sE.s:=.result6 拷贝型属性文法n举例 P250 说明总结n重点 属性文法的基本概念 属性求值规则

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 办公、行业 > 各类PPT课件(模板)
版权提示 | 免责声明

1,本文(动作文法与属性文法课件.ppt)为本站会员(晟晟文业)主动上传,163文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。
2,用户下载本文档,所消耗的文币(积分)将全额增加到上传者的账号。
3, 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(发送邮件至3464097650@qq.com或直接QQ联系客服),我们立即给予删除!


侵权处理QQ:3464097650--上传资料QQ:3464097650

【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。


163文库-Www.163Wenku.Com |网站地图|