javac编译原理

  javac编译器的作用就是将符合java语言规范的源代码转化成符合java虚拟机规范的java字节码

  经历:词法分析器->语法分析器->语义分析器->编译字节码 四个过程生成字节码文件

  1、词法分析:javacPaser根据java语言规范判断出哪些是动词,名词,标点符号之类,生成规范的token流。将这个类中的所有关键词匹配到Token类中的一项

  2、语法分析:将词法分析器生成的Token流转化成更加结构化的语法树,也就是将一个个单词组成成一句话,一个完整的句子。

  3、语义分析:语法分析生成的结构书比较粗糙,与字节码文件是有差距的。通过语义分析器来对其优化:添加默认构造函数,常量合并,变量是否初始化,异常是否抛出,每条语句是否必达,去除语法糖等

posted @ 2017-12-26 14:28  以梦为码  阅读(137)  评论(0编辑  收藏  举报