《编译原理课程设计》PDF下载

  • 购买积分:10 如何计算积分?
  • 作  者:王雷,刘志成,周晶编著
  • 出 版 社:北京:机械工业出版社
  • 出版年份:2005
  • ISBN:7111158776
  • 页数:222 页
图书介绍:本书通过分析一个真正实用的现代编译系统,介绍如何把编译理论应用到工程实践中。

目录 1

丛书序言 1

前言 1

第1章 引言 1

1.1 本书的目的 1

1.2 平台的选择 1

1.3 GJC的总体结构 2

1.4 实验设计 8

第2章 词法分析 9

2.1 单词符号的定义 11

2.2 词法分析程序的基本数据结构 12

2.3 词法分析程序的初始化 15

2.4 扫描下一个字符 16

2.5 扫描下一个符号 17

2.6 滤除源程序中的注释 22

2.7 读取一个标识符 23

2.8 读取一个数值常量 24

2.9 实例分析 25

2.10 小结 27

第3章 语法分析 29

3.1 自顶向下分析 29

3.1.1 自顶向下分析的一般过程 29

3.1.2 自顶向下分析方法的特点 29

3.1.3 自顶向下分析存在的问题及解决方法 30

3.1.4 自顶向下分析的主要方法 32

3.2 自底向上分析 33

3.2.1 基本算法思想 33

3.2.2 自底向上分析的主要方法 33

3.3 GJC中的语法分析过程 34

3.3.1 主要数据结构及方法 35

3.3.2 对各种语法成分的分析 39

3.4 实例分析 51

3.5 小结 61

第4章 符号表管理 63

4.1 GJC中与符号表管理相关的类 65

4.2 Java语言中符号的种类 66

4.3 符号名字的管理 67

4.4 符号的表示 72

4.5 类型的表示 75

4.6 可见性管理 78

4.7 实例分析 84

4.8 小结 86

第5章 抽象语法树 87

5.1 源程序的中间形式 87

5.1.1 逆波兰表示 87

5.1.2 N元表示 88

5.1.3 树形表示 89

5.2.1 Tree.java 90

5.2 GJC中的抽象语法树 90

5.2.2 TreeScanner.java和TreeTranslator.java 100

5.2.3 TreeMaker.java 100

5.2.4 TreeInfo.java 103

5.3 小结 108

第6章 语义分析 109

6.1 上下文环境 109

6.2 符号表相关的操作 112

6.3 语义检查 116

6.4 语义分析的主体 124

6.5 实例分析 131

6.6 小结 133

第7章 错误处理 135

7.1 概述 135

7.2 错误的种类 135

7.3 错误的诊察与报告 136

7.4 错误处理技术 139

7.4.1 错误改正 139

7.4.2 错误局部化处理 140

7.5 限制重复报告错误信息 142

7.6 小结 143

第8章 Java虚拟机指令集简介 145

8.1 Java虚拟机的指令集编码 145

8.2 Java虚拟机支持的基本数据类型 148

8.3 面向堆栈指令的语义 149

8.4 将Java翻译成字节码指令 154

8.5 小结 160

第9章 代码生成 161

9.1 指令的编码 162

9.2 生成代码的管理 165

9.3 指令的发射 165

9.4 存储管理 169

9.5 为Java语言的各种结构生成代码 172

9.5.1 为Java方法生成代码 172

9.5.2 为方法的调用生成代码 174

9.5.3 为循环结构生成代码 175

9.5.4 为条件语句生成代码 177

9.5.5 为异常捕获部分生成代码 178

9.6 实例分析 182

9.7 小结 186

附录一 Pascal实现的PL/O编译器源代码 187

附录二 在J2SE中单独编译GJC编译器 205

附录三 用jdb调试GJC编译器 207

实验一 为Java语言增加默认参数的特性 209

实验二 Java虚拟机上的PL/O编译器 213

实验三 使用工具自动生成词法分析器和语法分析器 219

参考文献 222