当前位置:首页 > 工业技术
GOLDEN COMMON LISP使用大全
GOLDEN COMMON LISP使用大全

GOLDEN COMMON LISP使用大全PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:朱隽,唐汉编译
  • 出 版 社:希望电脑公司
  • 出版年份:1991
  • ISBN:
  • 页数:399 页
图书介绍:
《GOLDEN COMMON LISP使用大全》目录

第一章 智能与符号处理 1

1.1 问题求解与符号处理 1

1.2 LISP符号的属性 2

1.3 前门问题:机器人版本 3

1.4 符号可表示现实世界的对象的符号 3

1.5 LISP处理符号的机制 4

1.6 表示特性的符号 5

1.7 表示过程名的符号 6

1.8 R2D2对符号的处理 7

1.9 表:处理符号的一种自然机制 9

1.10 作为二叉树的表结构 9

1.11 小结 10

第二章 LISP解释器 11

2.1 在交互方式下的LISP解释器 11

2.2 解释器的核心 12

2.3 LISP的主要特征 14

2.4 函数的返回值或副作用 14

2.5 在顶层与解释器交互 15

2.6 LISP术语定义 15

2.7 GCLISP装入及运行 15

2.8 GCLISP的各种错误处理 16

2.9 MS-DOS及GCLISP 17

2.10 数值计值 18

2.11 串计值 18

2.12 给符号赋值 18

2.13 特殊符号NIL和T 19

2.14 符号赋特性 19

2.15 用户定义过程的建立 19

2.16 单引号阻止变元计值 20

2.17 数据表的建立 20

2.18 小结 21

2.19 练习 21

第三章 LISP函数 22

3.1 括号用作表的界符 22

3.2 波兰表达式 22

3.3 LISP的基本函数 24

3.4 +函数 24

3.5 函数的错误调用 25

3.6 给数值加单引号 26

3.7 减法、乘法与除法函数 26

3.8 加1函数与减1函数 27

3.9 max函数和min函数 28

3.10 判定谓词 28

3.11 比较谓词 29

3.12 LISP程序 29

3.13 函数嵌套深度 30

3.14 小结 31

3.15 练习 31

第四章 符号数据对象 33

4.1 符号的四个主要属性 33

4.2 对象表 34

4.3 初始化过程的内存分配 34

4.4 符号数据对象 35

4.5 setq 36

4.6 多值串行赋值 39

4.7 多值并行赋值 39

4.8 set 39

4.9 symbol-name和symbol-value 40

4.10 symbolp 40

4.11 setf赋值 40

4.12 boundp 41

4.13 小结 42

4.14 练习 42

第五章 表的建立及表的操作 45

5.1 表即双地址单元链 45

5.2 空表 46

5.3 cons 46

5.4 表表示 48

5.5 表结构的共享 48

5.6 append 49

5.7 点对 49

5.8 list 50

5.9 reverse 50

5.10 car 50

5.11 cdr 51

5.12 car/cdr 51

5.13 first和rest 52

5.14 其它提取函数 52

5.15 length 53

5.16 nconc 53

5.17 rplaca和rplacd 55

5.18 make-list 56

5.19 小结 56

5.20 练习 56

第六章 函数定义 58

6.1 LISP的过程结构 58

6.2 defun 59

6.3 变元约束 60

6.4 format 61

6.5 哑元 61

6.6 变元 62

6.7 lambda 62

6.8 let和let 63

6.9 lambda表关键字 64

6.10 symbol-function 65

6.11 改变函数定义 65

6.12 强制计值函数调用 66

6.13 function 67

6.14 funcall 67

6.15 apply 68

6.16 判定函数过程的谓词 68

6.17 小结 68

6.18 练习 69

第七章 变量作用域 70

7.1 变量作用域 70

7.2 defvar、defparameter和defconstant 71

7.3 proclaim 71

7.4 特殊变量的可见域 72

7.5 局域约束变量 73

7.6 局域约束值的访问 73

7.7 声明局域变量为特殊变量 74

7.8 其它方法建立的局域约束 76

7.9 labels和let 78

7.10 在顶层用setf建立的变量 78

7.11 在低层建立全程变量 79

7.12 GCLISP的special-p语句 80

7.13 小结 80

7.14 练习 81

第八章 谓词及布尔操作 82

8.1 用于测试或比较的谓词 82

8.2 识别谓词 82

8.3 测试数据类型的谓词 83

8.4 数值等价测试谓词 84

8.5 比较谓词 84

8.6 equal 85

8.7 member和member-if 86

8.8 endp和tailp 86

8.9 用户定义谓词 87

8.10 and 87

8.11 or 88

8.12 not 88

8.13 小结 88

8.14 练习 89

第九章 分支操作 91

9.1 条件语句 91

9.2 条件语句的结构 92

9.3 缺省子句 92

9.4 副作用表达式 93

9.5 条件嵌套 94

9.6 if和ifn 94

9.7 when 95

9.8 unless 95

9.9 case 95

9.10 替代条件语句的布尔表达式 96

9.11 小结 97

9.12 练习 97

第十章 输入函数 99

10.1 read 99

10.2 read变元 100

10.3 end-of-file,eof-error-p和eof-value 101

10.4 recursive-p 101

10.5 read-preserving-whitespace 101

10.6 read-char和read-byte 102

10.7 read-line 102

10.8 read-from-string 103

10.9 磁盘文件输入流 105

10.10 read-base 106

10.11 小结 106

10.12 练习 107

第十一章 输出函数 109

11.1 打印函数 109

11.2 转义字符 110

11.3 print 110

11.4 prinl 111

11.5 princ 112

11.6 terpri 112

11.7 pprint 113

11.8 全程参数控制打印操作 114

11.9 write-char和write-byte 115

11.10 打印机输出流 116

11.11 磁盘文件输出流 117

11.12 小结 117

11.13 练习 118

第十二章 格式打印输出 119

12.1 输出语句 119

12.2 用cons和append建立输出表 119

12.3 backquote 120

12.4 princ输出串 121

12.5 format 121

12.6 ≈% 123

12.7 基数转换的数值指令 123

12.8 其它格式指令 124

12.9 error和cerror 124

12.10 flatc和flatsize 125

12.11 用户询问谓词 126

12.12 小结 126

12.13 练习 126

第十三章 迭代程序设计 128

13.1 表元素及整数系列的迭代操作 128

13.2 loop 128

13.3 do 130

13.4 dolist 131

13.5 dotimes 132

13.6 其它的do结构 133

13.7 tagbody和go 134

13.8 程序 135

13.9 progv 135

13.10 其它prog类型特殊式子 136

13.11 小结 137

13.12 练习 137

第十四章 递归函数 139

14.1 递归定义 139

14.2 递归的实质 139

14.3 递归函数的构成 141

14.4 递归技术 141

14.5 Honoi塔问题 142

14.6 多终止条件和多递归 143

14.7 返回T或NIL的递归操作 144

14.8 尾递归 144

14.9 小结 145

14.10 练习 145

第十五章 映射函数 147

15.1 映射函数 147

15.2 mapcar操作一张表 147

15.3 mapcar操作多张表 149

15.4 lambda表达式 149

15.5 mapc 150

15.6 maplist 150

15.7 mapl 151

15.8 mapcar 151

15.9 mapcon 152

15.10 映射谓词 152

15.11 小结 152

15.12 练习 153

第十六章 宏的建立与使用 155

16.1 宏的优缺点 155

16.2 宏的基本性质 156

16.3 宏的创建 157

16.4 宏的扩展 158

16.5 lambda表关键字 159

16.6 反引号机制 159

16.7 @和修饰符 159

16.8 宏扩展函数的返回 160

16.9 结构的破坏 161

16.10 变量名的冲突 162

16.11 小结 162

16.12 练习 163

第十七章 块、退出及多元值 164

17.1 block 164

17.2 缺省块 166

17.3 映射函数的控制 166

17.4 catch和throw 167

17.5 unwind-protect 168

17.6 多元值的产生及处理 169

17.7 values 170

17.8 不返回任何值的函数 171

17.9 multiple-value-setq 171

17.10 multiple-value-bind 172

17.11 多元值处理的一些不一致性 172

17.12 小结 173

17.13 练习 173

第十八章 特性表及联接表 175

18.1 特性表指针 175

18.2 指示符及其值的设置 176

18.3 整个特性表的检索 176

18.4 特性检索 177

18.5 getf 178

18.6 get-properties 179

18.7 remprop 179

18.8 remf 180

18.9 对局部约束符号置特性值 180

18.10 is-a特性与层次检索结构 180

18.11 联结表 181

18.12 pairlis 181

18.13 acons 182

18.14 assoc 182

18.15 rassoc 183

18.16 copy-alist 183

18.17 remove 183

18.18 小结 183

18.19 练习 184

第十九章 流 186

19.1 流的基本概念 186

19.2 GCLISP支持七种标准流 187

19.3 输出流 188

19.4 close-all-files及close 189

19.5 输入流 190

19.6 with-open-file 190

19.7 with-open-stream 192

19.8 make-synonym-stream 192

19.9 make-string-input-stream 192

19.10 make-string-output-stream 195

19.11 get-output-stream-string 195

19.12 作为函数的流 196

19.13 用户定义流 197

19.14 stream-default-handler 198

19.15 小结 199

19.16 练习 199

第二十章 字符内幕 201

20.1 字符数据对象 201

20.2 打印字符 202

20.3 get-char-ascii 203

20.4 get-ascii-char 204

20.5 display-ascii-char 204

20.6 字符的语法 205

20.7 终结宏字符 206

20.8 标准宏字符 206

20.9 用户定义的宏字符 207

20.10 无返回值的宏 208

20.11 字符语法特性的拷贝 209

20.12 特殊字符的名字 210

20.13 字符字体 211

20.14 :control和:meta位 211

20.15 char-bit 211

20.16 与位相关的其它函数 212

20.17 各种字符测试谓词 213

20.18 字符大小写的转换 214

20.19 小结 214

20.20 练习 215

第二十一章 串 217

21.1 串即一维字符向量 217

21.2 format 218

21.3 read-line 219

21.4 make-string 219

2.15 LISP数据对象与串的转换 219

21.6 作为输入源的串 220

21.7 string 220

21.8 char 220

21.9 string=及string-equal 221

21.10 string<及string-lessp 221

21.11 string-append 222

21.12 字符的删除 222

21.13 串的搜索 223

21.14 stringp 223

21.15 对串的序列操作 224

21.16 小结 224

21.17 练习 224

第二十二章 数、数组及结构 226

22.1 GCLISP的四种数值类型 226

22.2 识别谓词和比较谓词 226

22.3 基本算术操作 227

22.4 incf和decf 227

22.5 指数函数和对数函数 228

22.6 类型转换和数值取舍 228

22.7 位逻辑操作 229

22.8 数值 230

22.9 make-array 230

22.10 aref 231

22.11 setf改变数组内容 232

22.12 向量用作栈 233

22.13 数组头 233

22.14 元素拷贝 234

22.15 数组信息函数 234

22.16 vector 234

22.17 defstruct 235

22.18 缺省初始化值 236

22.19 defstruct自动建立构造器函数 236

22.20 类型测试 237

22.21 定义谓词和拷贝函数 237

22.22 建立访问函数 238

22.23 修改槽 238

22.24 可选关键字 238

22.25 结构表示 239

22.26 :named 239

22.27 小结 240

22.28 练习 240

第二十三章 与文件系统的接口 242

23.1 路径名 242

23.2 make-pathname 243

23.3 merge-pathnames 244

23.4 default-pathname-defaults 244

23.5 路径名对象的返回 245

23.6 返回路径名成分的函数 245

23.7 返回成分串的函数 246

23.8 open与with-open-file 246

23.9 文件流 247

23.10 文件关闭 248

23.11 文件改名及删除 249

23.12 文件装入 250

23.13 autoload函数 250

23.14 目录改变及访问 252

23.15 小结 253

23.16 练习 253

第二十四章 调试、跟踪与时间测量 255

24.1 Common LISP的错误处理 255

24.2 用error表示致命错误 255

24.3 用cerror表示非致命错误 256

24.4 ignore-errors提供了对错误的特殊处理 257

24.5 中断程序的break键 257

24.6 显示中断语句 258

24.7 trace 259

24.8 sys:backtrace显示控制栈内容 260

24.9 step对计算过程进行逐步查看 261

24.10 美观打印可消除括号错误 262

24.11 dribble记录交互式会话 263

24.12 跟踪会话日期及时间 263

24.13 get-decoded-time返回当前时间 264

24.14 时间延迟 265

24.15 time 265

24.16 基准程序 266

24.17 小结 267

24.18 练习 267

第二十五章 包 269

25.1 基本概念 269

25.2 Common LISP的各种包 270

25.3 symbol-package 270

25.4 make-package 272

25.5 in-package 273

25.6 符号的外部化 273

25.7 符号的内部化 274

25.8 外部化的逆过程 275

25.9 do-symbols 275

25.10 apropos 275

25.11 shadow与shadowing-list 276

25.12 符号的非内部化 277

25.13 gensym 277

25.14 显示包信息的各种函数 278

25.15 模块函数 278

25.16 小结 279

25.17 练习 279

第二十六章 GCLISP的其它性质 281

26.1 低级函数 281

26.2 在GCLISP中MS-DOS程序的运行 284

26.3 表的合并排序 285

26.4 类型说明符 286

26.5 文档函数 287

26.6 系统及环境信息 288

26.7 栈组函数 289

26.8 无符号定点数操作 290

26.9 序列操作函数 290

26.10 其它表操作函数 291

26.11 杂凑函数 292

26.12 内存管理函数 292

26.13 垃圾回收函数 293

26.14 小结 294

26.15 练习 294

第二十七章 GMACS编辑器 297

27.1 GMACS的基本操作 297

27.2 调用编辑器 298

27.3 移动坐标 299

27.4 在编辑器与解释器间的切换 300

27.5 块的移动和拷贝 301

27.6 其它光标移动命令 302

27.7 文件的装入和编辑 302

27.8 多缓冲区 303

27.9 向前与向后搜索 303

27.10 在两个窗口中进行编辑 304

27.11 数值变元及其它特征 304

27.12 在编辑器中的表达式计值 304

27.13 功能键 305

27.14 Help 305

27.15 卸除GMACS 305

27.16 GMACS命令汇总 306

27.17 小结 308

第二十八章 LISP解释器内幕 309

28.1 LISP解释器使用内存的五种基本方法 309

28.2 初始化过程中的内存分配 310

28.3 对象表 311

28.4 一个典型LISP解释器的布局 313

28.5 垃圾回收 314

28.6 LISP环境的保存 314

28.7 LISP编译器 315

28.8 小结 316

第二十九章 read/eval/print循环 317

29.1 read/eval/print循环的激活 317

29.2 显示提示符的子程序 317

29.3 接收输入 318

29.4 分析输入 319

29.5 建立表结构 320

29.6 宏字符 321

29.7 执行计值过程 321

29.8 普通函数处理 323

29.9 特殊函数调用 323

29.10 print的工作过程 325

29.11 函数调用及其值的回忆 325

29.12 小结 326

第三十章 词法域与动态域 327

30.1 解释器的解释器 327

30.2 环境的概念 327

30.3 一个小型的read/eval/print循环 329

30.4 LISP求值过程的模拟 329

30.5 符号值的查找 330

30.6 对符号赋值 330

30.7 特殊式子if的模拟 330

30.8 将函数作用于变元 331

30.9 将变元约束至函数参数 332

30.10 动态域变量的问题 332

30.11 浅层约束 333

30.12 约束栈 333

30.13 词法域 336

30.14 闭包 336

30.15 词法域中的环境处理 338

30.16 小结 342

附录A GCLISP函数和变量 343

附录B 用户定义函数 355

练习答案 359

返回顶部