12072513_程序设计语言原理

12072513_程序设计语言原理
语言:
中文
类型:
PDF扫描版
页数:
530页
大小:
168.22 MB
出版社:
机械工业出版社
出版时间:
2008-06
ISBN:
9787111239512
分类:

内容简介

《程序设计语言原理》是一本深入探讨程序设计语言核心概念、设计原理与实现技术的经典教材。本书系统地介绍了程序设计语言的基本理论、主要范型及其实现方法,帮助读者理解不同语言背后的共同机制与设计权衡。

全书内容涵盖语法与语义、名称与绑定、类型系统、作用域与生存期、表达式与赋值、控制结构、子程序与参数传递、抽象数据类型、面向对象、函数式与逻辑式编程等核心主题。通过对命令式、面向对象、函数式、逻辑式等主流范型的比较分析,揭示了语言设计中的关键决策及其对程序正确性、效率与可维护性的影响。

本书注重理论与实践结合,使用大量示例和案例研究,展示如何将原理应用于实际语言(如C、Java、Python、Haskell、Prolog等)。同时,书中还讨论了编译与解释、运行时环境、并发与异常处理等实现层面的问题,为读者构建了从语言规范到具体实现的完整知识框架。

本书适合作为计算机科学与技术专业的本科高年级或研究生教材,也可供软件工程师、语言设计者及对编程语言理论感兴趣的读者参考。通过阅读本书,读者将获得评价和选择程序设计语言的系统视角,并具备设计小型语言或扩展现有语言的能力。

目录

第1章 基本概念
学习程序设计语言原理的缘由
程序设计应用领域
语言评估标准
影响语言设计的因素
语言分类
语言设计中的权衡
实现方法
程序设计环境
小结*复习题*练习题
第2章 主要程序设计语言的发展
Zuse的Plankalkül语言
最小硬件的程序设计:伪代码
IBM 704计算机与Fortran
函数式程序设计语言:LISP
迈向成熟的第一步:ALGOL60
商务记录计算机化:COBOL
分时操作的开始:BASIC
用途广泛的语言:PL/I
两种早期的动态语言:APL和SNOBOL
数据抽象的开始:SIMULA67
正交性语言的设计:ALGOL 68
早期ALGOL系列语言的后代产品
基于逻辑的程序设计:Prolog
历史上规模最大的语言设计:Ada
面向对象的程序设计:Smalltalk
结合命令式与面向对象的特性:C++
一种基于命令式的面向对象语言:Java
脚本语言:JavaScript、 PHP、Python和Ruby
一种基于C的新世纪语言:C
标志与程序设计混合式语言
小结*文献注释*复习题*练习题*程序设计练习题
第3章 描述语法和语义
概述
描述语法的普遍问题
描述语法的形式方法
属性文法
描述程序的意义:动态语义
小结*文献注释*复习题*练习题
第4章 词法分析和语法分析
概述
词法分析
语法分析问题
递归下降语法分析
自底向上语法分析
小结*复习题*练习题*程序设计练习题
第5章 名字、绑定、类型检测和作用域
概述
名字
变量
绑定的概念
类型检测
强类型化
类型等价
作用域
作用域与生存期
引用环境
命名常量
小结*复习题*练习题*程序设计练习题
第6章 数据类型
概述
基本数据类型
字符串类型
用户定义的序数类型
数组类型
关联数组
记录类型
联合类型
指针类型与引用类型
小结*文献注释*复习题*练习题*程序设计练习题
第7章 表达式与赋值语句
概述
算术表达式
重载操作符
类型转换
关系表达式和布尔表达式
短路求值
赋值语句
混合模式赋值
小结*复习题*练习题*程序设计练习题
第8章 语句层次的控制结构
概述
选择语句
循环语句
无条件分支
守卫的命令
结论
小结*复习题*练习题*程序设计练习题
第9章 子程序
概述
子程序的基本原理
子程序的设计问题
局部引用环境
参数传递方法
子程序名作为参数
重载子程序
通用子程序
函数的设计问题
用户定义的重载操作符
协同程序
小结*复习题*练习题*程序设计练习题
第10章 实现子程序
调用与返回的一般语义
实现“简单”子程序
实现具有栈动态局部变量的子程序
嵌套子程序
块
实现动态作用域
小结*复习题*练习题
第11章 抽象数据类型和封装结构
抽象概念
数据抽象介绍
抽象数据类型的设计问题
语言示例
有参数的抽象数据类型
封装结构
命名封装
小结*复习题*练习题*程序设计练习题
第12章 支持面向对象的程序设计
概述
面向对象程序设计
面向对象语言的设计问题
Smalltalk对面向对象程序设计的支持
C++对面向对象程序设计的支持
Java对面向对象程序设计的支持
C#对面向对象程序设计的支持
Ada 95对面向对象程序设计的支持
Ruby对面向对象程序设计的支持
JavaScript的对象模型
面向对象结构的实现
小结*复习题*练习题*程序设计练习题
第13章 并发
概述
子程序层次并发的介绍
信号量
管程
消息传递
Ada对并发的支持
Java线程
C#线程
语句层次的并发
小结*文献注释*复习题*练习题*程序设计练习题
第14章 异常处理和事件处理
异常处理概述
Ada中的异常处理
C++中的异常处理
Java中的异常处理
事件处理概述
Java的事件处理
小结*文献注释*复习题*练习题*程序设计练习题
第15章 函数式程序设计语言
概述
数学函数
函数式程序设计语言的基础
第一种函数式程序设计语言:LISP
Scheme概述
COMMON LISP
ML
Haskell
函数式语言的应用
函数式语言和命令式语言的比较
小结*文献注释*复习题*练习题*程序设计练习题
第16章 逻辑程序设计语言
概述
谓词演算的简短介绍
谓词演算与定理证明
逻辑程序设计概述
Prolog的起源
Prolog的基本元素
Prolog的缺陷
逻辑程序设计的应用
小结*文献注释*复习题*练习题*程序设计练习题
参考文献
下载权限
查看
  • ¥
    免费下载
    评论并刷新后下载
    登录后下载
  • {{attr.name}}:
您当前的等级为
登录后免费下载登录 小黑屋反思中,不准下载! 评论后刷新页面下载评论 支付以后下载 请先登录 您今天的下载次数(次)用完了,请明天再来 支付积分以后下载立即支付 支付以后下载立即支付 您当前的用户组不允许下载升级会员
您已获得下载权限 您可以每天下载资源次,今日剩余次

网盘链接如果失效了请尝试其他网盘,不再补链,因为补了也会再次失效。

重要申明:
本书由书友@锦小书发布分享,仅供学习交流使用,版权归原作者所有。如有侵权,请联系我们删除。

📖 支持知识自由流动

每一本书的稳定访问,都离不开服务器、存储与带宽的长期维护。

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
❯
个人中心
今日签到
有新私信 私信列表
搜索