感谢csdn的好意,今天收到C币换购的图书

wuyi8808 2007-12-11 08:41:28
感谢csdn的好意,今天收到用9900C币换购的图书:
http://bank.csdn.net/product/389

程序设计语言-实践之路(第二版)(含光盘1张)

第2版的特点

涵盖程序语言设计的最新发展,包括C99、C#2.0和Java 5。在新增的一章和全书通篇中讨论了脚本语言的有关问题,涵盖Perl、Python、Ruby、Tcl、PHP、JavaScript、XSLT和其他语言。

包含了深入探讨并发性的一章,其中讨论了C#和新的、Java并发包(JSR 166)。

许多章节和论题增加了内容,包括迭代器、异常、多态性、模板/泛型、作用域规则和声明顺序、分别编译、废料收集、线程和同步等类型推理和异常处理等。

随书配套光盘上提供了许多进一步学习的材料,包括高级的和可选的内容,成百的工作实例,直接可用的搜索功能,以及对WWW上的手册、教程、编译器和解释器的活链接。


目录

第1部分 基础 1

第1章 引 言 3

1.1 语言设计的艺术 5
1.2 程序设计语言的谱系 8
1.3 为什么研究程序设计语言 11
1.4 编译和解释 13
1.5 程序设计环境 21
1.6 编译概览 22
1.6.1 词法和语法分析 23
1.6.2 语义分析和中间代码生成 25
1.6.3 目标代码生成 28
1.6.4 代码改进 30
1.7 总结和注记 31
1.8 练习 32
1.9 探索 33
1.10 有关参考文献 35

第2章 程序设计语言的语法 37

2.1 描述语法:正则表达式和上下文无关文法 38
2.1.1 单词和正则表达式 39
2.1.2 上下文无关文法 42
2.1.3 推导和语法分析树 43
2.2 扫描 46
2.2.1 生成一个自动机 49
2.2.2 扫描器代码 54
2.2.3 表驱动扫描 58
2.2.4 词法错误 58
2.2.5 有意义的注释 60
2.3 语法分析 61
2.3.1 递归下降 64
2.3.2 表格驱动的自上而下语法分析 70
2.3.3 自下而上的语法分析 80
2.3.4 语法错误 CD 1·93
2.4 理论基础 CD 13·94
2.4.1 有穷自动机 CD 13
2.4.2 下推自动机 CD 16
2.4.3 文法和语言类 CD 17
2.5 总结和注记 95
2.6 练习 96
2.7 探索 101
2.8 有关参考文献 101

第3章 名字、作用域和约束 103

3.1 约束时间的概念 104
3.2 对象生存期和存储管理 106
3.2.1 静态分配 107
3.2.2 基于栈的分配 109
3.2.3 堆分配 111
3.2.4 废料收集 113
3.3 作用域规则 114
3.3.1 静态作用域 115
3.3.2 嵌套作用域 117
3.3.3 声明的顺序 119
3.3.4 模块 124
3.3.5 模块类型和类 128
3.3.6 动态作用域 131
3.4 作用域的实现 CD 23·135
3.4.1 符号表 CD 23
3.4.2 关联表和中心引用表 CD 27
3.5 引用环境的约束 136
3.5.1 子程序闭包 138
3.5.2 一级和二级子程序 140
3.6 作用域里的约束 142
3.6.1 别名 142
3.6.2 重载 143
3.6.3 多态性及相关概念 145
3.7 分别编译 CD 30·149
3.7.1 C的分别编辑 CD 30
3.7.2 包和自动头文件推理 CD 33
3.7.3 模块分层结构 CD 35
3.8 总结和注记 149
3.9 练习 151
3.10 探索 157
3.11 有关参考文献 158

第4章 语义分析 161

4.1 语义分析器所扮演的角色 162
4.2 属性文法 166
4.3 属性求值 168
4.4 动作例程 179
4.5 属性的空间管理 CD 39·181
4.5.1 自下而上求值 CD 39
4.5.2 自上而下求值 CD 44
4.6 语法树的标注 182
4.7 总结和注记 187
4.8 练习 189
4.9 探索 193
4.10 有关参考文献 194

第5章 目标机体系结构 195

5.1 存储器层次结构 196
5.2 数据表示 199
5.2.1 计算机算术 CD 54·199
5.3 指令集体系结构 201
5.3.1 寻址模式 201
5.3.2 条件分支 202
5.4 体系结构和实现 204
5.4.1 微程序设计 205
5.4.2 微处理器 206
5.4.3 RISC 207
5.4.4 两个实例体系结构:x86和MIPS CD 59·208
5.4.5 伪汇编记法形式 209
5.5 为新型处理器做编译 210
5.5.1 维持流水线满 211
5.5.2 寄存器分配 216
5.6 总结和注记 221
5.7 练习 223
5.8 探索 226
5.9 有关参考文献 227

第2部分 语言设计的核心问题 231

第6章 控制流 233

6.1 表达式求值 234
6.1.1 优先级和结合性 236
6.1.2 赋值 238
6.1.3 初始化 246
6.1.4 表达式里的顺序问题 249
6.1.5 短路求值 252
6.2 结构化和非结构化的流程 254
6.2.1 goto的结构化替代品 255
6.2.2 继续 259
6.3 顺序复合 260
6.4 选择 261
6.4.1 短路条件 262
6.4.2 case/switch语句 265
6.5 迭代 270
6.5.1 枚举控制的循环 271
6.5.2 组合循环 277
6.5.3 迭代器 278
6.5.4 Icon的生成器 CD 69·284
6.5.5 逻辑控制的循环 284
6.6 递归 287
6.6.1 迭代和递归 287
6.6.2 应用序和正则序求值 291
6.7 非确定性 CD 72·295
6.8 总结和注记 296
6.9 练习 298
6.10 探索 304
6.11 有关参考文献 305

第7章 数据类型 307

7.1 类型系统 308
7.1.1 类型检查 309
7.1.2 多态性 309
7.1.3 类型的定义 311
7.1.4 类型的分类 312
7.1.5 正交性 319
7.2 类型检查 321
7.2.1 类型等价 321
7.2.2 类型相容 327
7.2.3 类型推理 332
7.2.4 ML的类型系统 CD 81·335
7.3 记录(结构)与变体(联合) 336
7.3.1 语法和操作 337
7.3.2 存储布局和紧缩 338
7.3.3 with语句 CD 90·341
7.3.4 变体记录 341
7.4 数组 349
7.4.1 语法和操作 349
7.4.2 维数、上下界和分配 353
7.4.3 存储布局 358
7.5 字符串 366
7.6 集合 367
7.7 指针和递归类型 369
7.7.1 语法和操作 370
7.7.2 悬空引用 379
7.7.3 废料收集 383
7.8 表 389
7.9 文件和输入/输出 CD 93·392
7.9.1 交互式I/O CD 93
7.9.2 基于文件的I/O CD 94
7.9.3 正文I/O CD 96
7.10 相等检测和赋值 393
7.11 总结和注记 395
7.12 练习 398
7.13 探索 404
7.14 有关参考文献 405

第8章 子程序和控制抽象 407

8.1 重温栈布局 408
8.2 调用序列 410
8.2.1 区头向量 CD 107·413
8.2.2 实例研究:在MIPS上实现C,在x86上实现Pascal CD 111·414
8.2.3 寄存器窗口 CD 119·414
8.2.4 在线展开 415
8.3 参数传递 417
8.3.1 参数模式 418
8.3.2 名字调用 CD 122·426
8.3.3 专用的参数 427
8.3.4 函数返回 432
8.4 泛型过程和模块 434
8.4.1 不同的实现方法 435
8.4.2 泛型参数的约束条件 437
8.4.3 隐式实例化 440
8.4.4 C++、Java和C# 的泛型 CD 125·440
8.5 异常处理 441
8.5.1 异常的定义 443
8.5.2 异常的传播 445
8.5.3 实例:递归下降语法分析中的短语层恢复 448
8.5.4 异常的实现 449
8.6 协作程序 453
8.6.1 栈分配 455
8.6.2 转移 457
8.6.3 迭代器 CD 135·458
8.6.4 离散事件模拟 CD 139·458
8.7 总结和注记 459
8.8 练习 460
8.9 探索 466
8.10 有关参考文献 467

第9章 数据抽象和面向对象 469

9.1 面向对象的程序设计 471
9.2 封装和继承 481
9.2.1 模块 481
9.2.2 类 484
9.2.3 类型扩展 486
9.3 初始化和终结处理 489
9.3.1 构造函数的选择 490
9.3.2 引用和值 491
9.3.3 执行顺序 495
9.3.4 废料收集 496
9.4 动态方法约束 497
9.4.1 虚方法和非虚方法 500
9.4.2 抽象类 501
9.4.3 成员查找 502
9.4.4 多态性 505
9.4.5 闭包 508
9.5 多重继承 CD 146·511
9.5.1 语义歧义性 CD 148
9.5.2 复本式继承 CD 151
9.5.3 共享继承 CD 152
9.5.4 混入式继承 CD 154
9.6 重温面向对象的程序设计 512
9.6.1 Smalltalk的对象模型 CD 158·513
9.7 总结和注记 513
9.8 练习 515
9.9 探索 517
9.10 有关参考文献 518

第3部分 其他程序设计模型 521

第10章 函数式语言 523

10.1 历史渊源 524
10.2 函数式程序设计的概念 526
10.3 Scheme简介 528
10.3.1 约束 530
10.3.2 表和数 531
10.3.3 相等检测和检索 532
10.3.4 控制流和赋值 533
10.3.5 程序作为表 535
10.3.6 一个扩展的实例:DFA模拟 537
10.4 重温求值顺序 539
10.4.1 严格求值和惰性求值 541
10.4.2 I/O:流和单体 542
10.5 高阶函数 545
10.6 理论基础 CD 166·549
10.6.1 Lambda演算 CD 168
10.6.2 控制流 CD 171
10.6.3 结构 CD 173
10.7 函数式程序设计展望 549
10.8 总结和注记 552
10.9 练习 552
10.10 探索 557
10.11 有关参考文献 558

第11章 逻辑式语言 559

11.1 逻辑式程序设计的概念 560
11.2 Prolog 561
11.2.1 归结和合一 563
11.2.2 表 564
11.2.3 算术 565
11.2.4 搜索/执行顺序 566
11.2.5 一个较大的实例:九宫棋 569
11.2.6 命令式控制流 571
11.2.7 数据库操作 574
11.3 理论基础 CD 180·579
11.3.1 子句形式 CD 181
11.3.2 局限性 CD 182
11.3.3 Skolemt CD 183
11.4 逻辑式程序设计的展望 579
11.4.1 没有覆盖的逻辑部分 580
11.4.2 执行顺序 580
11.4.3 否定和"闭世界"假设 581
11.5 总结和注记 583
11.6 练习 584
11.7 探索 586
11.8 有关参考文献 587

第12章 并发 589

12.1 基础和动力 590
12.1.1 简单历史 590
12.1.2 多线程程序的不同情况 593
12.1.3 多处理器体系结构 597
12.2 并发程序设计基础 601
12.2.1 通信和同步 601
12.2.2 语言和库 603
12.2.3 创建线程的语法 604
12.2.4 线程的实现 613
12.3 共享存储器 619
12.3.1 忙等待同步 620
12.3.2 调度器的实现 623
12.3.3 信号量 627
12.3.4 管程 629
12.3.5 条件临界区域 634
12.3.6 隐式同步 638
12.4 消息传递 642
12.4.1 通信对方的命名 642
12.4.2 传送 646
12.4.3 接收 651
12.4.4 远程过程调用 656
12.5 总结和注记 660
12.6 练习 662
12.7 探索 668
12.8 有关参考文献 669

第13章 脚本语言 671

13.1 什么是脚本语言 672
13.1.1 公共特性 674
13.2 问题领域 677
13.2.1 外壳(命令)语言 677
13.2.2 文字处理和报表生成 684
13.2.3 数学和统计 689
13.2.4 "粘结"语言和通用脚本 690
13.2.5 扩充语言 698
13.3 万维网脚本 701
13.3.1 CGI脚本 702
13.3.2 嵌入式服务器端脚本 703
13.3.3 客户端脚本 708
13.3.4 Java小程序 708
13.3.5 XSLT 712
13.4 新特征 722
13.4.1 名字和作用域 723
13.4.2 串和模式匹配 728
13.4.3 数据类型 736
13.4.4 面向对象 741
13.5 总结和注记 748
13.6 练习 750
13.7 探索 755
13.8 有关参考文献 756

第4部分 对实现的近距离考查 759

第14章 构造可运行程序 761

14.1 后端编译器结构 761
14.1.1 一种可行的多阶段组织 762
14.1.2 阶段和遍 766
14.2 中间形式 CD 189·766
14.2.1 Dina CD 189
14.2.2 GNV的RTL CD 192
14.3 代码生成 769
14.3.1 一个属性文法实例 769
14.3.2 寄存器分配 772
14.4 地址空间组织 775
14.5 汇编 776
14.5.1 指令发射 778
14.5.2 为名字指定地址 780
14.6 连接 781
14.6.1 重定位和名字解析 782
14.6.2 类型检查 783
14.7 动态连接 CD 195·784
14.7.1 与定位无关的代码 CD 195
14.7.2 完全动态链接(惰性连接) CD 196
14.8 总结和注记 786
14.9 练习 787
14.10 探索 789
14.11 有关参考文献 790

第15章 代码改进 CD 202·791

15.1 代码优化阶段 CD 204
15.2 窥孔优化 CD 206
15.3 基本块内的冗余删除 CD 209
15.3.1 一直使用的实例 CD 210
15.3.2 值编号 CD 211
15.4 全局冗余删除和数据流分析 CD 217
15.4.1 SSA(静态单赋值形式)和全局值编号 CD 218
15.4.2 全局公共子表达式删除 CD 220
15.5 循环改进 I CD 227
15.5.1 循环不变量 CD 228
15.5.2 归纳变量 CD 229
15.6 指令调度 CD 232
15.7 循环改进 II CD 236
15.7.1 循环展开和软件流水线 CD 237
15.7.2 循环重排 CD 241
15.8 寄存器分配 CD 248
15.9 总结和注记 CD 252
15.10 练习 CD 253
15.11 探索 CD 257
15.12 有关参考文献 CD 258

附录A 本书中提到的程序设计语言 793
附录B 语言设计和语言实现 803
附录C 例目录 807
参考书目 819
索引 837
...全文
334 53 打赏 收藏 转发到动态 举报
写回复
用AI写文章
53 条回复
切换为时间正序
请发表友善的回复…
发表回复
noobw 2012-02-01
  • 打赏
  • 举报
回复
jf~~~~~~~~~~
zzyyc 2008-06-16
  • 打赏
  • 举报
回复
jf
yhy0611 2007-12-15
  • 打赏
  • 举报
回复
羡慕~!
pc_cat 2007-12-14
  • 打赏
  • 举报
回复
为了书,我努力接分!
hy_lihuan 2007-12-14
  • 打赏
  • 举报
回复
好厚重阿,我挑不好书
ustbwuyi 2007-12-14
  • 打赏
  • 举报
回复
发表于:2007-12-12 10:36:5732楼 得分:0
买了一本书还没到,楼主从买到收到用了多少时间?
----------------------------------

“社区银行”-> “购买商品状态查询”:

金额 购买时间 状态
9900 2007-11-22 20:56:00 已发货
11月22日下单,昨天才收到,很慢的。
我在福建,书是从北京寄来的,899页,十分地厚重,邮票贴了不少。


路上走了一个月?果然慢,看来我还要等半个月,不过在上海应该寄过来快一点
我那本13800CB,估计超过1000页了
heqi915 2007-12-14
  • 打赏
  • 举报
回复
恭喜,接分
wuyi8808 2007-12-14
  • 打赏
  • 举报
回复
这里有E文版的第15章的pdf文件下载,可以和中文版的对照着看:

《程序设计语言:实践之路(第二版)》第15章 代码改进(英文)

Programming Language Pragmatics, Second Edition

Chapter 15 Code Improvement

15.1 Phases of Code Improvement
15.2 Peephole Optimization
15.3 Redundancy Elimination in Basic Blocks
15.4 Global Redundancy and Data Flow Analysis
15.5 Loop Improvement I
15.6 Instruction Scheduling
15.7 Loop Improvement II
15.8 Register Allocation
15.9 Summary and Concluding Remarks
15.10 Exercises
15.11 Explorations
15.12 Bibliographic Notes
Eddie005 2007-12-14
  • 打赏
  • 举报
回复
jf~~~
wanabe 2007-12-14
  • 打赏
  • 举报
回复
到能换书那天,我早疯了~
LikeCode 2007-12-13
  • 打赏
  • 举报
回复
JF!
wuyi8808 2007-12-13
  • 打赏
  • 举报
回复
下面是随书CD中的第15章的pdf文件(中文版),欢迎下载:

《程序设计语言:实践之路(第二版)》第15章 代码改进.pdf
Rudolph 2007-12-12
  • 打赏
  • 举报
回复
羡慕……第一知道能买书。
hy_lihuan 2007-12-12
  • 打赏
  • 举报
回复
我也有1w5的积分可以花,不过没想好购买什么书
蝶恋花雨 2007-12-12
  • 打赏
  • 举报
回复
我0分买不起
liyunpeng_111 2007-12-12
  • 打赏
  • 举报
回复
没钱
kbryant 2007-12-12
  • 打赏
  • 举报
回复
有钱人
wuyi8808 2007-12-12
  • 打赏
  • 举报
回复
买了一本书还没到,楼主从买到收到用了多少时间?
----------------------------------

“社区银行”->“购买商品状态查询”:

金额 购买时间 状态
9900 2007-11-22 20:56:00 已发货

11月22日下单,昨天才收到,很慢的。
我在福建,书是从北京寄来的,899页,十分地厚重,邮票贴了不少。
wuyi8808 2007-12-12
  • 打赏
  • 举报
回复
我的CB还存着生利息呢~
-------------------

看到中意的就赶快出手,否则就变成“剩余数量:0 ”了。
《程序设计语言:实践之路(第2版)》被我换购后就变成了“剩余数量:0 ”,你再想要也没有了。
ustbwuyi 2007-12-12
  • 打赏
  • 举报
回复
买了一本书还没到,楼主从买到收到用了多少时间?
加载更多回复(33)

7,763

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 非技术区
社区管理员
  • 非技术区社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧