第2章__PL0编译程序的实现.pptVIP

  • 20
  • 0
  • 约2.7万字
  • 约 150页
  • 2017-09-10 发布于湖北
  • 举报
温故知新 编译原理的内容及学习意义 翻译器、编译器的定义 编译器的阶段划分及前端、后端的概念 “遍” 的概念 编译器从逻辑上可以分成若干阶段,每个阶段把源程序从一种表示变换成另一种表示 遍 单遍扫描与多遍扫描:每一遍的扫视可完成上述一个阶段或多个阶段的工作。每一遍的输入都是上一遍的输出,第一遍的输入是源程序正文,最后一遍的输出是目标代码。 单遍与多遍的比较: 遍数多:编译器结构清晰,但时间效率不高 遍数少:编译速度快,但对机器的内存要求高 遍数的确定:主要因素是源程序和机器(目标机)的特征。 前端和后端: 把编译过程分成前端和后端两部分 前端:只依赖于源程序,独立于目标机器 (生成中间代码) 后端:依赖于目标机器,与源程序无关,只与中间语言有关(从中间代码生成目标代码) 好处:提高开发编译器的效率 取一个编译器的前端,重写它的后端以产生同一源语言在另一机器上的编译器 不同的前端使用同一个后端,从而得到一个机器上的几个编译器(采用同一中间语言) 下列程序中哪些不是编译程序的组成部分? A 词法分析 B代码读入 C 语法分析 D代码生成 对下列错误信息,请指出可能是编译的哪个阶段报告的。 else没有匹配的if 数组下标越界 声明和使用的函数没有定义 零做除数 在数中出现非数字字符 判断 高级语编写的源程序都必顺通过编译,产生目

文档评论(0)

1亿VIP精品文档

相关文档