首先下载openjdk的源文件包,地址http://www.java.net/download/openjdk/jdk7/promoted/b40/openjdk-7-ea-src-b40-20_nov_2008.zip.
使用NetBeans进行构建,构建指南:
http://nb-openjdk.netbeans.org/get-and-build-compiler.html
按照这里给的方式构建会出现问题,解决方案,在..\openjdk\langtools目录下创建文件build.properties,文件内容为:
boot.java.home=C:\\Program Files\\Java\\jdk1.6.0_10
开始尝试过使用jdk1.5来构建,不过没有正确生成所有的文件,改为jdk1.6之后构建成功。生成的结果在langtools文件夹下面的build和dist中。其中dist\lib下面的javac.jar可以直接使用。测试
D:\openjdk\langtools\dist\lib>java -jar javac.jar HelloWorld.java
成功。
构建成功之后就可以进行代码的分析与跟踪工作了.
参考资料:
1.Compilers Priciples,Techniques,&Tools(Second Edition)
2.编译原理课程设计,作者王雷,刘志成,周晶,对javac 1.4版本进行了分析,内容不错.
3.Java语言规范,http://java.sun.com/docs/books/jls/third_edition/html/j3TOC.html
这是java编译器设计的依据,自然是重中之重.
4.Java 虚拟机规范,http://java.sun.com/docs/books/jvms/second_edition/html/VMSpecTOC.doc.html
生成class文件的依据.
5.http://openjdk.java.net/groups/compiler/doc/package-overview/index.html
http://openjdk.java.net/groups/compiler/doc/compilation-overview/index.html
6.Inside the Java Virtual Machine
http://www.artima.com/insidejvm/ed2/index.html