编译器设计中的翻译器有哪些类型?

翻译器是一种编程语言处理器,可将计算机程序从一种语言修改为另一种语言。它将源程序中编写的程序修改为机器程序。它可以发现和检测翻译过程中的错误。

有多种类型的翻译器,如下所示 -

  • 编译器- 编译器是将高级语言(例如 C、C++ 和 Java)翻译成低级语言(目标程序或机器程序)的程序。编译器使用不同的阶段将高级语言转换为低级语言。客户输入的字符流经过多个编译阶段,最终提供目标语言。

  • 预处理器- 预处理器是在源代码通过编译器之前处理源代码的程序。它可以在所谓的预处理器命令行或指令的控制下执行。

  • 汇编程序- 汇编程序是将汇编语言程序翻译成计算机的等效机器语言程序的翻译器。汇编程序提供了比计算机 0 和 1 更友好的表示,从而简化了编写和读取程序。

汇编程序读取单个汇编语言源文档并创建一个包含机器指令和簿记数据的目标文档,支持将各种目标文件合并到一个程序中。

  • 解释器- 解释器是直接执行编程代码而不是仅将其转换为另一种格式的程序。它将编程语言语句一一翻译和执行。

  • 宏- 许多汇编语言支持“宏”工具,宏语句将在被翻译成机器代码之前翻译成一系列汇编语言语句和可能的其他宏语句。因此,宏工具是一种文本替换效率。

  • 链接器- 链接器是一种连接和组合多个目标文件以创建可执行文件的计算机程序。所有这些文件都可能是由单独的汇编程序编译的。链接器的功能是检查和查找程序中引用的模块/例程,并确定将加载这些代码的内存位置,从而创建具有绝对引用的程序指令。

  • 加载器- 加载器是操作框架的一个元素,负责将可执行文件加载到内存中并实现它们。它可以计算程序(指令和数据)的大小并为其生成内存空间。它可以初始化几个寄存器来开始执行。

它为程序创建一个新的地址空间。这个地址空间很大,会影响文本和数据段以及堆栈段。它可以将可执行文件中的指令和数据重复到新的地址空间中。

以上是 编译器设计中的翻译器有哪些类型? 的全部内容, 来源链接: utcz.com/z/357256.html

回到顶部