河南师范大学编译技术与理论课件第七章 词义分析和中间代码生成.pptVIP

  • 4
  • 0
  • 约9.66千字
  • 约 28页
  • 2019-05-10 发布于广东
  • 举报

河南师范大学编译技术与理论课件第七章 词义分析和中间代码生成.ppt

第七章 语义分析和中间代码产生 第七章 语义分析和中间代码的产生 本章我们将把上一章所介绍的方法和技术应用于语义分析和中间代码的生成中。 紧接在词法分析和语法分析之后,编译程序要做的工作是进行静态语义检查和翻译。静态语义检查通常包括:1。类型检查。2。控制流检查。3。一致性检查。4。相关名字检查。 翻译为中间语言的好处: (1)便于进行与机器无关的代码优化; (2)使编译程序改变目标机更容易; (3)使编译程序的结构在逻辑上更为简单明确,以中间语言为界面,编译前端和后端的接口更清晰。 7。1中间语言 首先要掌握几种中间语言的基本结构:逆波兰表示,图表示法(DAG 和抽象语法树),三地址代码(四元式、三元式、间接三元式) 7。1。1后缀式 后缀式表示法有称逆波兰表示法。这种方法是,把运算量(操作数)写在前面,把算符写在后面(后缀)。 一个表达式的后缀式可以如下定义: (1)如果E是一个变量或常量,则E的后缀式是E自身。 (2)如果E是E1 op E2形式的表达式,这里op是任何二元操作符,则E的后缀式为 E1’ E2’op,这里E1’ 和E2’分别为E1和E2的后缀式。 (3)如果E是(E1)形式的表达式,则E1的后缀式就是E的后缀式。 7。1。2图表示法

文档评论(0)

1亿VIP精品文档

相关文档