Javac编译原理

Javac是什么

Javac就是一种编译器,能将一种语言规范转化成另一种语言贵方。
Javac的任务就是将Java源文件编译成Java字节码,也就是JVM能够识别的二进制码。

Javac编译器的基本结构

![在这里插入图片描述](https://img-blog.csdnimg.cn/20191223094958217.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2NoZW5qaWV4b25n,size_16,color_FFFFFF,t_70首先先读取源代码,一个一个读进来,找出这些字节中有哪些是我们定义的语法关键词,比如if,else,while等关键词。这一个步骤就是词法分析器的作用了。语法分析器把源码变成了token流。
接下来语法分析器,把token流进行语法分析,将这些关键字组合在一起是不是符合Java语言规范。语法分析器形成了语法数。
接下来语义分析器,经过前面的词法分析器和语法分析器两个地方,已经不错在语法问题了,但是语义问题是不是正确还未知,这就是语义分析器的作用了。
语义分析的结构就是将复杂的语法转换成最简单的语法。
最后通过字节码生成器来生成字节码。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值