第一章绪论

2020-02-28  本文已影响0人  real陈蛋黄

编译过程和编译程序结构

五个阶段:

  1. 词法分析
  2. 语法分析
  3. 语义分析和中间代码生成
  4. 优化
  5. 目标代码生成

编译程序的开发

  1. 自编译:用某种高级语言编写自己的编译程序称为自编译,
  2. 交叉编译:用A机器上的编译程序来产生可在B机器上运行的目标代码
  3. 自展:首先确定一个非常简单的核心语言L0,然后用机器语言或者汇编语言写出它的编译程序T0,再把语言L0扩充到L1,用L0编写L1的编译程序T1,这样不断扩展下去,直到完成所要求的编译程序为止。
  4. 移植:A机器上的某种高级语言的编译程序稍加改动后能够在B机器上运行

习题

  1. 编译程序是将高级语言程序翻译成的机器语言程序的程序
  2. 将编译程序分成若干个“遍“是为了使编译程序的结构更加清晰。
  3. 构造编译程序应掌握:源程序、目标语言、编译方法
  4. 编译程序绝大多数时间花在表格管理上
  5. 编译程序是对高级语言程序的翻译。
  6. 计算机执行用高级语言编写的程序有哪些途径,它们之间主要区别是什么?
    答:计算机执行用高级语言编写的程序主要有两个途径,解释和编译
    解释:翻译程序每读入一条源程序的语句,就将其解释成对应其功能的机器代码语句串并执行,然后再读入下一条源程序语句并解释执行。
    编译:首先将高级语言源程序全部翻译成机器代码程序,再执行机器代码程序
    编译型高级语言比解释型高级语言块,解释方式下人机界面比编译型好,便于人机调试。
    解释方式下不生成目标代码,编译方式下生成目标代码。
  7. 画出编译程序的总框图,如果你是一个编译程序的总设计师,设计编译程序时应当考虑哪些问题?


    编译程序总框图

    作为一个编译程序的总设计师,首先要深刻理解被编译的源语言其语法及语义:其次,要充分掌握目标指令的功能及特点,如果目标语言是机器指令,还要搞清楚机器的硬件结构以及操作系统的功能:第三,对编译的方法及使用的软件工具也必须准确化。总之,总设计师在设计编译程序时必须估量系统功能要求、硬件设备及软件工具等诸因素对编译程序构造的影响。

上一篇下一篇

猜你喜欢

热点阅读