计算机程序的构造和解释(原书第2版)

计算机程序的构造和解释(原书第2版):典藏版

查阅电子书
手机扫码
  • 微信扫一扫

    关注微信公众号

因版权原因待上架

内容简介

本书曾是美国麻省理工学院计算机科学专业的入门课程教材之一, 从理论上讲解计算机程序的创建、 执行和研究。 主要内容包括:构造过程抽象,构造数据抽象,模块化、 对象和状态,元语言抽象,寄存器机器里的计算等。

作者简介

哈罗德·阿贝尔森(Harold Abelson)是MIT 1992年度MacVicar Faculty Fellow。在MIT电子工程和计算机科学系工作,得到过重要的计算机科学教育奖——IEEE计算机学会的Booth奖。

杰拉尔德·杰伊·萨斯曼(Gerald Jay Sussman)是Matsushita电子工程教授。在MIT电子工程和计算机科学系工作,得到过重要的计算机科学教育奖——ACM的Karlstrom奖。

朱莉·萨斯曼(Julie Sussman)是作家和编辑,同时使用自然语言和计算机语言写作。

章节目录

出版者的话

第2版前言

第1版前言

致谢

第1章 构造过程抽象1

1.1 程序设计的基本元素3

1.1.1 表达式3

1.1.2 命名和环境5

1.1.3 组合式的求值6

1.1.4 复合过程7

1.1.5 过程应用的代换模型9

1.1.6 条件表达式和谓词11

1.1.7 实例:采用牛顿法求平方根14

1.1.8 过程作为黑箱抽象17

1.2 过程及其产生的计算20

1.2.1 线性的递归和迭代21

1.2.2 树形递归24

1.2.3 增长的阶28

1.2.4 求幂29

1.2.5 最大公约数32

1.2.6 实例:素数检测33

1.3 用高阶函数做抽象37

1.3.1 过程作为参数37

1.3.2 用lambda构造过程41

1.3.3 过程作为一般性的方法44

1.3.4 过程作为返回值48

第2章 构造数据抽象53

2.1 数据抽象导引55

2.1.1 实例:有理数的算术运算55

2.1.2 抽象屏障58

2.1.3 数据意味着什么60

2.1.4 扩展练习:区间算术62

2.2 层次性数据和闭包性质65

2.2.1 序列的表示66

2.2.2 层次性结构72

2.2.3 序列作为一种约定的界面76

2.2.4 实例:一个图形语言86

2.3 符号数据96

2.3.1 引号96

2.3.2 实例:符号求导99

2.3.3 实例:集合的表示103

2.3.4 实例:Huffman编码树109

2.4 抽象数据的多重表示115

2.4.1 复数的表示116

2.4.2 带标志数据119

2.4.3 数据导向的程序设计和可加性122

2.5 带有通用型操作的系统128

2.5.1 通用型算术运算129

2.5.2 不同类型数据的组合132

2.5.3 实例:符号代数138

第3章 模块化、对象和状态149

3.1 赋值和局部状态149

3.1.1 局部状态变量150

3.1.2 引进赋值带来的利益154

3.1.3 引进赋值的代价157

3.2 求值的环境模型162

3.2.1 求值规则163

3.2.2 简单过程的应用165

3.2.3 将框架看作局部状态的展台167

3.2.4 内部定义171

3.3 用变动数据做模拟173

3.3.1 变动的表结构173

3.3.2 队列的表示180

3.3.3 表格的表示183

3.3.4 数字电路的模拟器188

3.3.5 约束的传播198

3.4 并发:时间是一个本质问题206

3.4.1 并发系统中时间的性质207

3.4.2 控制并发的机制210

3.5 流220

3.5.1 流作为延时的表220

3.5.2 无穷流226

3.5.3 流计算模式的使用232

3.5.4 流和延时求值241

3.5.5 函数式程序的模块化和对象的

模块化245

第4章 元语言抽象249

4.1 元循环求值器251

4.1.1 求值器的内核252

4.1.2 表达式的表示255

4.1.3 求值器数据结构260

4.1.4 作为程序运行求值器264

4.1.5 将数据作为程序266

4.1.6 内部定义269

4.1.7 将语法分析与执行分离273

4.2 Scheme的变形—惰性求值276

4.2.1 正则序和应用序277

4.2.2 一个采用惰性求值的解释器278

4.2.3 将流作为惰性的表284

4.3 Scheme的变形—非确定性计算286

4.3.1 amb和搜索287

4.3.2 非确定性程序的实例290

4.3.3 实现amb求值器296

4.4 逻辑程序设计304

4.4.1 演绎信息检索306

4.4.2 查询系统如何工作315

4.4.3 逻辑程序设计是数理逻辑吗321

4.4.4 查询系统的实现324

第5章 寄存器机器里的计算343

5.1 寄存器机器的设计344

5.1.1 一种描述寄存器机器的语言346

5.1.2 机器设计的抽象348

5.1.3 子程序351

5.1.4 采用堆栈实现递归354

5.1.5 指令总结358

5.2 一个寄存器机器模拟器359

5.2.1 机器模型360

5.2.2 汇编程序364

5.2.3 为指令生成执行过程366

5.2.4 监视机器执行372

5.3 存储分配和废料收集374

5.3.1 将存储看作向量374

5.3.2 维持一种无穷存储的假象378

5.4 显式控制的求值器383

5.4.1 显式控制求值器的内核384

5.4.2 序列的求值和尾递归388

5.4.3 条件、赋值和定义391

5.4.4 求值器的运行393

5.5 编译397

5.5.1 编译器的结构399

5.5.2 表达式的编译402

5.5.3 组合式的编译407

5.5.4 指令序列的组合412

5.5.5 编译代码的实例415

5.5.6 词法地址422

5.5.7 编译代码与求值器的互连425

参考文献431

练习表437

索引439

计算机程序的构造和解释(原书第2版)是2019年由机械工业出版社出版,作者HaroldAbelson。

得书感谢您对《计算机程序的构造和解释(原书第2版)》关注和支持,如本书内容有不良信息或侵权等情形的,请联系本网站。

购买这本书

你可能喜欢
人民邮电出版社税务会计 电子书
1. 作者知名度高——本书作者是丽水职业技术学院院长,财会专业知名专家,国家精品课程负责人; 2. 教材内容新——本书根据2019年新的税法和会计准则为依据,对税务会计相关知识内容进行了更新; 3. 编写体例巧——根据税务会计实际工作过程设计学习内容,按照理实一体的高职教育要求,每个学习任务后面附有练习,每个项目结束附有综合实训,目的在于让学生边学边练,理实一体,在实训过程中掌握税务会计工作的基本操作流程和操作要领,能计算企业常见税费的应缴金额,会办理各税款的纳税申报和相关的涉税会计处理。 4. 教材可读性强——教材在编写时对内容体系、难易程度、案例等方面进行了特殊处理,具有明显的针对性和易读性; 5. 配套丰富资源,在同类教材中作者知名度高,在同一作者同名书中配套资源好。
人民邮电出版社公司理财 电子书
本书用经典的财务理论作为基础,紧密结合公司的理财实践,从培养读者的专业理念和专业技能出发,实例生动。
国家卫生和计划生育委员会全科医生培训规划教材 全科医学案例解析 电子书
根据全科社区医生遇到的常见案例,从全科医疗、公共卫生和社区护理三方面介绍相关内容。
高等数学习题全解上册 电子书
《高等数学(上下)》习题全解,培养读者逻辑思维与创新能力。
室内装饰装修施工图解教程 电子书
该作者出版的几本书均十分畅销。 本书在编写过程中,本着实用性和易懂性原则,选用典型的装修实例,采用全过程图解方式,针对复杂难懂的装修施工给予清晰易懂的全过程图解,诸如施工的流程、步骤、要点和验收等,均有详细的实拍照片进行图解。不仅如此,针对装修中涉及的其它问题:装修风格、装修方式、装修污染的检测与治理、装修用量计算、装修预算等等,本书也有详细介绍。可以说《室内装饰装修施工全过程图解》一书将专业性较强的装修施工知识融会贯通,令读者轻松了解装修施工的全过程,再由重点举一反三,覆盖装修全局和细节。