编译原理实验教程 / 计算机课程设计与综合实践规划教材
¥35.00定价
作者: 刘刚、赵鹏翀
出版时间:2017年3月
出版社:清华大学出版社
- 清华大学出版社
- 9787302456995
- 1-1
- 55565
- 16开
- 2017年3月
- 工学
- 软件工程
- TP314
- 计算机
- 本专科、高职高专
内容简介
本书结合对现代编译器设计理论的详细研究,精心设计了若干个实验,每个实验都使用C语言编写完成,并配有大量的练习,使读者可以将注意力集中到编程上,真正做到“以源代码为核心”。读者可以亲自动手完成这些实验,在实践的过程中循序渐进地学习编译原理的理论知识,进而加深对编译原理的理解,掌握理论知识在实际中的应用情况,从而将理论知识统一起来。本书还完整描述了一个可运行的小规模语言编译器(包括源代码)。全书包含12个实验,是一本真正能够引导读者动手实践的书。本书可作为高等院校“编译原理”课程的实践教材,也可作为各类程序开发者、爱好者的阅读参考书。
目录
目录
CP Lab简介1
实验1实验环境的使用3
实验2NFA到DFA26
实验3使用Lex自动生成扫描程序48
实验4消除左递归(无替换)62
实验5消除左递归(有替换)74
实验6提取左因子89
实验7First集合104
实验8Follow集合117
实验9Yacc分析程序生成器132
实验10符号表的构建和使用137
实验11三地址码转换为P\|代码146
实验12GCC编译器案例综合研究156
附录ATINY编译器和TM机167
参考文献225第1章数据结构课程设计概述1
1.1数据结构简介1
1.2课程设计目标和特点2
1.3编写说明3
1.4课程设计实例的标准格式4
第2章线性表的应用6
2.1存储结构与基本运算的算法6
2.2集合的交、并运算15
2.3学生成绩管理18
2.4多项式求导25
2.5约瑟夫环问题30
2.6数据库管理系统34
第3章栈的应用58
3.1存储结构与基本运算的算法58
3.2括号匹配63
3.3汉诺塔问题66
3.4算术表达式求值69
3.5马踏棋盘76
第4章队列的应用82
4.1存储结构与基本运算的算法82
4.2看病排队候诊问题88
4.3数制的转换91
4.4停车场管理99
4.5基数排序107
第5章串的应用114
5.1存储结构与基本运算的算法114
5.2KMP算法118
5.3最长公共子串121
5.4大整数计算器123
编译原理实验教程目录第6章多维数组和广义表的应用130
6.1存储结构与基本运算的算法130
6.2魔方阵139
6.3稀疏矩阵的加法运算143
6.4本科生导师制问题151
第7章树状结构的应用169
7.1存储结构与基本运算的算法169
7.2线索二叉树的创建与遍历172
7.3由遍历确定二叉树175
7.4电文的编码和译码177
7.5家族关系查询系统183
第8章图状结构的应用201
8.1存储结构与基本运算的算法201
8.2地铁建设问题209
8.3安排教学计划214
8.4校园导航218
附录A课程设计实例软件包224
参考文献227
CP Lab简介1
实验1实验环境的使用3
实验2NFA到DFA26
实验3使用Lex自动生成扫描程序48
实验4消除左递归(无替换)62
实验5消除左递归(有替换)74
实验6提取左因子89
实验7First集合104
实验8Follow集合117
实验9Yacc分析程序生成器132
实验10符号表的构建和使用137
实验11三地址码转换为P\|代码146
实验12GCC编译器案例综合研究156
附录ATINY编译器和TM机167
参考文献225第1章数据结构课程设计概述1
1.1数据结构简介1
1.2课程设计目标和特点2
1.3编写说明3
1.4课程设计实例的标准格式4
第2章线性表的应用6
2.1存储结构与基本运算的算法6
2.2集合的交、并运算15
2.3学生成绩管理18
2.4多项式求导25
2.5约瑟夫环问题30
2.6数据库管理系统34
第3章栈的应用58
3.1存储结构与基本运算的算法58
3.2括号匹配63
3.3汉诺塔问题66
3.4算术表达式求值69
3.5马踏棋盘76
第4章队列的应用82
4.1存储结构与基本运算的算法82
4.2看病排队候诊问题88
4.3数制的转换91
4.4停车场管理99
4.5基数排序107
第5章串的应用114
5.1存储结构与基本运算的算法114
5.2KMP算法118
5.3最长公共子串121
5.4大整数计算器123
编译原理实验教程目录第6章多维数组和广义表的应用130
6.1存储结构与基本运算的算法130
6.2魔方阵139
6.3稀疏矩阵的加法运算143
6.4本科生导师制问题151
第7章树状结构的应用169
7.1存储结构与基本运算的算法169
7.2线索二叉树的创建与遍历172
7.3由遍历确定二叉树175
7.4电文的编码和译码177
7.5家族关系查询系统183
第8章图状结构的应用201
8.1存储结构与基本运算的算法201
8.2地铁建设问题209
8.3安排教学计划214
8.4校园导航218
附录A课程设计实例软件包224
参考文献227