上传者: m0_48958478
|
上传时间: 2022-06-29 09:08:06
|
文件大小: 13.44MB
|
文件类型: ZIP
编译程序的工作即从输入源程序开始到输出目标程序为止的整个过程可以划分成五个阶段:词法分析、语法分析、(语义分析(有时也可分成六个阶段))、中间代码生成、优化、目标代码生成。
词法分析的任务是扫描源程序字符串,逐个地按词法规则识别出正确的单词,并转换成统一规格(类号,内码)交语法分析使用。
语法分析阶段的任务是组词成句。
中间代码是在语法分析正确的基础上,按照相应语义规则产生地一种介于源语言与目标代码之间的代码,这种代码不依赖于机器但又便于产生依赖于机器的目标代码。中间代码有多种形式:四元式、三元式和逆波兰式等。
优化的任务在于对前一阶段产生的中间代码进行加工变换,以期在最后阶段能产生出更为高效(省时间、省空间)的目标代码。
目标代码生成的主要任务是把中间代码程序转换为具体及其的指令序列。
编译的五个阶段都需要与表格打交道,用以记录源程序的各种信息以及编译过程中的各种状况。