动作文法与属性文法课件_第1页
动作文法与属性文法课件_第2页
动作文法与属性文法课件_第3页
动作文法与属性文法课件_第4页
动作文法与属性文法课件_第5页
已阅读5页,还剩17页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第七章

动作文法与属性文法任课教师王养廷第七章

动作文法与属性文法任课教师1主要内容属性文法继承属性综合属性属性树属性求值拷贝型属性文法主要内容属性文法21属性文法属性文法带属性的文法,1968年Knuth提出作用描述静态语义特点类似于尾动作文法属性文法=文法产生式+属性计算规则比动作文法规范级别高使用时受到限制1属性文法属性文法31属性文法属性文法的思想对每个语法符号引进相关的属性符号对每个产生式写出计算属性的属性规则属性文法包括文法内容语义内容属性符号的定义属性规则的定义1属性文法属性文法的思想41属性文法属性规则的形式<属性变量>=<属性表达式>说明规则是一个赋值结构属性变量属性表达式:包括属性变量和常量1属性文法属性规则的形式51属性文法属性计算对于产生式A→BC图P260描述属性的计算方法说明P261想象一下,对于一个表达式是如何计算的?1属性文法属性计算61属性文法属性文法思想每个文法符号定义相关的属性每个产生式有一个求值规则1属性文法属性文法思想71属性文法属性分类继承属性相当于输入属性有父结点和兄弟结点的属性值决定综合属性相当于输出属性有本结点的继承属性和子结点的属性决定1属性文法属性分类81属性文法属性定义为了描述属性,为每个属性定义:名字类型类别例如表达式E↓senv:SEnv↓denv:DEnv↑etype:EType↑eval:EValueId↑name:stringn↑val:integer1属性文法属性定义91属性文法属性规则L→X1X2…Xk//X1.i=e1Xk.i=ekL.s=e0//注意:属性规则没有次序属性规则并不代表要进行属性计算Xi可以依赖其后面的属性定义产生式右部的继承属性规则定义产生式左边的综合属性规则1属性文法属性规则101属性文法属性规则举例产生式属性规则属性定义E→PE.val=P.valE↑val:integerE1→E2+PE1.val=E2.val+P.valP↑val:integerP→nP.val=n.valn↑val:integerP→(E)P.val=E.val1属性文法属性规则举例产生式属性规则属性定义E→PE.v111属性文法属性规则举例产生式属性规则属性定义E→PP.env=E.envE.val=P.valE↓env:DEnv↑val:integerE→E1+PE1.env=E.envP.env=E.envE.val=E1.val+P.valP↓env:DEnv↑val:integerP→nP.val=n.valn↑val:integerP→nP.val=lookup(id.name,p.devn)id↑name:stringP→(E)P.val=E.val1属性文法属性规则举例产生式属性规则属性定义E→PP.e121属性文法文法E→nE

→(E)E→E+E属性文法E→nE.val:=n.valE

→(E1)E.val:=E1.valE→E1+E2E.val:=E1.val+E2.val说明1属性文法文法131属性文法属性文法举例例子:P245说明属性文法与尾动作文法区别属性规则不是语义动作属性规则只有求值规则,而无顺序每个属性定义一次那些属性变量可以有规则受限1属性文法属性文法举例142继承属性与综合属性属性类别继承属性综合属性说明开始符号没有继承属性终极符号只能有综合属性举例P246图讲解2继承属性与综合属性属性类别153属性规则左部变量要求产生式右部符号的继承属性变量产生式左部符号的综合属性变量属性规则次序先确定属性类型再写出属性规则3属性规则左部变量要求163属性规则举例P247说明3属性规则举例174属性树与属性依赖属性依赖由属性规则确定属性依赖图节点为属性域边表示依赖是一个有向图4属性树与属性依赖属性依赖185属性求值定义SynthVal(S)方法对于给定的输入串α,根节点的继承属性和叶结点的综合属性已经确定。计算属性树中节点的属性值重复上述过程直到根节点的所有综合属性计算完成为止举例P2495属性求值定义SynthVal(S)196拷贝型属性文法定义每个属性规则具有拷贝形式的赋值结构右部为一个常量或一个属性变量符号E→BC<SUB>相当于 <SUB>.left:=B.s <SUB

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论