目 录 3
序言 3
第一部分 基础篇 3
第一章绪 论 3
§1.1 LISP语言的历史 3
§1.2 LISP语言的特点 4
§1.3 LISP语言的应用 5
第二章LISP的基本函数 7
§2.1 LISP解释程序与算术运算 7
§2.2符号表达式 9
§2.3求值与赋值函数 11
§2.4基本表处理函数 14
习题 16
第三章谓词、条件函数及函数定义 19
§3.1定义函数的函数 19
§3.2 LISP的谓词 22
§3.3条件函数 24
习题 27
第四章迭代及非标准控制流 29
§4.1 do函数 29
§4.2非结构迭代 31
§4.3映射函数 34
§4.4非标准控制流 36
习题 38
第五章递 归 39
§5.1递归的概念 39
§5.2定义递归函数的一般方法 41
§5.3尾递归 43
§5.4树递归 44
习题 47
第六章表的内部表示和破坏性函数 49
§6.1存贮结构和指针 49
§6.2表的内部表示 50
§6.3几个等词的比较 52
§6.4破坏性函数 54
习题 57
第七章关联表、性质表和Hash表 59
§7.1关联表 59
§7.2性质表 60
§7.3 Hash表 63
习题 64
第八章 高阶函数和无名函数 66
§8.1高阶函数apply和funcall 66
§8.2无名函数 68
§8.3函数function和闭包 71
习题 72
第九章可选参数及宏 74
§9.1 可选参数 74
§9.2 Rest参数和关键字参数 75
§9.3宏 77
§9.4编写宏举例 79
习题 80
第十章输入输出函数 82
§10.1输入函数 82
§10.2输出函数 84
§10.3格式化输出函数 86
习题 88
第十一章LISP程序的调试 90
§11.1查错程序 90
§11.2跟踪与步进 97
§11.3数据结构的检查函数 98
习题 100
第十二章LISP程序举例 101
§12.1 中缀表达式转换为前缀表达式 101
§12.2符号微分 104
§12.3汉诺塔问题 110
§12.4皇后问题 111
§12.5搜索问题 114
习题 119
第十三章字符和宏字符 120
§13.1字符 120
§13.2宏字符 122
§13.3 Backquote宏字符 125
§13.4发送宏字符 126
习题 128
第十四章数组、结构和数据类型 130
§14.1数组 130
§14.2向量、串和序列 132
§14.3数据抽象和结构 134
§14.4 CommonLISP的数据类型 137
§14.5包 145
习题 152
第十五章系统函数及其它 154
§15.1系统函数 154
§15.2变量的辖域 155
§15.3 LISP程序的编译 159
第二部分 应用篇 166
第十六章模式匹配 166
§16.1模式匹配器的设计 166
§16.2模式匹配器的实现 169
第十七章数据结构 174
§17.1 队列 174
§17.2树 177
§17.3流 178
§18.1一字棋和极大极小搜索 189
第十八章一字棋及搜索 189
§18.2一字棋程序的实现 192
第十九章ABC 202
§19.1 ABC语言概述 202
§19.2ABC解释器中的扫描器 203
§19.3 ABC解释器中的执行器 213
第二十章数据驱动及面向对象程序设计§20.1抽象数据的多重表示 224
§20.2数据驱动的程序设计 230
§20.3面向对象程序设计 232
附录1 Common LISP函数分类总结 238
附录2 Common LISP专用符号和字符 301
附录3 XLISP简介 312
习题答案 313
参考书目 334