编译原理概述讲义.pptVIP

  • 28
  • 0
  • 约5.63千字
  • 约 53页
  • 2016-04-13 发布于江苏
  • 举报
例子2 源程序: if (a=b) a=a-c; c=b*c; 四元式: t1=ab If t1 goto l t2=a-c a=t2 l: t3=b*c c=t3 翻译成 —— (4) 代码优化 优化(在理论上不是必须的) 输入中间代码 输出优化后的中间代码 对中间代码进行处理,期望得到高效的代码 删除无用代码 减少冗余 目前不要对优化寄予过高的期望 现在不能优化算法 将来也许能在一定范围内自动选择算法或重构 (5) 目标代码生成 目标代码生成 输入中间代码 输出目标代码 涉及的知识包括目标机器指令的选取、寄存器的分配、运行时存储空间组织等 可以根据目标机的模型,对目标代码进一步进行优化 符号表管理 记录源程序中使用的名字(标识符) 收集每个名字的各种属性信息 类型、作用域、分配存储信息 名字 信息 … … 出错处理 检查错误、报告出错信息、排错、恢复编译工作 词法错误和语法错误可由编译程序在编译时刻查出。 语义错误常采用下列方式查出: 静态模拟检查: 动态调试检查: 编译程序的结构 词法分析程序 语法分析程序 语义分析程序 中间代码生成程序 代码优化程序 目标代码生成程序 符号表管理程序 出错管理程序 编译程序的结构框图 编译的各个阶段 概念:趟(遍) 一个编译程序的工作分成若干个阶段来完成。每个阶

文档评论(0)

1亿VIP精品文档

相关文档