第7讲语义分析.pptVIP

  • 2
  • 0
  • 约1.4万字
  • 约 72页
  • 2017-06-18 发布于湖北
  • 举报
第七章 语义分析 语法制导翻译技术应用于语义分析 语义处理的工作 7.1 中间代码 源程序经过语义分析被译成中间代码序列 用中间语言过渡的好处: 与目标机无关 便于编译系统的实现、移植、代码优化 常用的中间代码(语言) 三地址代码(三元式、四元式) 语法(结构)树 后缀式——逆波兰表示 特点 形式简单、语义明确、便于翻译 独立于目标语言 7.1.1后缀式(逆波兰表示) 操作数 1 操作数 2 运算符 操作数 运算符 定义: E(常、变量)的后缀式为E自身 E1 op E2 的后缀式为E1′E2′op (E)的后缀式为E的后缀式 例 : a := b *(- c)+ b *(- 34)的后缀式 a b c - * b 34 - * + := 生成后缀式的属性文法 生成后缀式的算法 自顶向下方法:递归下降识别程序.当输入符是常、变量或运算符时,输出到后缀式区 7.1.2抽象语法树 将规则式中操作符作为分支(父)结点,将操作数作为叶结点。 建立抽象语法树 属性设置: E.p, T.p, F.p是语法结构树指针 id.entry 是名字的表项入口 num.val 是数值 基本函数——结点构造 mknode 建中间结点 mkleaf 建叶结点 语法制导定义(属性文法) 例 X := i1+i2*i3 的语法结构树 7.1.3三地址代码 一般形式

文档评论(0)

1亿VIP精品文档

相关文档