
| 编译理论和技术作为计算机科学研究和工程应用的基础,受到了广泛的重视。编译原理也是大学计算机专业的必修课程。本书使用优秀的开源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章 错误处理 …… 第8章 Java虚拟机指令集简介 第9章 代码生成 附录一 Pascal实现的PL/O编译器源代码 附录二 在J2SE中单独编译GJC编译器 附录三 用jdb调试GJC编译器 实验一 为Java语言增加默认参数的特性 实验二 Java虚拟机上的PL/O编译器 实验三 使用工具自动生成词法分析器和语法分析器 参考文献 |
商品评论(0条)