码迷,mamicode.com
首页 > 编程语言 > 详细

第四章 Javac编译原理

时间:2017-08-19 10:56:14      阅读:139      评论:0      收藏:0      [点我收藏+]

标签:3.3   循环   token   代码生成   组织   符号   字节   访问者模式   抽象语法树   

4.1 Javac是什么

  是一种编译器,将JAVA源代码(.java文件)语言先转化成JVM能够识别的一种语言(.class文件),然后由JVM将JVM语言再转化成当前机器可以识别的机器语言。

4.2 javac编译器的基本结构

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

   词法分析:从源代码中找出一些规范的token流,就像在人类的语言中分辨出哪些是词语,标点符号,动词,名词等。

   语法分析:形成一个符合JAVA语言规范的抽象语法树。语法树是结构化的语法表达形式,把语言的词法用一个结构化的形式组织在一起。

  语义分析:虽然语法分析完了,但是语义是否正确呢?语义分析是把一些难懂的,复杂的语法转化成更加简单的语法。比如将foreach转成for循环结构,还有注解等。

  代码生成:通过字节码生成器生成字节码,生成的是复合JAVA虚拟机规范的字节码。

4.3 Javac工作原理分析

    4.3.1 词法分析器

  4.3.2 语法分析器

  4.3.3 语义分析器

  4.3.4 代码生成器

4.4 设计模式解析之访问模式

  4.4.1 访问者模式的结构

  4.4.2 Javac中访问者模式的实现

第四章 Javac编译原理

标签:3.3   循环   token   代码生成   组织   符号   字节   访问者模式   抽象语法树   

原文地址:http://www.cnblogs.com/liufei1983/p/7395559.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!