教师教案之编译原理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
教师教案之编译原理.ppt

第五章 教学时数 教学目的与要求 教学重点 教学难点 本章主要阅读文献资料 教学学时 教学目的与要求 教学重点 教学难点 本章主要阅读文献资料 Kenneth C.Louden 著:《Compiler Construction Principle and Pratice 》,机 械工业出版社。 蒋立源著:《 编译原理》(第2版),西北工 业大学出版社。 陈火旺著:《程序设计语言编译程序》(第2 版),国防工业出版社。 第五章 语法制导翻译及中间代码生成 引言 教学目的与要求 要求学生了解语法制导翻译过程,掌握简单算术表达式和赋值语句的翻译;布尔表达式的翻译;if条件语句的翻译;while循环语句的翻译及含有数组元素的算术表达式及赋值语句的翻译。能应用属性翻译文法进行翻译。能解决翻译中遇到的拉链和回填的问题,能达到给出语句会分析产生式和语义动作。 教学重点 教学难点 通过在翻译过程中结合属性翻译文法一步一步进行翻译,并产生相应四元式。 本章内容简介 本章,我们首先介绍一种适用于定义语义的一种特殊文法?属性文法,并进一步介绍适用于语义翻译的文法?属性翻译文法的相关知识。 在第三小节中我们将介绍几种常见的中间语言; 在第四小节中引入程序设计语言中常见语法结构的语法制导翻译技术。 5.1 属性文法与属性翻译文法 语法制导翻译方法的实质,就是根据文法中每个产生式所蕴含的语义,为其配备一个(或多个)处理语句或子程序,对所要完成的功能进行描述。 语义子程序的编写质量决定了语义翻译的准确性和有效性。所以,产生式相应语义子程序的正确性是能够进行正确语义翻译的先决条件。 产生式的语义是由组成该产生式的文法符号的语义所决定的。 我们可将这些语义以“属性”的形式附加到各个文法符号上,再根据产生式所蕴含的语义,给出每个文法符号的属性的求值规则,从而形成一种附带有语义属性的前后文无关文法,即属性文法。 5.1.1 语义属性与属性文法 定义 5.1 一文法符号的语义性质称为该文法符号的语义属性(Attributes),简称为属性。我们用A(X)表示X的所有属性的集合。每个属性表示X的一个特定性质,并可任意指定其取值范围。我们用X.a表示A(X)中的属性a 。 属性可表征诸如数、符号串、类型、存储空间和其它需表征的实体。 终结符至少有一种属性,即词文。当然,它还可能具有其它属性,例如无符号数123,单词“123”就是它的词文,而其数值以及它的类型(整型)是它的其它两个属性。终结符的属性是其内在性质. 非终结符的属性是从其它符号的属性经计算而得的,即由其它符号的属性定义的。 属性依赖关系 各个文法符号的属性之间,可能存在某种依赖关系,这种依赖关系可用属性规则(语义规则)定义。 定义 5.2 设p:X0→X1X2…Xn是文法G的一个产生式,则与p相关联的属性规则集 R(p)={Xi.a=f(Xk1.ak1,…,Xkm.akm)|Xi.a∈A(Xi)} 定义了该产生式所涉及的文法符号之属性的求值规则,它表示:Xi的a属性是由的Xk1的ak1属性,…,的Xkm的akm属性计算而得的。 综合属性与继承属性 定义 5.3 对每个产生式p:X0→X1X2…Xn ,设属性定义性出现的集合为 AF(p)={Xi.a|Xi.a=f(Xk1.ak1,…,Xkm.akm)∈ R(p),0≤kj≤n} 若Xi是产生式左部的非终结符(即i=0),则称属性Xi.a是综合属性(Synthesized Attributes);若Xi出现在产生式的右部(即1≤i≤n),则称Xi.a是继承属性(Inherited Attributes)。 加注语法树 在语法树中,将每个结点均视为由若干个域组成的结构,则可将其中的一些域用来存放相应文法符号诸属性之值,并可用属性来为这些域命名。通常我们将每个结点都标注相应属性值的语法树称为加注语法树(Annotated Syntax Tree)或装饰树(Decorated Syntax Tree书中有错!)。 由定义5.3可知:在加注语法树中,一个文法符号X在相应结点的综合属性之值,由其子结点的属性和(或)X的其它属性,通过相关属性规则经计算而得,故综合属性的求值在语法树中是按自下而上的方式进行的;X的继承属性之值则由X的父结点和(或)其它兄弟结点来定义,故继承属性的求值将按自上而下的方式进行。 属性文法的定义 定义5.4 属性文法AG是一个四元组:AG=(G,A,R,B), 其中, G是已简化的CFG; A=∪X∈VA(X)是属性的有限集合; R= ∪p∈PR(p)是属性定义规则的有限集; B=∪p∈PB(p)是条件的有限集合,B(p)用于描

文档评论(0)

倾国倾城 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档