第5章节语义剖析与中间代码生成.pptVIP

  • 18
  • 0
  • 约2万字
  • 约 72页
  • 2017-04-06 发布于北京
  • 举报
第5章节语义剖析与中间代码生成

第五章 语义分析和中间代码生成 本章要求 主要内容:语义分析和中间代码的功能,中间代码的形式,属性文法及语法制导的翻译程序,各种语句的语法制导的翻译过程 重点掌握:属性文法,语义分析与处理的方法,中间代码的表示形式,各种语句的代码结构,各种语句的翻译方法 语义分析和中间代码生成所处的位置: 1. 语义分析和中间代码生成在编译器中的位置: 静态语义检查:如:类型、运算、数组维数、越界等的检查 语义处理:如:变量的存储分配、表达式的求值、语句的翻译(中间代码的生成) 总目标:生成等价的中间代码 3. 为什么要此阶段? 逻辑结构清楚;利于不同目标机上实现同一种语言; 利于进行与机器无关的优化,这些内部形式也能用于解释。 4. 什么是中间代码(Intermediate code) 源程序的一种内部表示,不依赖目标机的结构,易于机械生成目标代码的中间表示。 5. 中间代码的几种形式 逆波兰、三元式、间接三元式、四元式、树 5.2中间代码的几种形式 1、逆波兰式: 运算对象写在前,运算符写在后(后缀表示形式) 例:a+b ? ab+   (a+b)*c ? ab+c*   a+b*c ? abc*+   a:=b*c+b*d ? abc*bd*+:= 练习 写出下列算式的逆波兰表示 a+b*(c+d/e) a:=b*(-c)+b *(-34)

文档评论(0)

1亿VIP精品文档

相关文档