什么是编译器设计?

编译器是将高级语言(例如 C、C++ 和 Java)翻译成低级语言(目标程序或机器程序)的程序。

编译器还会找出程序编译过程中遇到的各种错误。

编译器使用各种阶段将高级语言转换为低级语言。客户输入的字符流经过多个编译阶段,最终提供目标语言。

编译器的任务是在不改变程序含义的情况下改变用一种语言编写的程序。当您实现一个用 HLL 编程语言编写的程序时,它会分为两部分。在第一个元素中,源代码被编译并翻译成目标代码(低级语言)。在第二个元素中,目标程序通过汇编程序被翻译成目标代码。

编译器的特点

编译器的各种功能如下 -

  • 它可以在更短的时间内编译大量代码。

  • 它需要更少的内存区域来编译源语言。

  • 如果源代码需要频繁修改,它可以只编译修改后的代码段。

  • 在管理硬件中断时,最好的编译器与操作系统紧密连接。

编译器的优点

编译器有各种优点,如下所示 -

  • 编译器在一次运行中翻译代码。

  • 它消耗的时间更少。

  • CPU利用率更高。

  • 可以同时检查语法和语义错误。

  • 它很容易被许多高级语言(如 C、C++、JAVA 等)支持。

编译器的缺点

编译器有各种缺点,如下所示 -

  • 它不灵活。

  • 它占用更多空间。

  • 错误定位很困难。

  • 每次修改都必须编译源程序。

  • 它必须生成应该快速运行的正确机器代码。

  • 它应该是便携式的。

  • 它应该给出诊断和错误消息。

  • 它必须具有一致的优化。

编译器类型

有两种类型的编译器如下 -

一次性编译器

一通编译器只读取一次代码,然后翻译它。一次性编译器只通过每个编译单元的部分一次。它将每个零件翻译成最终的机器程序。在一次性编译器中,当处理线源时,会对其进行扫描并提取令牌。

多遍编译器

编译器扫描输入源一次并创建第一个修改表单,因此扫描第一个生成的表单并创建第二个修改表单,等等,直到生成对象表单。这样的编译器被称为多通道编译器。

以上是 什么是编译器设计? 的全部内容, 来源链接: utcz.com/z/363265.html

回到顶部