注册 | 登录读书好,好读书,读好书!
读书网-DuShu.com
当前位置: 首页出版图书科学技术计算机/网络软件与程序设计其他编程语言/工具编译原理:编译程序构造与实践

编译原理:编译程序构造与实践

编译原理:编译程序构造与实践

定 价:¥32.00

作 者: 张幸儿
出版社: 机械工业出版社
丛编项: 重点大学计算机教材
标 签: 解释程序

购买这本书可以去


ISBN: 9787111222514 出版时间: 2007-12-01 包装: 平装
开本: 页数: 297 字数:  

内容简介

  算机编译原理是计算机专业的重要课程之一,所讨论的编译程序实质上是符号处理的工具,其基本原理、技术和方法在很多领域有着广泛的应用。本书将系统介绍高级程序设计语言编译程序的构造原理,重点讨论了词法分析、语法分析、语义分析以及目标代码的生成与优化。读者可以从本书中得到软件开发的方法和经验的启发。本书特点●内容上结合作者多年科研工作实践与教学经验, 使读者易于理解与接受。●以C语言为背景语言来讨论编译原理,使读者在掌握编译程序构造原理的同时,对C程序设计语言相关概念也有更深入的理解与认识。●强调实践性,对编译程序构造的各个主要方面都给出实现之考虑,并给出具体而实际可行的实现方法和技巧。

作者简介

暂缺《编译原理:编译程序构造与实践》作者简介

图书目录

第1章  概述        1
1.1  编译程序的引进        1
1.1.1  高级程序设计语言与程序        1
1.1.2  高级程序设计语言程序的执行        1
1.2  编译程序和程序设计语言的联系        2
1.2.1  程序设计语言的定义        2
1.2.2  编译程序构造        4
1.3  编译程序的分类        6
1.4  实际应用中的编译程序        7
本章小结        8
第2章  编译程序构造基础知识        9
2.1  文法和语言        9
2.1.1  符号串和符号串集合        9
2.1.2  字母表的闭包和正闭包        11
2.1.3  文法的定义        11
2.1.4  语言的定义        20
2.2  文法和语言的分类        22
2.2.1  Chomsky文法类        23
2.2.2  Chomsky文法类与程序设计语言        25
2.2.3  对上下文无关文法的进一步讨论        26
2.3  文法等价和等价变换        26
2.3.1  文法等价的概念        26
2.3.2  压缩文法等价变换         27
2.3.3  消去左递归的文法等价变换        31
2.4  句型分析         35
2.4.1  语法分析工具—语法分析树        35
2.4.2  句型分析与分析技术        39
本章小结        42
习题        43
上机实习题        45
第3章  词法分析        46
3.1  概述        46
3.1.1  词法分析和词法分析程序        46
3.1.2  实现方式        47
3.2  有穷状态自动机        47
3.2.1  状态转换图        47
3.2.2  确定有穷状态自动机DFA        51
3.2.3  非确定有穷状态自动机NFA        53
3.2.4  正则表达式        58
3.3  词法分析程序的设计和实现        61
3.3.1  设计要点        61
3.3.2  属性字的设计        61
3.3.3  标识符的处理        65
3.3.4  词法分析程序的编写        70
3.3.5  词法分析程序的自动生成        74
本章小结        82
习题        83
上机实习题        84
第4章  语法分析—自顶向下分析技术        85
4.1  引言        85
4.1.1  自顶向下分析技术概述        85
4.1.2  带回溯的自顶向下分析技术        86
4.2  无回溯的自顶向下分析技术        88
4.2.1  先决条件        88
4.2.2  递归下降分析技术        88
4.2.3  预测分析技术        94
本章小结        104
习题        104
上机实习题        105
第5章  语法分析—自底向上分析技术        106
5.1  引言        106
5.1.1  自底向上分析技术概况        106
5.1.2  基本实现方法        107
5.2  算符优先分析技术        108
5.2.1  算符优先分析技术的引进        108
5.2.2  算符文法        108
5.2.3  算符优先关系与算符优先文法        109
5.2.4  应用算符优先分析技术进行句型
分析        113
5.2.5  优先函数        117
5.3  LR(k)分析技术        124
5.3.1  LR(k)文法和LR(k)分析技术        124
5.3.2  SLR(1)分析表构造方法        134
5.3.3  LALR(1)分析表构造方法        143
5.3.4  LR(1)识别程序实现之考虑        147
5.4  识别程序自动构造        148
5.4.1  自动构造的基本思想        148
5.4.2  非LR(1)文法分析表的构造        149
5.4.3  识别程序自动生成系统YACC
简介        151
本章小结        153
习题        153
上机实习题        155
第6章  语义分析与目标代码生成        156
6.1  概况        156
6.1.1  语义分析的概念        156
6.1.2  属性文法        158
6.1.3  类型表达式与语义分析        170
6.2  说明部分的翻译        177
6.2.1  常量定义的翻译        178
6.2.2  变量说明的翻译        178
6.2.3  函数定义的翻译        180
6.2.4  结构(体)类型的翻译        183
6.3  目标代码的生成        183
6.3.1  概况        183
6.3.2  虚拟机        186
6.3.3  控制语句的翻译        188
6.4  翻译方案实现之考虑        211
6.4.1  实现思路        211
6.4.2  分析        211
6.4.3  程序控制流程示意图和语义子
程序        217
6.5  源程序的内部中间表示        220
6.5.1  抽象语法树        220
6.5.2  逆波兰表示        221
6.5.3  四元式序列        225
6.5.4  三元式序列        232
本章小结        233
习题        233
上机实习题        235
第7章  运行时刻支持环境        236
7.1  引言        236
7.2  运行时刻存储分配策略        236
7.2.1  情况分析        236
7.2.2  静态存储分配        239
7.2.3  栈式存储分配        239
7.2.4  堆式存储分配        240
7.3  符号表        241
7.3.1  符号表的作用        241
7.3.2  符号表的组织        241
7.3.3  符号表的数据结构        245
7.4  运行时刻支持系统        247
本章小结        247
习题        248
第8章  代码优化        250
8.1  概况        250
8.1.1  代码优化的概念        250
8.1.2  代码优化的分类        251
8.1.3  代码优化程序的输入与输出        252
8.1.4  代码优化程序的结构        253
8.2  基本块的优化        253
8.2.1  基本块优化的种类        253
8.2.2  基本块优化的实现        256
8.3  与循环有关的优化        262
8.3.1  循环优化的种类        263
8.3.2  循环优化的实现        268
8.4  窥孔优化        284
8.4.1  冗余指令删除        285
8.4.2  控制流优化        286
8.4.3  代数化简        286
8.4.4  特殊指令的使用        286
本章小结        286
习题        287
上机实习题        288
第9章  程序错误的检查和校正        290
9.1  概述        290
9.1.1  必要性        290
9.1.2  错误的种类        290
9.1.3  错误复原和错误校正        291
9.2  词法错误的复原和校正        292
9.2.1  词法错误的种类        292
9.2.2  词法错误的校正        293
9.3  语法错误的复原和校正        293
9.3.1  语法错误的复原        293
9.3.2  语法错误的校正        294
9.4  语义错误        295
9.4.1  语义错误的种类        295
9.4.2  语义错误检查措施        296
本章小结        297
参考文献        298

本目录推荐