本站支持尊重有效期内的版权/著作权,所有的资源均来自于互联网网友分享或网盘资源,一旦发现资源涉及侵权,将立即删除。希望所有用户一同监督并反馈问题,如有侵权请联系站长或发送邮件到ebook666@outlook.com,本站将立马改正
书名: | 程序设计语言原理(英文版·原书第12版)|8078018 |
图书定价: | 229元 |
图书作者: | [美]罗伯特·W. 塞巴斯塔(Robert W. Sebesta) |
出版社: | 机械工业出版社 |
出版日期: | 2021/1/8 0:00:00 |
ISBN号: | 9787111671848 |
开本: | 16开 |
页数: | 743 |
版次: | 1-1 |
作者简介 |
[美]罗伯特·W. 塞巴斯塔(Robert W. Sebesta) 著:罗伯特·W. 塞巴斯塔(Robert W. Sebesta) 科罗拉多大学科罗拉多斯普林斯分校计算机科学系荣休副教授,拥有40多年的授课经验,研究兴趣包括程序设计语言的设计和评估以及Web程序设计。他拥有宾夕法尼亚州立大学计算机科学硕士和博士学位。 |
内容简介 |
从为什么学习程序设计语言入手,深入细致地讲解了命令式语言的主要结构及其设计与实现,内容涉及变量、数据类型、表达式和赋值语句、控制语句、子程序、数据抽象机制、对面向对象程序设计的支持(继承和动态方法绑定)、并发、异常处理和事件处理等方面。 |
目录 |
第1章 预备知识 1 1.1 学习程序设计语言原理的原因 2 1.2 程序设计领域 5 1.3 语言评估标准 7 1.4 影响语言设计的因素 17 1.5 程序设计语言的分类 20 1.6 语言设计中的权衡 21 1.7 实现方法 22 1.8 程序设计环境 29 小结·复习题·习题 30 第2章 主要程序设计语言发展简史 33 2.1 Zuse研制的Plankalkül语言 36 2.2 伪代码 37 2.3 IBM 704计算机和Fortran 40 2.4 函数式程序设计语言:Lisp 45 2.5 迈向成熟的第一步:ALGOL 60 50 2.6 计算机化的商业记录:COBOL 56 2.7 分时处理的开始:Basic 61 访谈:Alan Cooper—用户设计与语言设计 64 2.8 满足所有人的需求:PL/I 66 2.9 两种早期的动态语言:APL 和SNOBOL 69 2.10 数据抽象的开端:SIMULA 67 70 2.11 正交设计:ALGOL 68 71 2.12 ALGOL系列语言的早期后代语言 73 2.13 基于逻辑的程序设计:Prolog 77 2.14 历史上规模最大的语言设计工作:Ada 79 2.15 面向对象程序设计:Smalltalk 83 2.16 结合命令式和面向对象的特性:C++ 85 2.17 基于命令式的面向对象语言:Java 89 2.18 脚本语言 92 2.19 .NET旗舰语言:C# 98 2.20 混合标记程序设计语言 100 小结·文献注记·复习题·习题·程序设计练习 102 第3章 语法和语义描述 109 3.1 概述 110 3.2 语法描述的一般问题 111 3.3 语法描述的形式化方法 113 3.4 属性文法 128 历史注记 128 3.5 描述程序的含义:动态语义 134 历史注记 142 小结·文献注记·复习题·习题 155 第4章 词法和语法分析 161 4.1 概述 162 4.2 词法分析 163 4.3 语法分析问题 171 4.4 递归下降的语法分析 175 4.5 自底向上的语法分析 183 小结·复习题·习题·程序设计练习 191 第5章 名字、绑定和作用域 197 5.1 概述 198 5.2 名字 199 历史注记 199 5.3 变量 200 5.4 绑定的概念 203 5.5 作用域 211 5.6 作用域和生存期 222 5.7 引用环境 223 5.8 命名常量 224 小结·复习题·习题·程序设计练习 227 第6章 数据类型 235 6.1 概述 236 6.2 基本数据类型 238 6.3 字符串类型 242 历史注记 243 6.4 枚举类型 247 6.5 数组类型 250 历史注记 251 历史注记 251 6.6 关联数组 261 6.7 记录类型 263 6.8 元组类型 266 6.9 列表类型 268 6.10 联合类型 270 6.11 指针和引用类型 273 历史注记 276 6.12 可选类型 285 6.13 类型检查 286 6.14 强类型化 287 6.15 类型等价 288 6.16 理论和数据类型 292 小结·文献注记·复习题·习题·程序设计练习 294 第7章 表达式和赋值语句 301 7.1 概述 302 7.2 算术表达式 302 7.3 重载运算符 311 7.4 类型转换 313 历史注记 315 7.5 关系表达式和布尔表达式 316 历史注记 316 7.6 短路求值 318 7.7 赋值语句 319 历史注记 323 7.8 混合方式赋值 324 小结·复习题·习题·程序设计练习 324 第8章 语句级控制结构 329 8.1 概述 330 8.2 选择语句 332 8.3 迭代语句 343 8.4 无条件分支 355 历史注记 356 8.5 防护命令 356 8.6 结论 359 小结·复习题·习题·程序设计练习 360 第9章 子程序 365 9.1 概述 366 9.2 子程序基础 366 9.3 子程序的设计问题 374 9.4 局部引用环境 375 9.5 参数传递方法 376 历史注记 384 历史注记 384 9.6 子程序作为参数 392 历史注记 394 9.7 子程序间接调用 394 9.8 函数设计问题 396 9.9 重载子程序 397 9.10 类属子程序 398 9.11 用户定义的重载运算符 404 9.12 闭包 405 9.13 协同程序 407 小结·复习题·习题·程序设计练习 410 第10章 子程序实现 417 10.1 调用和返回的一般语义 418 10.2 “简单”子程序的实现 419 10.3 具有栈动态局部变量的子程序实现 421 10.4 嵌套子程序 429 10.5 程序块 436 10.6 动态作用域的实现 437 小结·复习题·习题·程序设计练习 441 第11章 抽象数据类型和封装结构 447 11.1 抽象的概念 448 11.2 数据抽象概述 449 11.3 抽象数据类型的设计问题 452 11.4 语言示例 453 访谈:Bjarne Stroustrup—C++的诞生、广泛应用及受到的质疑 454 11.5 参数化的抽象数据类型 466 11.6 封装结构 471 11.7 命名封装 474 小结·复习题·习题·程序设计练习 478 第12章 对面向对象程序设计的支持 483 12.1 概述 484 12.2 面向对象程序设计 485 12.3 面向对象语言的设计问题 489 12.4 特定语言对面向对象程序设计的支持 494 访谈:Bjarne Stroustrup—关于程序设计范型和更好的程序设计 498 12.5 面向对象结构的实现 519 12.6 反射 522 小结·复习题·习题·程序设计练习 528 第13章 并发 533 13.1 概述 534 13.2 子程序级并发概述 539 13.3 信号量 544 13.4 管程 549 13.5 消息传递 551 13.6 Ada对并发机制的支持 552 13.7 Java线程 560 13.8 C#线程 570 13.9 函数式语言中的并发处理 575 13.10 语句级并发 578 小结·文献注记·复习题·习题·程序设计练习 580 第14章 异常处理和事件处理 587 14.1 异常处理概述 588 历史注记 592 14.2 C++中的异常处理 594 14.3 Java中的异常处理 598 14.4 Python和Ruby中的异常处理 605 14.5 事件处理概述 608 14.6 Java中的事件处理 609 14.7 C#中的事件处理 613 小结·文献注记·复习题·习题·程序设计练习 616 第15章 函数式程序设计语言 623 15.1 概述 624 15.2 数学函数 625 15.3 函数式程序设计语言基础 628 15.4 第一个函数式程序设计语言:Lisp 629 15.5 Scheme概述 633 15.6 Common Lisp 651 15.7 ML 653 15.8 Haskell 658 15.9 F# 663 15.10 主要命令式语言对函数式程序设计的支持 666 15.11 函数式语言和命令式语言的比较 669 小结·文献注记·复习题·习题·程序设计练习 671 第16章 逻辑程序设计语言 679 16.1 概述 680 16.2 谓词演算概述 680 16.3 谓词演算和定理证明 684 16.4 逻辑程序设计概述 686 16.5 Prolog的起源 688 16.6 Prolog的基本元素 688 16.7 Prolog的缺点 703 16.8 逻辑程序设计的应用 709 小结·文献注记·复习题·习题·程序设计练习 710 参考文献 715 Contents Chapter 1 Preliminaries 1 1.1 Reasons for Studying Concepts of Programming Languages..............2 1.2 Programming Domains........................................5 1.3 Language Evaluation Criteria........................................7 1.4 Influences on Language Design ........................................17 1.5 Language Categories.............. |
编辑推荐 |
程序设计语言原理(英文版·原书第12版) Concepts of Programming Languages, Twelfth Edition [美]罗伯特·W. 塞巴斯塔(Robert W. Sebesta) 著 |