书籍详情
《编译方法》[54M]百度网盘|亲测有效|pdf下载
  • 编译方法

  • 出版社:机械工业出版社自营官方旗舰店
  • 出版时间:2010-09
  • 热度:10636
  • 上架时间:2024-06-30 09:08:33
  • 价格:0.0
书籍下载
书籍预览
免责声明

本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正

内容介绍

内容简介

《编译方法(第2版)》介绍程序设计语言的编译程序的设计技术,主要由编译程序的基本结构、形式语言和自动机理论的基础知识、编译过程各阶段的工作原理与实现方法三大部分组成。
《编译方法(第2版)》内容通俗易懂,叙述简明,强调抽象思维,突出理论与实践的结合。为便于学生及时复习与巩固所学知识,在各章的最后给出了典型例题、内容小结和练习题。书中还设计了两套实验,一套是局部性的针对某一算法的编程实验,每个程序相对独立;另一套是综合性实验,为一个小语言构造完整的编译程序。两套实验可根据学生情况进行适当的选择。
《编译方法(第2版)》适合作为高校计算机专业的教材,也可供从事计算机应用和软件开发的工程技术人员自学。

目录

出版说明
前言
第1章 概述
1.1 程序设计语言与程序
1.1.1 程序设计语言的定义
1.1.2 程序设计语言的分类
1.1.3 程序及其结构
1.1.4 高级语言程序的处理过程
1.2 编译程序
1.2.1 编译与解释
1.2.2 编译过程和编译程序的结构
1.2.3 编译程序的生成
1.2.4 编译程序与程序设计环境
1.3 编译技术的应用
1.4 本章 小结
1.5 习题

第2章 形式语言和文法
2.1 形式语言
2.1.1 语言的概念
2.1.2 语言的定义方式
2.2 文法
2.2.1 文法的形式定义
2.2.2 文法的表示方法
2.2.3 相关概念
2.3 文法的分类和化简
2.3.1 文法的分类
2.3.2 两个定理
2.3.3 文法的化简
2.4 文法的二义性
2.5 典型例题
2.6 本章 小结
2.7 习题

第3章 有穷自动机
3.1 正规式与正规集
3.1.1 概念
3.1.2 正规式和正规文法的等价性
3.2 有穷自动机
3.2.1 有穷自动机
3.2.2 确定的有穷自动机
3.2.3 不确定的有穷自动机
3.2.4 NFA与DFA的等价性
3.2.5 DFA的化简
3.3 正规式和FA的等价性
3.3.1 构造与FA等价的正规式
3.3.2 构造与正规式等价的FA
3.4 正规文法和FA的等价性
3.4.1 构造与正规文法等价的FA
3.4.2 构造与FA等价的正规文法
3.5 典型例题
3.6 本章 小结
3.7 习题
3.8 实验

第4章 词法分析
4.1 词法分析的任务
4.2 程序设计语言的单词
4.2.1 单词的种类
4.2.2 单词的机内表示方法
4.3 单词的形式描述
4.3.1 正规式描述
4.3.2 正规文法描述
4.4 词法分析程序的构造
4.4.1 根据DFA构造词法分析程序
4.4.2 词法分析程序构造的相关问题
4.5 词法分析程序的自动生成工具LEx简介
4.5.1 LEX语言源程序
4.5.2 LEX编译程序工作原理
4.6 典型例题
4.7 本章 小结
4.8 习题
4.9 实验

第5章 自顶向下语法分析
5.1 程序设计语言的语法描述
5.2 自顶向下的语法分析概述
5.2.1 自顶向下的语法分析方法
5.2.2 确定的自顶向下的语法分析方法
5.2.3 不确定的自顶向下的语法分析方法
5.3 LL(1)文法
5.3.1 “回溯”的原因
5.3.2 “回溯”的消除
5.3.3 LL(1)文法的定义
5.4 预测分析法
5.4.1 预测分析表
5.4.2 分析栈
5.4.3 预测分析程序
5.5 递归下降分析法
5.6 典型例题
5.7 本章 小结
5.8 习题
5.9 实验

第6章 算符优先分析
6.1 自底向上语法分析概述
6.1.1 自底向上语法分析过程
6.1.2 自底向上语法分析的实现
6.1.3 短语和句柄
6.2 简单优先分析法
6.2.1 优先关系
6.2.2 简单优先文法
6.2.3 简单优先分析法
6.3 算符优先分析法
6.3.1 算符优先文法
6.3.2 算符优先分析算法
6.4 优先函数
6.4.1 优先函数的定义
6.4.2 优先函数的构造
6.5 典型例题
6.6 本章 小结
6.7 习题
6.8 实验

第7章 LR分析法
7.1 LR分析概述
7.1.1 分析思想
7.1.2 分析器组成
7.2 LR(0)分析表
7.2.1 LR(O)项目集规范族
7.2.2 LR(O)文法
7.2.3 LR(o)分析器的工作过程
7.3 SLR(1)分析表
7.3.1 SLR(1)文法
7.3.2 SLR(1)分析表的构造
7.4 LR(1)分析表
7.4.1 LR(1)文法
7.4.2 LR(1)项目集规范族的构造
7.4.3 LR(1)分析表的构造
7.5 LALR(1)分析表
7.5.1 LALR(1)文法
7.5.2 LALR(1)分析表的构造
7.6 语法分析程序的自动生成工具YACC简介
7.6.1 YACC对语言的要求
7.6.2 YACC的输入/输出
7.6.3 YACC源程序
7.7 典型例题
7.8 本章 小结
7.9 习题
7.10 实验

第8章 语义分析和中间代码生成
第9章 符号表
第10章 运行时存储空间的组织
第11章 代码优化
第12章 目标代码生成
附录
参考文献

精彩书摘

众所周知,计算机硬件并不懂得BASIC、Pascal、C、C++、Ada、Java等高级程序设计语言,它所能执行的仅仅是O/I代码的机器语言,但高级语言之所以能以其独特的优势而被广泛使用,其原因就在于翻译程序的存在。翻译程序能将高级语言程序翻译成等价的0/1代码指令,而编译程序就是这种翻译程序之一,它已成为现代计算机系统的基本组成部分。
编译原理与技术是计算机工作者所必备的专业基础知识,其内容涉及程序设计语言、形式语言与自动机理论、算法分析与设计、软件工程等诸多方面。通过对这些知识的学习,不仅能掌握基本理论与方法,还将得到分析问题和解决问题的方法与能力的训练,并极大地提高逻辑思维和抽象思维能力。
本章将在回顾程序设计语言相关内容的基础上说明编译程序与程序设计语言之间的关系,并简单叙述编译的过程及编译程序的结构。
……

前言/序言

  编译技术是计算机语言发展的支柱,也是计算机科学中发展最迅速、最成熟的分支之一。编译原理课程是继C语言程序设计、离散数学、数据结构等课程后,对工科计算机专业开设的一门重要课程,在教学中占有十分重要的地位。编译的一般原理和基本技术不仅适用于构造程序设计语言的编译程序,也适用于各种系统软件、应用软件的设计和实现。其中的形式语言理论和自动机理论,通过对问题的抽象、描述和识别,从本质上对问题进行认识和分析,并加以解决,这种思维方法对学生抽象思维能力的培养有着极其积极的意义。编译原理课程与数据结构、离散数学、程序设计语言等课程的联系也甚为密切。可以说,编译是这些课程的综合应用,对这些课程内容的理解和巩固起到了良好的作用。
  作者编写本教材的主导思想是:以培养抽象思维能力为目的,在介绍编译相关的理论、工具和方法的同时,重点强调问题的抽象描述和问题分析的思路,以求提高学生分析问题解决问题的能力,同时通过实际编程,提高学生理论应用于实践的能力,提高程序设计水平。
  本教材内容共分3部分:第1部分即第1章,简单介绍编译的基本过程和编译程序的基本结构;第2部分包括第2章的形式语言和文法、第3章的有穷自动机,介绍形式语言理论中有关语言和文法的基本知识、自动机理论中的有穷自动机的相关内容,为后续编译方法的介绍做基础理论准备;第3部分从第4章开始,按编译的过程逐一介绍编译的各个阶段的任务、原理和实现的基本技术,包括第4章的词法分析方法、第5~7章的自顶向下和自底向上两大类语法分析方法、第8章的自底向上语法制导翻译技术、第11章的中间代码优化中的基本块优化技术和循环优化技术,以及第12章的基本块目标代码生成方法,另外,第9章介绍了编译程序的重要组成部分——符号表,以及有关符号表的组织与操作,第10章介绍了与编译相关的程序运行时的存储空间组织问题。