1、简介:
Java语言的“编译期”其实是一段“不确定”的操作过程,因为它可能是指一个前端编译期把*.java文件编译为*.class文件的过程(比如Sun Javac编译期就属于一个对程序进行早期优化的编译期)。
2、编译过程
一般而言,其编译过程一般可分为以下3个过程:
解析与填充符号表过程
插入式注解处理器的注解处理过程
分析与字节码生成过程
Javac的编译过程
Javac编译过程的主体代码
2.1、解析与填充符号表
1)、解析
解析步骤由图10-5的parseFiles()方法来完成,其包含词法分析和语法分析两个过程:
第一、词法分析是将源代码的字符流转变为标记(Token)集合,单个字符是程序编写过程的最小元素,而标记是编译过程的最小元素,关键字、变量名、字面量、运算符都可以成为标记,如“int a=b+2”这句话包含了6个标记,分别是int、a、=、b、+、2,虽然关键字int是由3个字符构成,但是它只是一个Token,不可再拆