当前位置:首页 > 工业技术
编译原理  包含代数方法的新编译方法
编译原理  包含代数方法的新编译方法

编译原理 包含代数方法的新编译方法PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:苏运霖,颜松远著
  • 出 版 社:北京:高等教育出版社
  • 出版年份:2011
  • ISBN:9787040330472
  • 页数:373 页
图书介绍:本书通过把编程语言的编译同人类对自然语言的理解过程进行类比来阐述编译程序的思想,采用标记法来创建源语言、中间语言和目标语言符号,生动地描述了多层次编译程序的编译过程;详细介绍了LL(1)和LR(1)的分析方法,不仅可以帮助读者了解如何做,还使他们知道为什么这样做;介绍了编译程序的设计方法,并重点介绍代数形式化方法。本书适合计算机和电子专业本科生和研究生作为教材,也可供相关学科研究人员参考。苏运霖是中国暨南大学和印度尼西亚玛中大学教授,印度尼西亚玛中大学信息技术研究中心主任,美国纽约科学院院士,计算机科学专家。颜松远 美国麻省理工学院和英国贝德福特大学教授,国际计算数论和密码学界著名专家。
《编译原理 包含代数方法的新编译方法》目录

第1章 概论 1

1.1 语言和人类 1

1.2 语言和计算机 2

1.3 程序设计语言的编译 8

1.4 编译程序的扫描 12

1.5 一个语句的编译例子 13

1.6 本书的组织 15

思考题 16

参考文献 17

第2章 文法和语言 18

2.1 本章动机 18

2.2 预备知识 18

2.3 文法 20

2.4 语言 24

2.5 由文法生成的语言 26

2.6 图灵机 29

2.7 关于文法和语言的问题 41

思考题 42

参考文献 42

第3章 有限状态自动机和正则语言 44

3.1 本章动机 44

3.2 语言、文法和自动机 44

3.3 确定有限自动机 47

3.4 非确定有限自动机(NFA) 51

3.5 正则表达式 53

3.6 正则文法 55

3.7 克林和摩尔定理 57

3.8 抽吸引理及正则语言的封闭性 57

3.9 有限自动机的应用 58

3.10 有限自动机的变形 60

3.10.1 随机自动机 61

3.10.2 模糊自动机 62

3.10.3 蜂窝式自动机 64

思考题 65

参考文献 66

第4章 词法分析 67

4.1 本章动机 67

4.2 词法分析的作用 68

4.2.1 标识符分析 71

4.2.2 常数处理 72

4.2.3 词法分析程序结构 73

4.3 词法分析程序的输出 80

4.4 出错处理 81

思考题 82

参考文献 82

第5章 下推自动机和上下文无关语言 84

5.1 本章动机 84

5.2 下推自动机 85

5.3 上下文无关语言 86

5.4 上下文无关语言的抽吸定理 88

5.5 下推自动机和上下文无关语言 88

5.6 上下文无关语言的应用 89

5.7 图灵机 89

5.8 接受语言的图灵机 90

5.9 各种图灵机的等价性 97

5.10 递归可枚举语言(LRE) 98

5.11 上下文有关语言LCS 98

5.12 机器的层次、文法和语言 100

5.12.1 机器的层次 100

5.12.2 文法和语言的层次 101

5.13 机器、语言和文法的关系 102

思考题 104

参考文献 104

第6章 上下文无关文法 105

6.1 本章动机 105

6.2 上下文无关文法的定义 105

6.3 上下文无关文法的特性 113

思考题 130

参考文献 131

第7章 语法分析 132

7.1 本章动机 132

7.2 语法分析在编译程序中的作用 132

7.3 语法分析方法 135

7.3.1 自顶向下的分析方法 135

7.3.2 由底向上的分析方法 151

思考题 171

参考文献 172

第8章 属性文法和对它们的分析 173

8.1 本章动机 173

8.2 属性文法 174

8.3 依赖图和属性的计算 177

8.3.1 动态属性计算 181

8.3.2 循环处理 184

8.4 L属性文法和S属性文法 185

思考题 188

参考文献 189

第9章 编译程序设计的代数方法 190

9.1 本章动机 190

9.2 源语言 191

9.3 代数基础和推理语言 197

9.3.1 代数基础 197

9.3.2 推理语言 204

9.4 一个简单的编译程序 228

9.4.1 规范形式 228

9.4.2 规范形式的归结 229

9.4.3 目标机器 232

思考题 233

参考文献 234

第10章 中间代码生成 235

10.1 本章动机 235

10.2 中间代码语言 236

10.2.1 图形表示 236

10.2.2 后缀表示 239

思考题 257

参考文献 258

第11章 调试和优化 259

11.1 本章动机 259

11.2 错误的检测和恢复 259

11.3 语法错误的调试 261

11.3.1 LL(1)的错误检查 262

11.3.2 LR(1)的错误处理 263

11.4 语义错误检查 264

11.5 程序的优化 264

11.6 优化的主要方法 269

思考题 273

参考文献 273

第12章 存储管理 275

12.1 本章动机 275

12.2 全局分配策略 275

12.3 存储分配算法 277

12.3.1 栈分配算法 277

12.3.2 堆分配的算法 280

12.4 垃圾空间的回收 281

12.4.1 基本的垃圾收集算法 281

12.4.2 编译程序对于垃圾收集程序的支持 283

12.4.3 访问计数 283

12.4.4 标识和扫描 284

12.4.5 双空间复写 285

12.4.6 压缩 286

12.5 参数传送 287

12.5.1 赋值调用 287

12.5.2 访问调用 287

12.5.3 复写-恢复调用 288

12.5.4 换名调用 288

思考题 288

参考文献 291

第13章 目标代码的生成 292

13.1 本章动机 292

13.2 目标代码的设计 293

13.2.1 代码生成程序的输入 293

13.2.2 目标程序 293

13.2.3 存储管理 294

13.2.4 指令的选择 294

13.2.5 寄存器的分配 295

13.2.6 计算顺序的选择 295

13.2.7 代码生成方法 296

13.3 目标机器MMIX 296

13.4 MMIX的汇编语言 318

13.5 MMIX目标代码的生成 323

13.5.1 逆波兰形式下表达式的翻译 324

13.5.2 三元组的翻译 324

13.5.3 表达式四元组的翻译 325

13.5.4 表达式的翻译 326

13.5.5 表达式的语法树形式的翻译 327

13.5.6 其他语句的翻译 328

思考题 329

参考文献 331

第14章 面向对象语言的编译 332

14.1 本章动机 332

14.2 对象及其编译 332

14.3 对象的特征 335

思考题 343

参考文献 344

第15章 并行语言的编译 345

15.1 本章动机 345

15.2 并行计算机和并行计算的兴起 345

15.3 并行程序设计 348

15.3.1 共享变量和管理 348

15.3.2 消息传输模型 350

15.4 面向对象的语言 351

15.5 Linda元组空间 352

15.6 数据并行语言 353

15.7 隐式并行程序的代码生成 354

15.7.1 区域的类型 356

15.7.2 区域的形成 357

15.7.3 区域的几个调度算法 360

思考题 361

参考文献 361

第16章 网格计算的编译 362

16.1 本章动机 362

16.2 网格计算的兴起 362

16.3 网格计算的模型 364

16.3.1 分组路由 365

16.3.2 在线性阵列中的路由 367

16.4 网格计算的编译 369

思考题 371

参考文献 371

相关图书
作者其它书籍
返回顶部