开始使用openjdk自带的netbeans项目来分析遇到了很多问题,运行时经常有ant脚本出错的情况,为了避免这些问题,自己又从源代码直接创建了javac项目。在Netbeans的工程属性中,改变运行的设定,主类选择com.sun.tools.javac.Main,参数这里先设定为HelloWorld.java。工作目录选择D:\Test,并把HelloWorld.java文件放在该目录下,作为测试使用。
自己设定之后可以很方便的设置断点,跟踪代码。这样可以根据调用栈来确定各个类之间的调用顺序,从而理清各个部分之间的层次关系。
设置好之后首先编译运行,生成Javac.jar文件。然后生成javadoc文件。以后的分析就首先看javadoc的说明,然后再去分析源代码。
词法分析是编译器的第一项工作,功能比较简单,就是对源代码进行分析,处理注释,得到一个个的Token,供语法分析部分使用。语法分析和词法分析在一遍中完成。
下面一周需要结合编译原理的正则表达式理论,阅读并分析词法分析器的代码。