第四章 javac 编译原理
2018-04-11 本文已影响13人
01_小小鱼_01
-
javac 作用
将.java源代码文件转化为.class文件 -
编译流程
866881-20160216214708767-653617912.jpg
-
流程:
- 词法分析器:将源码转换为Token流
- 将源代码划分成一个个Token(Token包含的元素类型看3.2)
- 语法分析器:将Token流转化为语法树
- 将上述的一个个Token组成一句句话(或者说成一句句代码块),检查这一句句话是不是符合Java语言规范
- 语义分析器:将语法树转化为注解语法树
- 将复杂的语法转化成简单的语法(eg.注解、foreach转化为for循环)并做一些检查,添加一些代码
代码生成器:将注解语法树转化为字节码
- 将复杂的语法转化成简单的语法(eg.注解、foreach转化为for循环)并做一些检查,添加一些代码
- 词法分析器:将源码转换为Token流