编译原理课程设计(附光盘高等院校计算机专业课程综合实验系列规划教材)

来源:百度文库 编辑:神马文学网 时间:2024/04/29 03:17:15

编译原理课程设计(附光盘高等院校计算机专业课程综合实验系列规划教材)

作者:冯雁//鲁东明//李莹//王强//徐海燕等

 

  • 市场价: ¥26
  • 博库价:¥ 20.8
  • 折扣: 80折
  • 立即节省:¥ 5.2 元
  • ISBN:9787308056335
  • 出版社:浙江大学
  • 2007-11-01 第1版
  • 2007-11-01 第1次印刷
  • 开 本:16开
  • 页 数:218页
   内容提要    本书围绕着编译技术的基本原理和方法,以模拟程序设计语言SPL(Simple Pascal Language)的编译器的设计和实现为主线,结合词法分析、语法分析、语义分析、代码生成、代码优化、错误处理等各个基本模块,对原理和实现方法进行了详细分析。该编译器可接受SPL的程序,并将其翻译成汇编语言程序,最终实现汇编语言到8086/8088机器语言的翻译。本书为编译技术等相关课程的实验提供了参考。在附件中还提供了三类不同类型和难度的实验题,可供课程实验选择。本书所附光盘包含了SPL编译器的所有代码。
    本教材适合作为编译技术课程的配套的实验教材,也可作为有关编译方面研究的参考资料。
目录第1章 引论
  1.1 本书介绍
  1.2  SPL语言的特点及实验安排
    1.2.1 SPL语言的特点
    1.2.2 SPL语言编译器的主要结构
    1.2.3 实验安排
  1.3   平台的选择和介绍
    1.3.1 LEX简介
    1.3.2 YACC简介
第2章 词法分析
  2.1 词法分析器的基本框架
    2.2 词法分析器的基本原理
    2.2.1 DFA的构造和实现
    2.2.2 词法分析的预处理
    2.2.3 实现词法分析器的注意要点
  2.3 词法分析器的实现
    2.3.1 SPL语言单词属性字
    2.3.2 SPL词法分析器的输入和输出
    2.3.3  SPL词法分析器的分析识别
第3章 语法分析
  3.1  语法分析的基本框架
    3.1.1 上下文无关文法
    3.1.2 语法分析过程
    3.1.3 语法分析过程中的数据结构
  3.2 语法分析的基本方法
    3.2.1  自顶向下的分析方法
    3.2.2  自底向上的分析方法
  3.3   语法分析的实现
    3.3.1 SPL语法定义
    3.3.2 SPL语法分析
第4章 符号表实现
  4.1  符号表的操作及数据结构
    4.1.1 符号表的操作
    4.1.2 符号表的数据结构
  4.2 基本原理和设计要点
    4.2.1 作用域规则
    4.2.2 设计要点
  4.3  SPL符号表的实现
    4.3.1 符号表的组织方式
    4.3.2 符号表的具体实现
第5章 错误处理
  5.1  错误处理基本原理
    5.1.1 错误的种类
    5.1.2 错误的诊察和报告
    5.1.3 错误处理技术
    5.1.4 错误处理实现中的要点
  5.2 错误处理的实现
    5.2.1 错误处理数据结构定义和相关函数
    5.2.2 词法错误处理
    5.2.3 语法错误
    5.2.4 语义错误
    5.2.5 限制重复报告错误
第6章 代码生成
  6.1  代码生成原理及主要数据结构
    6.1.1 技术概述
    6.1.2 主要数据结构
  6.2  代码生成的关键要点
    6.2.1 布尔表达式的代码生成
    6.2.2 条件语句的代码生成
    6.2.3 循环结构的代码生成
    6.2.4 程序调用的代码生成
  6.3   目标机器环境说明
    6.3.1 目标机器8086
    6.3.2 目标机器i386
  6.4   代码生成程序的实现
    6.4.1 定义与声明的翻译
    6.4.2 表达式的翻译
    6.4.3 语句和控制流的翻译
第7章 代码优化
  7.1 总体框架
  7.2 基本原理
    7.2.1 代码优化分类
    7.2.2 常量表达式优化
    7.2.3 公共表达式的优化
    7.2.4 循环优化
    7.2.5 优化实现的要点
  7.3 优化的实现
    7.3.1 常量合并的实现
    7.3.2 公共表达式节省的实现
第8章 SPL编译器完整实现
  8.1 编译程序概述
  8.2 编译器各部分接口
    8.2.1 词法分析
    8.2.2 语法分析
    8.2.3 语义分析
    8.2.4 #间代码生成
    8.2.5 代码优化
    8.2.6 目标代码生成
    8.2.7 错误处理
  8.3   语言的扩充和实现
    8.3.1 词法分析器的语言扩充
    8.3.2 语法分析器的语言扩充
    8.3.3 符号表的语言扩充
    8.3.4 树和DAG扩充
    8.3.5 目标代码生成的语言扩充
  8.4 实现方法的替换和实现
  8.5   编译器的编译和测试
    8.5.1 Linux环境下的编译和运行
    8.5.2 Windows环境下的编译和运行
附件1 实验题目
附件2 SPL语法定义
参考文献