编译原理_07中间代码及其他.pptVIP

  • 13
  • 0
  • 约4.96千字
  • 约 27页
  • 2016-12-20 发布于湖北
  • 举报
主要内容 概述 属性文法 语法制导翻译概述 中间语言 概 述 编译程序的任务是把源程序翻译成语义上等价的目标程序。通常,在编译过程中,经过词法分析和语法分析之后, 接下来将进行语义分析与处理。 编译中的语义处理包括两个功能:第一,审查每个语法结构的静态语义,即验证语法结构合法的程序是否真正有意义。有时把这个工作称为静态语义分析或静态审查。第二,如果静态语义正确,语义处理则要执行真正的翻译,即生成某种中间代码或者实际的目标代码。 本章引入属性文法和语法制导翻译方法的基本思想,介绍几种典型的中间代码形式和一些常见语法成分的翻译方法。 8.1 属性文法 属性,通常用来描述事物的特征、性质、品质等。 属性文法的形式定义:一个属性文法形式上可定义为一个三元组A,A=(G,V,F)。其中G表示一个上下文无关文法;V表示属性的有穷集;F表示有关属性的断言或谓词的有穷集。 在属性文法中: (1)每个属性t都与某个文法符号N相关联,用N.t来表示。例如N.type表示与N关联的属性type。 (2)每个断言与文法的某个规则相关联。 (3)如果对G中的某一输入串(句子)而言, A中的所有断言对该输入串的语法树结点的属性全为真,则该串也是A语言中的句子。 编译程序的静态语义审查工作就是验证关于所编译的程序的断言是否全部为真。 如文法G[S]: E→

文档评论(0)

1亿VIP精品文档

相关文档