程序设计语言
1. 高级语言:
- 过程式语言:Fortran、Pascal、C
- 函数式语言:Lisp
- 逻辑式语言:Prolog
- 对象式语言:C++
2.低级语言:
(面向机器的语言)
- 汇编语言
- 机器语言
编译与翻译
翻译:
是指在计算机中放置一个能由计算机直接执行的翻译程序,它以某一种程序设计语言(源语言)所编写的程序(源程序)作为翻译或加工的对象,当计算机执行翻译程序时,就将它翻译为与之等价的另一种语言(目标语言)的程序(目标程序)。
编译:
如果一个翻译程序的源语言是某种高级语言,其目标语言是相对于某一计算机的汇编语言或机器语言,则称这种翻译程序为编译程序(或称为编译器)。
编译的阶段
- 词法分析器:输入源程序,进行词法分析,输出单词符号;
- 语法分析器:对单词符号串进行语法分析,识别出各类语法范畴,并判断输入串的正确性;也叫层次分析,常用分析树表示;
- 语义分析器与中间代码生成器:按照语义规则对语法单位进行语义分析并将其翻译成一定形式的中间代码;
- 优化器:对中间代码进行优化处理,提高时间空间利用率;
- 目标代码生成器:把中间代码翻译成最终的目标代码。