- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第八章语法制导翻译讲解
第八章语法制导翻译和中间代码生成 概述 语义处理 概述 语义形式化 语义建模 文法模型---- 属性文法 命令式或操作式模型 ----- 操作语义学 应用式模型-----指称语义学 公理式模型-----公理语义学 操作语义学 操作语义学,是形式语义学的一个分支。程序设计语言的实施是在具体的计算机系统中按照语言的语义编制语言的翻译程序,将语言中各个成分翻译成计算机系统中相应的一组操作。语言在计算机系统中的一种实施一旦完成,那么对这个计算机系统而言,语言各个成分的含义也就完全确定了。因此语言的实施也可用来定义语言的语义,即将语言成分所对应的计算机系统的操作作为语言成分的语义,这种语义被称作操作语义。由于语言的语义应该是标准的,不应依附于一个特定的计算机和一种具体的实施,因此操作语义学是用解释执行程序的抽象的机器来定义语言的语义。 指称语义学 (denotational semantics) 形式语义学的一个分支。人们用程序设计语言编制程序,命令计算机系统去加工数据。不同的计算机系统有不同的结构,因此对同一个命令的执行过程可以不同,但最终效果应该相同。指称语义学方法认为不应该将程序设计语言中各个成分的执行过程计入语言成分的语义中。语言成分的语义,应该是执行语言成分所要得到的最终效果。这是语言成分所要表达的含义,是语言成分本身所固有的,不因计算机系统的不同而改变。执行语言成分产生的最终效果被看作是语言成分的所指,称作为语言成分的指称物。这种语义学以语言成分的指称物作为语言成分的语义,故名为指称语义学。 指称语义学中用于定义语义的指称物多数是传统的数学对象,如整数、集合、映象等,故早期又称为数学语义学。这一名称容易使人误认为其他形式语义学分支是非数学的,后已不再使用。 公理语义学 形式语义学的一个分支。不同的人在了解程序的含义时有不同的要求。公理语义学方法就是研究如何将这些不同的要求形式化,并根据这些要求严格给出程序设计语言的有关语义。 属性文法 表达式文法 E—T+T| T or T T—n | b E?T1 + T2 { T1.type = int T2.type= T1.type E.type :=int} E ?T1 or T2 { T1.type = bool T2.type= T1.type E.type :=bool} T ? n { T.type := int} T ? b { T.type := bool} 属性文法和语法制导翻译 虽然形式语义学(如指称语义学、公理语义学、操作语义学等)的研究已取得了许多重大的进展,但目前在实际应用中比较流行的语义描述和语义处理的方法主要还是属性文法和语法制导翻译方法 属性文法 属性文法(attribute grammar)是一个三元组:A=(G,V,F),其中 G:是一个上下文无关文法 V:有穷的属性集,每个属性与文法的一个终结符或非终结符相连,这些属性代表与文法符号相关信息,如它的类型、值、代码序列、符号表内容等等 .属性与变量一样,可以进行计算和传递。属性加工的过程即是语义处理的过程。 F:关于属性的属性断言或一组属性的计算规则(称为语义规则) . 断言或语义规则与一个产生式相联,只引用该产生式左端或右端的终结符或非终结符相联的属性. 属性有两种 继承的和综合的属性 属性通常分为两类:综合属性和继承属性。简单地说,综合属性用于“自下而上”传递信息,而继承属性用于“自上而下”传递信息。 出现在产生式左边的继承属性和出现在产生式右边的综合属性不由所给定的产生式的属性计算规则进行计算,它们由其它产生式的属性规则计算或者由生计算器的参数提供。 A?X1 X2 …Xn A的综合属性,计算 S(A):=f(I(X1),…,I(Xn)) Xj的继承属性,计算 T(Xj):=f(I(A),... I(Xn)) 1)非终结符既可有综合属性也可有继承属性,但文法开始符号没有继承属性. 2)终结符只有综合属性. 在一个属性文法中,对应于每个产生式A??都有一套与之相关联的语义规则,每条规则的形式为b:=f(c1,c2…ck) 这里,f是一个函数,而且或者 (1)b是A的一个综合属性并且c1,c2…ck是产
您可能关注的文档
- 第八章目标管理与计划讲解.ppt
- 第八章社会主义基本制度在中国的确立第三节有中国特点的向社会主义过渡的道路_中国近现代史纲要讲解.doc
- 第八章相变讲解.ppt
- 第八章电气照明装置安装讲解.ppt
- 第八章生物材料表面改性讲解.ppt
- 第八章税收体制法讲解.ppt
- 第八章步行街设计讲解.ppt
- 第八章第3节我国国有资产管理体制讲解.ppt
- 第八章甾体及其苷类.讲解.ppt
- 第八章竞争与垄断讲解.ppt
- 2024-2025学年度广播电视编辑记者试题含答案详解(夺分金卷).docx
- 2024-2025学年度广播电视编辑记者试题含答案详解(典型题).docx
- 2024-2025学年度广播电视编辑记者试题附参考答案详解【满分必刷】.docx
- 2024-2025学年度广播电视编辑记者试题含答案详解(达标题).docx
- 2024-2025学年度广播电视编辑记者试题含完整答案详解(名师系列).docx
- 2024-2025学年度广播电视编辑记者试题含完整答案详解【名师系列】.docx
- 2024-2025学年度广播电视编辑记者试题含完整答案详解(夺冠).docx
- 2024-2025学年度广播电视编辑记者试题含答案详解(实用).docx
- 2024-2025学年度广播电视编辑记者试题及答案详解(全优).docx
- 2024-2025学年度广播电视编辑记者试题及完整答案详解(夺冠).docx
文档评论(0)