目 录 1
第一章引论 1
1.1.形式语义学 1
1.2.指称语义学 4
1.3.代数语义学 6
1.4.操作语义学 7
1.5.公理语义方法 8
1.6.形式说明语言 8
第二章指称语义学基础 9
2.1.论域问题引子 9
2.2. 域的构造 12
2.3. 偏序与完全偏序 14
2.4. 单调函数与连续函数 18
2.5. 连续泛函 21
2.6.泛函不动点及递归程序 27
2.7.λ-抽象及λ-演算 46
2.8.指称语义定义初步 53
习 题 59
参考文献 63
第三章程序设计语言的指称语义 64
3.1.程序设计语言的基本概念 64
3.2. 存贮语义 71
3.3. 环境(声明)语义 77
3.4. 命令语义 85
3.5.表达式语义 89
3.6. 连续(Continuations) 93
3.7.证明技术 111
3.8. 小结 120
习 题 121
参考文献 123
第四章指称语义的一些例子 124
4.1.例子1 124
4.2.例子2 135
4.3. 例子3 142
4.4. 例子4 148
习 题 154
参考文献 155
第五章代数语义学基础 156
5.1.概述 156
5.2. 范畴论 159
5.3.图范畴及图文法 197
5.4.类别代数理论 243
5.5.抽象数据类型 265
5.6.等式理论与项重写系统 274
5.7. 实例 292
习题 312
参考文献 322
6.1.操作语义概述 323
第六章操作语义学与属性文法 323
6.2.施用表达式(AE)的机器计算 328
6.3.属性文法概述 339
6.4.属性文法分类 346
6.5.用属性文法进行编译程序设计 374
6.6.属性文法定义语言 387
6.7.实例:AGDL的语法 392
习题 394
参考文献 394
第七章组合逻辑 395
7.1.概述 395
7.2. 组合子 402
7.3.组合逻辑的语法理论 411
7.4.组合逻辑的逻辑基础 421
7.5.函数性基本理论 426
7.6.范畴组合逻辑 432
7.7.小结 439
习题 440
参考文献 442
第八章公理语义方法 443
8.1. 概述 443
8.2. 程序正确性验证的基本概念 445
8.3.程序正确性验证技术 451
8.4.Hoare公理系统 464
8.5.Dijkst ra的最弱前置条件 471
8.6.Martin-L?f类型论 480
习题 510
参考文献 511
第九章维也纳发展方法:Meta-Language 512
9.1.概况 512
9.2.在VDM中的逻辑注释 521
9.3.抽象数据类型 522
9.4.抽象文法 536
9.5. 组合算子 538
9.6.VDM与程序设计语言 550
参考文献 570
习 题 570
第十章并发程序设计语言的语义与说明 571
10.1.并行系统概述 571
10.2.并发程序设计语言概述 573
10.3.幂域及不确定性 580
10.4.通讯顺序进程(CSP) 595
10.5. 并发程序设计语言的指称语义 610
10.6.通讯顺序进程的操作语义 626
10.7.进程与通讯网络的抽象数据类型 640
10.8.并发程序设计语言的公理语义 659
习题 679
参考文献 681