第七章语义分析和中间代码产生(第十一周).pptVIP

  • 6
  • 0
  • 约1.55万字
  • 约 65页
  • 2017-09-05 发布于重庆
  • 举报

第七章语义分析和中间代码产生(第十一周).ppt

第七章 语义分析和 中间代码产生 概述 静态语义检查 类型检查 控制流检查 一致性检查 相关名字检查 名字的作用域分析 中间语言(复杂性界于源语言和目标语言之间)的好处: 便于进行与机器无关的代码优化工作 易于移植 使编译程序的结构在逻辑上更为简单明确 内容线索 中间语言 说明语句 赋值语句的翻译 布尔表达式的翻译 控制语句的翻译 过程调用的处理 中间语言 常用的中间语言 后缀式,逆波兰表示 图表示 DAG 抽象语法树 三地址代码 三元式 四元式 间接三元式 后缀式 后缀式表示法:Lukasiewicz发明的一种表示表达式的方法,又称逆波兰表示法。 一个表达式E的后缀形式可以如下定义: 1. 如果E是一个变量或常量,则E的后缀式是E自身。 2. 如果E是E1 op E2形式的表达式,其中op是任何二元操作符,则E的后缀式为E1? E2? op,其中E1? 和E2? 分别为E1 和E2的后缀式。 3. 如果E是(E1)形式的表达式,则E1的后缀式就是E的后缀式。 逆波兰表示法不用括号。只要知道每个算符的目数,对于后缀式,不论从哪一端进行扫描,都能对它进行唯一分解。 后缀式的计算 用一个栈实现。 一般的计算过程是:自左至右扫描后缀式,每碰到运算量就把它推进栈。每碰到k目运算符就把它作用于栈顶的k个项,并用运算结果代替这k个项。 把表达式翻译成后缀式的语义

您可能关注的文档

文档评论(0)

1亿VIP精品文档

相关文档