丛书序言
前言
第1章 引言
1.1 本书的目的
1.2 平台的选择
1.3 GJC的总体结构
1.4 实验设计
第2章 词法分析
2.1 单词符号的定义
2.2 词法分析程序的基本数据结构
2.3 词法分析程序的初始化
2.4 扫描下一个字符
2.5 扫描下一个符号
2.6 滤除源程序中的注释
2.7 读取一个标识符
2.8 读取一个数值常量
2.9 实例分析
2.10 小结
第3章 语法分析
3.1 自顶向下分析
3.1.1 自顶向下分析的一般过程
3.1.2 自顶向下分析方法的特点
3.1.3 自顶向下分析存在的问题及解决方法
3.1.4 自顶向下分析的主要方法
3.2 自底向上分析
3.2.1 基本算法思想
3.2.2 自底向上分析的主要方法
3.3 GJC中的语法分析过程
3.3.1 主要数据结构及方法
3.3.2 对各种语法成分的分析
3.4 实例分析
3.5 小结
第4章 符号表管理
4.1 GJC中与符号表管理相关的类
4.2 Java语言中符号的种类
4.3 符号名字的管理
4.4 符号的表示
4.5 类型的表示
4.6 可见性管理
4.7 实例分析
4.8 小结
第5章 抽象语法树
5.1 源程序的中间形式
5.1.1 逆波兰表示
5.1.2 N元表示
5.1.3 树形表示
5.2 GJC中的抽象语法树
5.2.1 Tree.java
5.2.2 TreeScanner.java和TreeTranslator.java
5.2.3 TreeMaker.java
5.2.4 Treelnfo.java
5.3 小结
第6章 语义分析
6.1 上下文环境
6.2 符号表相关的操作
6.3 语义检查
6.4 语义分析的主体
6.5 实例分析
6.6 小结
第7章 错误处理
第8章 Java虚拟机指令集简介
第9章 代码生成
附录一 Pascal实现的PL/O编译器源代码
附录二 在J2SE中单独编译GJC编译器
附录三 用jdb调试GJC编译器
实验一 为Java语言增加默认参数的特性
实验二 Java虚拟机上的PL/O编译器
实验三 使用工具自动生成词法分析器和语法分析器
参考文献