编译过程

1.词法分析: 对源程序从前到后逐个字符进行扫描,从中识别出一个个“单词”符号。

2.语法分析:在词法分析的基础上,根据语言的语法规则将单词符号序列分解成各类语法单元。通过语法分析,确定整个输入串是否构成一个语法上正确的程序。

3.语义分析:语义分析是编译过程的一个逻辑阶段,语义是解释控制信息每个部分的意义,它规定了需要发出何种控制信息,以及完成的动作与做出什么样的响应,此阶段的任务是对结构上正确的源程序进行上下文有关性质的审查, 进行类型审查;收集类型信息供后面的代码生成阶段使用

4.中间代码生成: 根据语义分析的输出生成中间代码,这是一种简单且含义明确的记号系统,与具体的机器无关。

5.代码优化: 生成的中间代码往往在时间和空间上有很大的浪费,对其优化,可生成高效的目标代码。优化过程可在中间代码生成阶段进行,也可以在目标代码生成阶段进行。

6.目标代码生成: 把中间代码变换成特定机器上的绝对指令代码、可重定位的指令代码或汇编代码。

posted @ 2020-07-06 15:24  Naylor  阅读(160)  评论(0编辑  收藏  举报