07语义分析和中间代码的产生课件.pptVIP

  • 13
  • 0
  • 约2.33万字
  • 约 98页
  • 2017-01-03 发布于河南
  • 举报
第七章 语义分析和中间代码产生 语义分析和中间代码的产生 在词法分析和语法分析之后,编译程序要进行静态语义检查和翻译 静态语义检查通常包括: 类型检查 控制流检查 一致性检查 相关名字检查 翻译为中间语言的好处: 便于进行与机器无关的代码优化 使编译程序改变目标机更容易 使编译程序的结构在逻辑上更为简单明确,以中间语言为界面,编译前端和后端的接口更清晰 1 中间语言 掌握几种中间语言的基本结构 逆波兰表示 图表示法(DAG 和抽象语法树) 三地址代码(四元式、三元式、间接三元式) 1.1 后缀式 后缀式表示法又称逆波兰表示法,把运算量(操作数)写在前面,把算符写在后面(后缀) 一个表达式的后缀式可以如下定义: 如果E是一个变量或常量,则E的后缀式是E自身 如果E是E1 op E2形式的表达式,这里op是任何二元操作符,则E的后缀式为 E1’ E2’ op,这里E1’和E2’分别为E1和E2的后缀式 如果E是(E1)形式的表达式,则E1的后缀式就是E的后缀式 例如:a+b可以写成 (a+b)*c可以写成 abc+*代表 ab+cd+*代表 把表达式翻译成后缀式的语义规则描述: 1.2 图表示法 图表示法包括DAG与抽象语法树 无循环有向图(Directed Acyclic Graph , 简称 D

文档评论(0)

1亿VIP精品文档

相关文档