• 深入解析Java编译器 源码剖析与实例详解
21年品牌 40万+商家 超1.5亿件商品

深入解析Java编译器 源码剖析与实例详解

全新正版 极速发货

104.53 5.8折 179 全新

库存7件

广东广州
认证卖家担保交易快速发货售后保障

作者马智

出版社机械工业出版社

ISBN9787111643388

出版时间2020-01

装帧平装

开本16开

定价179元

货号1202006299

上书时间2024-11-25

书香美美

已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:全新
商品描述
目录
前言

章Javac介绍

1.1初识Javac

1.2Javac源码与调试

1.3Javac命令

第2章Javac文件系统

2.1文件相关实现类

2.2文件的管理

2.2.1获取JavacFileManager对象

2.2.2StandardLocation类

2.2.3JavacFileManager类

第3章词法分析

3.1字符编码

3.2获取字符输入流

3.3Token与Name

3.3.1Token介绍

3.3.2Name对象的生成与存储

3.3.3Name映射为Token

3.4生成Token流

第4章语法分析之认识树节点

4.1定义及声明

4.1.1JCCompilationUnit类

4.1.2JCImport类

4.1.3JCClassDecl类

4.1.4JCModifiers类

4.1.5JCTypeParameter类

4.1.6JCVariableDecl类

4.1.7JCMethodDecl类

4.2语句

4.2.1JCBlock类

4.2.2JCIf类

4.2.3JCWhileLoop、JCDoWhileLoop、JCForLoop与JCEnhancedForLoop类

4.2.4JCSwitch与JCCase类

4.2.5JCTry、JCCatch与JCThrow类

4.2.6JCLabeledStatement、JCReturn、JCContinue与JCBreak类

4.2.7JCSynchronized类

4.2.8JCAssert类

4.3表达式

4.3.1基本表达式

4.3.2含运算符的表达式

4.3.3类型相关表达式

4.3.4注解表达式

4.4生成树节点

第5章语法分析之建立抽象语法树

5.1定义及声明的抽象语法树

5.2语句的抽象语法树

5.3表达式的抽象语法树

5.3.1基本表达式

5.3.2含有运算符的表达式

5.4遍历抽象语法树

第6章符号表的组织

6.1符号的定义

6.1.1Symbol类

6.1.2TypeSymbol及其子类

6.1.3VarSymbol类

6.1.4MethodSymbol及OperatorSymbol类

6.2符号表的组织

6.2.1Env类介绍

6.2.2AttrContext类介绍

6.2.3Scope类介绍

6.2.4符号表的建立

6.3类型的定义

6.3.1普通类型的定义

6.3.2泛型相关类型的定义

第7章填充符号表

7.1依赖的处理

7.1.1创建包或类符号

7.1.2输入包或类下的成员符号

7.2符号输入的阶段

7.2.1Enter类

7.2.2visitTopLevel()方法

7.2.3visitClassDef()方法

7.2.4visitTypeParameter()方法

7.3符号输入第二阶段

7.3.1MemberEnter类

7.3.2visitImport()方法

7.3.3visitMethodDef()方法

7.3.4visitVarDef()方法

第8章插入式注解的实现

8.1注解处理器基础

8.1.1编写注解处理器

8.1.2注解配置

8.1.3工具类

8.2初始化注解处理器

8.3运行注解处理器

第9章语义分析之类型转换

9.1类型转换的种类

9.2赋值转换

9.3方法调用转换

9.4强制类型转换

9.5数字提升

0章语义分析之语法检查

10.1类型定义的检查

10.1.1父类及实现接口的检查

10.1.2类型定义的唯一性检查

10.1.3类型中方法的兼容性检查

10.1.4类型中实现方法的检查

10.2变量定义的检查

10.3方法定义的检查

10.3.1方法的唯一性检查

10.3.2方法的隐藏

10.3.3方法的覆写

1章语义分析之引用消解

11.1Resolve类介绍

11.2类型引用的消解

11.3变量引用的消解

11.4方法引用的消解

2章语义分析之语法树标注

12.1Attr类介绍

12.2表达式相关树节点的标注

12.2.1JCUnary树节点标注

12.2.2JCBinary树节点的标注

12.2.3JCAssignOp树节点的标注

12.3JCIdent树节点的标注

12.4JCFieldAccess树节点的标注

3章泛型的实现

13.1泛型类型

13.2泛型方法

13.2.1类型推断

13.2.2钻石语法

13.3泛型擦除

4章数据流检查

14.1Flow类介绍

14.1.1语句的活跃性分析

14.1.2变量赋值检查

14.1.3异常检查

14.2if语句的分析

14.2.1if语句

14.2.2一元表达式与if语句

14.2.3二元表达式与if语句

14.2.4三元表达式与if语句

14.3循环语句的分析

14.3.1for语句

14.3.2中断循环语句

14.4try语句与throw语句的分析

14.4.1抛出异常

14.4.2异常检查

14.4.3变量赋值状态及语句的活跃性

5章语法糖去除

15.1简单语法糖

15.1.1变长参数

15.1.2条件编译

15.1.3自动装箱与拆箱

15.2语句语法糖

15.2.1foreach语句

15.2.2switch语句

15.2.3try-with-resources语句

15.3枚举类语法糖

15.4内部类语法糖

15.4.1调用私有构造方法

15.4.2引用成员

15.4.3super关键字引用父类成员

15.4.4访问自由变量

6章字节码指令生成

……

内容摘要
本书以工业级编译器Javac的源代码为基础,详细介绍了词法分析、语法分析、语义分析及代码生成等各个阶段的具体实现,同时对重点源代码的实现进行了详细解读,让读者能真正掌握从Java源代码变为Class文件的每个过程。本书共18章,章节的前后顺序与Javac编译Java源代码的顺序严格对应。本书涵盖的主要内容有Javac介绍、Javac文件系统、词法分析、语法分析之认识树节点、语法分析之建立抽象语法树、符号表的组织、填充符号表、插入式注解的实现、语义分析之类型转换、语义分析之语法检查、语义分析之引用消解、语义分析之语法树标注、泛型的实现、数据流检查、语法糖去除、字节码指令生成、重要结构的字节码指令生成、生成Class文件。同时,为了读者能更好地查阅相关信息,本书在附录中给出了Javac命令、文法、类型常见操作、符号常见操作和虚拟机字节码指令表的相关内容。本书语言简洁,实例丰富,适合Java从业人员阅读,可以帮助他们深入理解、Javac如何支持、Java语言的诸多特性,如泛型等;也适合对编译器感兴趣的读者阅读,可以帮助他们真正掌握如何将编译器相关的理论知识应用到开发实践中。

   相关推荐   

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP