第8章 语法制导翻译与中间代码(8学时).pptVIP

  • 2
  • 0
  • 约2.98千字
  • 约 41页
  • 2017-07-24 发布于河南
  • 举报

第8章 语法制导翻译与中间代码(8学时).ppt

第8章 语法制导翻译与中间代码(8学时)

第8章 语法制导翻译和中间代码;8.1 属性文法;静态语义分析:审查语法结构的静态语义 确定标识符的数据类型 类型检查和转换:检查运算对象的数据类型是否合法,必要时进行类型转换 一致性检查:一个对象只能被声明一次 作用域检查 控制流检查:控制语句转到合法的地方继续执行 翻译(若静态语义分析正确后才翻译) ;常用的语义分析方法——语法制导翻译 语法制导翻译: 首先,使用属性文法为工具,描述程序设计语言的语义规则。 在语法分析时,每应用一个产生式(推导或归约),同时完成该产生式上所附的语义规则描述的动作,从而完成语义处理。;用于描述语义规则的文法。 对文法的每个符号引入一些属性,这些属性代表与文法符号相关的信息,例如:类型、值、代码序列、符号表内容等。 属性值可以在语法分析过程中进行计算和传递。 属性的加工过程就是语义的处理过程。;属性文法的组成: 一个上下文无关文法 一系列语义规则(附在文法的每个产生式上) 属性文法的形式:三元组 A=(G,V,F) G:是一个上下文无关文法 V:有穷属性集,每个属性与文法的一个终结符或非终结符关联 F:关于属性的断言或谓词集.每个断言与一个产生式关联.而此断言只引用该产生式的终结符或非终结符相关联的属性;属性文法 举例;属性文法 举例;语法制导翻译的实质: 根据每个产生式所对应的语义规则,随语法分析的每一步(推导或归约),执行相应的

文档评论(0)

1亿VIP精品文档

相关文档