目录:
定义-编译器是什么意思?
编译器是一种软件程序,可以将开发人员以高级编程语言编写的高级源代码转换为机器语言可以被处理器理解的低级目标代码(二进制代码)。 将高级编程转换为机器语言的过程称为编译。
处理器执行目标代码,该目标代码指示何时在处理器的算术逻辑单元中需要二进制高电平和低电平信号。
Techopedia解释了编译器
将机器语言转换为高级自然语言的编译器称为反编译器。 产生旨在在系统上运行的目标代码的编译器称为交叉编译器。 最后,将一种编程语言转换为另一种编程语言的编译器称为语言翻译器。
编译器执行四个主要步骤:
- 扫描 :扫描器一次从源代码中读取一个字符,并跟踪哪一行中存在哪个字符。
- 词法分析 :编译器将源代码中出现的字符序列转换为一系列字符串(称为标记),这些词串由称为词法分析器的程序通过特定规则进行关联。 词法分析器使用符号表在源代码中存储与生成的标记相对应的单词。
- 语法分析 :在此步骤中,执行语法分析,其中涉及预处理以确定在词法分析过程中创建的标记是否按其用法正确排序。 可以产生期望结果的一组关键字的正确顺序称为语法。 编译器必须检查源代码以确保语法准确性。
- 语义分析 :此步骤包括几个中间步骤。 首先,检查标记的结构以及给定语言中标记相对于语法的顺序。 解析器和分析器解释令牌结构的含义,以最终生成称为目标代码的中间代码。 目标代码包括代表程序中遇到的相应令牌的处理器动作的指令。 最后,将对整个代码进行解析和解释,以检查是否有可能进行任何优化。 一旦执行了优化,就将适当的修改后的令牌插入目标代码中,以生成最终的目标代码,并将其保存在文件中。