一.低级语言和高级语言
计算机硬件只能识别由0,1字符序列组成的机器指令,因此机器指令是最基本的计算机语言。用机器语言编制程序效率低,可读性差,也难以理解修改和维护。因此,人民设计了汇编语言,用容易记忆的符号代替0,1序列,来表示机器指令中的操作码和操作数。但汇编语言是面向机器的语言,其书写格式在很大程度上取决于特定计算机的机器指令。机器语言和汇编语言被称为低级语言。
人们开发了功能更强,抽象级别更高的语言以支持程序设计,因此就产生了面向各类应用的程序设计语言,即高级语言,常见
的有Java,Python,C,C++,PHP等,这类语言与人们使用的自然语言比较接近,大大提高了程序设计的效率。
二.连接程序
连接程序是将不同的目标文件中编辑或汇编的代码收集到一个可直接执行的文件中。
三.汇编程序
汇编语言是为特定计算机设计的面向机器的符号化程序设计语言。用汇编语言编写的程序称为汇编语言源程序。因为计算机不能直接识别和运行符号语言程序,所以要用专门的汇编程序进行翻译。
汇编程序就是把汇编语言书写的程序翻译成与之等价的机器语言程序的翻译程序。汇编语言源程序由三类语句组成:指令语句,伪指令语句和宏指令语句。
汇编程序一般需要扫描两次完成汇编过程:将每一条可执行汇编语句转换成对应的机器指令;处理源程序中出现的伪指令和宏指令。
四.编译程序
把用高级程序设计语言书写的源程序翻译成等价的计算机汇编语言或机器语言书写的目标程序的翻译程序叫编译程序。
包括词法分析,语法分析,语义分析,中间代码生成,代码优化,目标代码生成,符号表管理,出错处理阶段,符号表管理和出错管理伴随整个翻译阶段。
(1)词法分析:编译过程的第一个阶段,对源程序从前到后逐个字符扫描,从中识别出一个个“单词”符号,词法分析输出的单词常以二元组的方式输出,即单词种类和单词自身的值。
(2)语法分析:是在词法分析的基础上,通过语法规则将单词符号序列分解成各类语法单位,判断整个输入串是否构成一个语法上正确的程序。