编译方法学习指导与实践

编译方法学习指导与实践
作 者: 贺汛
出版社: 机械工业出版社
丛编项: 高等院校计算机专业教育改革推荐教材
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: 编译原理
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《编译方法学习指导与实践》作者简介

内容简介

本书是编译原理课程的辅导教材。书中对该课程的各部分内容进行了整理、归纳和总结,并指出其重点。同时,选取了一些具有一定难度和代表性的例题,进行了深入细致的分析和解答,为读者提供了解题思路和解题方法。书中还精选了一些与历届研究生入学试题相类似、难度相当的题目作为习题,并给出了参考答案。另外,本书还设计了一个简单的程序设计语言的编译程序,并将其作为实验内容,通过该实验可使读者加深对编译理论的理解,提高程序设计水平。本书可作为编译原理课程的考研复习用书、教学辅导用书和实验指导书,也可作为计算机软件人员的参考资料??前言编译技术是计算机语言发展的支柱,也是计算机科学中发展最迅速、最成熟的一个分支。编译原理作为计算机专业的一门核心课程,在教学中占有十分重要的地位。由于其内容具有较强的理论性和实践性,学生在学习过程中普遍感到内容抽象、难于理解、题目难做。为此特编写本书,希望本书能够成为学生学习编译原理的好帮手,能使读者更全面、更透彻地理解和掌握编译的原理和方法,不再感到这门课程难学。本书作为编译原理课程的学习辅导用书,内容包括了编译各阶段的基本理论与方法,以及在编译过程中涉及到的一些问题。全书共分9章:第1章简单介绍了编译程序的功能、编译阶段的划分及编译程序的结构;第2章对语言与它的描述工具——文法进行了叙述;第3章为词法分析,涉及的主要技术是正规式与有限自动机:第4章为语法分析,主要包括自顶向下分析法中的预测分析法(LL(1)分析法)和递归下降分析法、自底向上分析法中的算符优先分析法和LR分析法:第5章为语法制导翻译与中间代码生成的相关内容;第6章介绍了编译过程中大量使用的符号表,包括它的作用及组织方法和管理方式;第7章从编译的角度介绍了程序运行时如何分配、管理好存储空间:第8章为代码优化,主要介绍了局部优化、循环优化的方法;第9章为目标代码生成,主要介绍了基本块的优化算法。书中每章的结构都相同,包括四部分:(1)主要内容。介绍这一章应掌握的概念、技术和相关算法,并点出这一章的重点;(2)例题解析。精选了一些典型题目,给出了解题思路、解题方法和要注意的问题,题目不多,但具有代表性:(3)习题。要学好编译的方法,就必须亲自动手做题目,这里给出了一些与例题相对应的作业:(4)习题参考答案。对习题中的每一道题目都给出了参考答案,大部分题目还给出了解题过程。本书还给出了一个简单的程序设计语言(S语言)的编译程序,将其作为实验...

图书目录

第1章 编译概述

1. 1 主要内容

1. 1. 1 计算机的语言层次

1. 1. 2 翻译程序

1. 1. 3 编译的阶段

1. 1. 4 编译的遍 趟

1. 1. 5 本章重点

1. 2 例题解析

1. 3 习题

1. 4 习题参考答案

第2章 文法和语言

2. 1 主要内容

2. 1. 1 基础概念

2. 1. 2 文法的形式定义及相关概念

2. 1. 3 文法. 语言的分类

2. 1. 4 本章重点

2. 2 例题解析

2. 3 习题

2. 4 习题参考答案

第3章 词法分析

3. 1 主要内容

3. 1. 1 词法分析的任务

3. 1. 2 单词的种类与机内表示方法

3. 1. 3 单词的描述

3. 1. 4 正规文法. 正规式. NFA. DFA之间的等价变换

3. 1. 5 词法分析器的设计

3. 1. 6 词法分析器的设计技术

3. 1. 7 本章重点

3. 2 例题解析

3. 3 习题

3. 4 习题参考答案

第4章 语法分析

4. 1 主要内容

4. 1. 1 语法分析的任务

4. 1. 2 自顶向下分析法

4. 1. 3 自底向上分析法

4. 1. 4 本章重点

4. 2 例题解析

4. 3 习题

4. 4 习题参考答案

第5章 语法制导翻译技术

5. 1 主要内容

5. 1. 1 语法制导翻译的任务

5. 1. 2 语法制导翻译的基本思想

5. 1. 3 中间代码的形式

5. 1. 4 属性文法

5. 1. 5 各种典型语法成分的翻译要点

5. 1. 6 本章重点

5. 2 例题解析

5. 3 习题

5. 4 习题参考答案

第6章 符号表

6. 1 主要内容

6. 1. 1 符号表的作用

6. 1. 2 符号表的建立

6. 1. 3 符号表的内容

6. 1. 4 符号表的组织

6. 1. 5 符号表的管理

6. 1. 6 本章重点

6. 2 例题解析

6. 3 习题

6. 4 习题参考答案

第7章 运行时存储空间组织

7. 1 主要内容

7. 1. 1 运行时存储器的划分

7. 1. 2 数据空间的分配策略

7. 1. 3 简单程序设计语言的栈式存储分配

7. 1. 4 嵌套过程语言的栈式实现

7. 1. 5 过程调用. 进入. 返回

7. 1. 6 本章重点

7. 2 例题解析

7. 3 习题

7. 4 习题参考答案

第8章 代码优化

8. 1 主要内容

8. 1. 1 局部优化

8. 1. 2 循环优化

8. 1. 3 本章重点

8. 2 例题解析

8. 3 习题

8. 4 习题参考答案

第9章 目标代码生成

9. 1 主要内容

9. 1. 1 目标代码

9. 1. 2 目标机器模型

9. 1. 3 一个简单的代码生成器

9. 1. 4 本章重点

9. 2 例题解析

9. 3 习题

9. 4 习题参考答案

附录

附录A S语言说明

A. 1 字符集的定义

A. 2 单词集的定义

A. 3 数据类型定义

A. 4 表达式定义

A. 5 语句定义

A. 6 程序定义

A. 7 源程序书写格式的规定

附录B S语言词法分析程序

B. 1 任务

B. 2 要求

B. 3 数据结构

B. 4 程序参考结构及模块说明

附录C S语言语法/语义分析程序

C. 1 任务

C. 2 要求

C. 3 数据结构

C. 4 程序参考结构及模块说明

附录D S语言目标代码生成程序

D. 1 任务

D. 2 要求

D. 3 数据结构

D. 4 程序参考结构

D. 5 寄存器分配策略

D. 6 代码生成器的模块结构及说明

附录E S语言编译程序清单

参考文献