编译原理课程设计

编译原理课程设计
作 者: 王雷 刘志成 周晶
出版社: 机械工业出版社
丛编项: 高等院校计算机课程设计指导丛书
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 编译原理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《编译原理课程设计》作者简介

内容简介

本书特色:编译理论和技术作为计算机科学研究和工程应用的基础,受到了广泛的重视。编译原理也是大学计算机专业的必修课程。本书使用优秀的开源Java编译器GJC作为编译教学的基础平台,通过分析一个真正实用的现代编译系统,把编译理论应用到实际的工程实践中。全书不仅包括对编译器源代码的分析、对实例的讲解,还在最后给出3个具体的课程设计实验,介绍如何用书本上的编译理论实现一个真正的编译器。●使用优秀的开源编译器作为教学平台,系统规模不大,且源程序有着很好的注释。●通过详尽的源代码剖析和实例讲解,循序渐进地启发学生完成课程设计。●结合实际应用的要求,使课程设计既覆盖知识点,又接近工程实践需要。●是一本注重应用的实验教程,因此可以和讲授编译理论的教材配合使用。编译原理是大学计算机专业的必修课程。本书使用优秀的开源Java编译器GJC作为编译教学的基础平台,通过分析一个真正实用的现代编译系统,把编译理论应用到实际的工程实践中。全书不仅包括对编译器源代码的分析、对实例的讲解,还在最后给出3个具体的课程设计实验,介绍如何用书本上的编译理论实现一个真正的编译器。本书适合作为大专院校编译原理课程设计的指导用书,相关的从业人员和研究人员也可以从中获得有益的参考。

图书目录

第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章 错误处理

7. 1 概述

7. 2 错误的种类

7. 3 错误的诊察与报告

7. 4 错误处理技术

7. 4. 1 错误改正

7. 4. 2 错误局部化处理

7. 5 限制重复报告错误信息

7. 6 小结

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

8. 1 Java虚拟机的指令集编码

8. 2 Java虚拟机支持的基本数据类型

8. 3 面向堆栈指令的语义

8. 4 将Java翻译成字节码指令

8. 5 小结

第9章 代码生成

9. 1 指令的编码

9. 2 生成代码的管理

9. 3 指令的发射

9. 4 存储管理

9. 5 为Java语言的各种结构生成代码

9. 5. 1 为Java方法生成代码

9. 5. 2 为方法的调用生成代码

9. 5. 3 为循环结构生成代码

9. 5. 4 为条件语句生成代码

9. 5. 5 为异常捕获部分生成代码

9. 6 实例分析

9. 7 小结

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

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

附录三 用jdb调试GJC编译器

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

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

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

参考文献