编译过程

Posted naylor

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了编译过程相关的知识,希望对你有一定的参考价值。

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

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

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

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

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

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

以上是关于编译过程的主要内容,如果未能解决你的问题,请参考以下文章

JVM:文件编译过程

Javac编译过程

class文件的编译过程

JVM理论:(四/1)编译过程——早期(编译期)

编译-实践中的编译过程

oracle存储过程提示编译完成但存在错误,如何查看错误