Javac是什么
Javac就是一种编译器,能将一种语言规范转化成另一种语言贵方。
Javac的任务就是将Java源文件编译成Java字节码,也就是JVM能够识别的二进制码。
Javac编译器的基本结构
首先先读取源代码,一个一个读进来,找出这些字节中有哪些是我们定义的语法关键词,比如if,else,while等关键词。这一个步骤就是词法分析器的作用了。语法分析器把源码变成了token流。
接下来语法分析器,把token流进行语法分析,将这些关键字组合在一起是不是符合Java语言规范。语法分析器形成了语法数。
接下来语义分析器,经过前面的词法分析器和语法分析器两个地方,已经不错在语法问题了,但是语义问题是不是正确还未知,这就是语义分析器的作用了。
语义分析的结构就是将复杂的语法转换成最简单的语法。
最后通过字节码生成器来生成字节码。