1.1语言处理器

2020-02-28 11:28:45 浏览数 (1)

1.1.1 编译器和解释器之间的区别是什么

答:

编译器是一个程序,它可以阅读某一种语言(源语言)编写的程序,并把该程序转译成一个等价值、用另一种语言(目标语言编写的程序)。

Created with Raphaël 2.2.0源程序编译器目标程序

Created with Raphaël 2.2.0输入目标程序输出

解释器是另一种常见语言处理器。它并不通过翻译的方式生成目标程序。从用户角度来看,解释器拿到用户的输出执行源程序指定操作。

源程序

解释器

输入

输出

1.1.2 编译器和解释器的优缺点

答:

一个输入输出的过程,利用编译器先编译的过程比直接使用解释器运行效率更高。解释器比编译器诊断错误效果更好。

编译器:运行效率更高,需要先编译成目标程序耗时,错误诊断效果不好。 解释器:边执行边解释,无需耗时去编译,错误诊断效果好。

1.1.3 在一个语言系统中,编译器产生汇编语言而不是机器语言的好处是什么?

答:

汇编语言比较容易输出和调试。

1.1.4 编译器使用C作为目标语言有什么好处?

  1. 跨平台移植性比较好
  2. 较汇编语言相比抽象程度更高
1.1.5 描述一下汇编器所完成的任务

  1. 对源文件的预处理;
  2. 对汇编语法的诊断;
  3. 映射汇编指令到对应机器码;
  4. 创建特定结构的可重分配目标文件文件。

0 人点赞