javac源码详解openJDKSE8版本1编译的主要过程
编译的主要过程
lexer
读java文件,生成token
parse
读token,把token组装成tree
enterTrees
读tree,生成symbol,symbolTable等,并为tree生成env
processAnnotations
读tree,并修改tree。有人称之为插入式注解处理过程
attribute
读tree,进一步完善enterTrees的相关工作
flow
读tree,对tree进行数据流分析
desugar
读tree,去掉语法糖
generate
读tree,生成code