第六章中间代码生成.pptVIP

  • 2
  • 0
  • 约3.66千字
  • 约 33页
  • 2019-09-12 发布于浙江
  • 举报
6.4 声明的翻译(6.3) 声明的翻译 一个简化的声明文法:一次只声明一个名字 * 6.4 声明的翻译 声明的翻译 一个简化的声明文法:一次只声明一个名字 单个过程中所有的声明语句作为一个组来处理:使用一个全局变量offset跟踪下一个可用的相对地址 * 变换使之适合LR语法分析 6.5 表达式的翻译(6.4) 表达式中的运算 * 6.5 表达式的翻译 表达式中的运算 * * * * * * * * * * * * * 第六章 中间代码生成 第六章:中间代码生成 编译器分析综合模型 前端:源程序=》中间代码 (和源语言相关细节) 后端:中间代码=》目标代码 (和目标语言相关细节) 本章内容 中间代码表示 静态类型检查 中间代码生成 如何实现?描述用SDD、实现用SDT 所有翻译方案都可以通过生成并遍历抽象语法树来实现 大部分翻译方案可以基于自顶向下或自底向上语法分析实现 * 第六章:中间代码生成 静态检查 类型检查:保证运算符被应用到兼容的运算分量 语法分析之后进行的所有语法检查,例如C语言中的一条break指令位于一个for/while/switch语句之内 中间表示 抽象语法树 高层:源语言层次化结构 三地址码 可高可低(通过选择不同的运算符) 高级语言,如C语言 C语言灵活通用、可编译成高效机器代码 * 6.1 抽象语法树的变体:有向无环图(6.1) 表达式的无环有向

文档评论(0)

1亿VIP精品文档

相关文档