一. javac编译原理
Javac编译器任务就是将Java语言规范转化成Java虚拟机语言规范,完成“翻译”工作(即将源码翻译成字节码)
1. 词法分析的结果就是从源代码中找出一些规范化的Token流(关键字之类的)
2. 语法分析的结果就是形成一个符合Java语言规范的抽象语法树(即将token流按照java语言规范组成语法树)
3. 语义分析的结果就是将复杂的语法转化成最简单的语法,解语法糖、添加默认构造函数、做一些检查工作之类的,生成一个更加便于操作的语法树
4. 通过字节码生成器生成字节码,根据经过抽象语法树生成字节码,也就是将一个数据结构转化为另外一个数据结构,就像将所有的中文词语翻译成英文单词后,按照英文语法组装成英文语句。