℃江的观后感--Javac编译器

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/baidu_34750904/article/details/80377024

近一段时间忙着工作,又忙着毕业事宜,所以就有些懈怠了博客,我一直信奉知识改变命运,但是改变谁的命运就不一定了,想来假如改变不了自己,那能改变别人也是极好的。

  • Javac 是什么?

    其实一种编译器,能将一种语言规范转换成另外一种语言,其实就是将便于人理解的语言规范转化成机器容易理解的语言规范。机器代码执行起来当然高效,但如果是人写起来就未见得了。而Java属于对人较为友好的语言,所以。。。。Javac就是这样的。

  • 大学里面编译原理是如何编译程序?

    这里当然不是要谈什么逆波兰式,中缀表达式啥咪东西的,直接说的简单点儿:源程序->词法分析->语法分析->语义分析->中间代码生成->代码优化->目标代码生成->目标程序。词法分析主要是找出Java中那些关键字。语法分析的结果是找出一些规范化的Token流。语法分析会继续检查关键字是否符合Java语言规范,也就是说话是否能被机器理解。形成一个语法树。这个语法树其实有点儿像二进制的机器码,能说明各种事物。语义分析就是将文言文转化成白话文了。语义分析之后生成的是一个抽象语法树。我们有些单词分类包括:关键字,标识符,界限符,运算符,常数。

    Javac的各个模块最终完成了将Java源代码转化成Java字节码的任务。具体词法分析器,语法分析器,语义分析器什么的之后有机会再说。

    后感产生:摘自《深入分析Java Web 技术内幕》、《编译原理》

猜你喜欢

转载自blog.csdn.net/baidu_34750904/article/details/80377024
今日推荐