摘要: java语法解析器的核心类是com.sun.tools.javac.parser.JavacParser,令人惊讶的是java并没有使用antlr这样现成的的工具,而是选择手写。推测可能是为了性能的考虑吧。 接下来,让我们膜拜下大师的代码。 JavacParser.parseCompilationU 阅读全文
posted @ 2022-04-14 16:44 Mars.wang 阅读(1011) 评论(0) 推荐(0) 编辑
摘要: java前端编译器的入口在com.sun.tools.javac.Main,然而跟着main方法走下去,你会发现真正的实现内容在com.sun.tools.javac.main.JavaCompiler类的compile()方法中。 借用《深入理解java虚拟机》中的一张图片,实际的解析分为多个步骤 阅读全文
posted @ 2022-04-14 16:15 Mars.wang 阅读(344) 评论(0) 推荐(0) 编辑
摘要: 有很多同学想研究java编译器的源码,看反编译的class文件觉得不方便。 其实可以去管网直接下载源码,地址如下: http://hg.openjdk.java.net/jdk8u/jdk8u/langtools/ 点击左侧边栏的zip,下载完成后解压,将com.sun.*下面的代码放在IDE的源码 阅读全文
posted @ 2022-04-14 13:47 Mars.wang 阅读(298) 评论(0) 推荐(0) 编辑