一、简单介绍
javac 是java语言编程编译器。javac工具读由java语言编写的类和接口的定义,并将它们编译成字节代码的class文件。二、源码获取
OpenJDK6源码: http://download.java.net/openjdk/jdk6/Javac的源码就在OpenJDK源码里面。
或者在CSDN下载: http://download.csdn.net/detail/p_3er/7383741
三、Javac的包
Javac的公共入口点是com.sun.tools.javac.main.Main。在com.sun.tools.javac下面的包的组织如下:com.sun.tools.javac.code
描述java语言内在语义的类 – 类型types, 符号symbols,等.
com.sun.tools.javac.comp
用语义细节来分析和标注语法分析树, 比如确定标识符identifiers的类型和符号。
com.sun.tools.javac.jvm
用于读写class files的后端类.
com.sun.tools.javac.main
顶层的驱动类. 编译器的标准入口点是 com.sun.tools.javac.main.Main (more...)
com.sun.tools.javac.parser
读取java源文件并创建语法分析树的类
com.sun.tools.javac.resources
编译器产生的资源文件. 其中两个是由"属性文件编译器"从属性源文件中生成的。Compiler.properties and javac.properties; 第三个是在构建的时候自动产生的,保存版本信息.version.properties
com.sun.tools.javac.tree
表示java语言的被标注的语法树的类. 最顶层的节点Tree.TopLevel表示源文件的内容(应该是JCTree.TopLevel)
com.sun.tools.javac.util
工具类, 提供调试、文件系统存取和javac的集合类的支持.