目录 1
作者前言 1
第一章ADA程序的结构 1
1.1绪言 1
1.2一个简单的ADA程序 2
1.3程序包 4
第二章符号表示法 9
2.1标识符 9
2.3数值字面量 11
2.2定义符 11
2.4字符字面量 12
2.5字符串 12
2.6注释 13
2.7杂注 13
2.8习题 14
第三章离散数据类型 15
3.1 ADA类型系统的基本原则 15
3.2枚举类型 19
3.3字符类型 21
3.5整数类型 22
3.4布尔类型 22
3.6表达式 23
3.7类型转换 28
3.8习题 29
第四章语句 31
4.1语句序列 31
4.2 NULL语句(空语句) 32
4.3赋值语句 32
4.4 GOTO语句(无条件转移语句) 33
4.5 IF语句(条件语句) 33
4.6 CASE语句(情况语句) 34
4.7 LOOP语句(循环语句) 36
4.8举例——翻一页日历 38
4.9举例——查出素数 39
4.10习题 41
第五章说明和分程序 42
5.1分程序结构 42
5.2说明 42
5.3对象说明 43
5.4数值说明 44
5.5 DECLARE语句 45
5.6举例——查出素数 48
5.7 习题 49
第六章子程序 50
6.1子程序体 50
6.2参数 52
6.3子程序调用 54
6.4隐含参数值 56
6.5子程序规格 56
6.6过载表达式和限定表达式 58
6.7运算符 59
6.8举例——PASCAL三角形 60
6.9习题 62
第七章程序包 64
7.1程序包规格 64
7.2程序包体 65
7.3 USE子句 68
7.4专用类型 68
7.5派生类型和程序包 72
7.6举例——报告编译时错误的程序包 73
7.7习题 74
8.1数组类型 76
第八章结构化数据类型 76
8.2数组聚集 78
8.3数组的使用 79
8.4 串 82
8.5数组属性 82
8.6数组类型的转换 83
8.7记录类型 83
8.8记录聚集 84
8.9记录的使用 85
8.10隐含初始值 87
8.11举例——一个网络管理程序包 88
8.12习题 94
第九章再论程序结构 96
9.1编译单位 96
9.2上下文规格 97
9.3子单位 100
9.4编译顺序 103
9.5名字的作用域和可见性 103
9.6访问名字被隐藏了的实体 105
9.8习题 107
9.7名字的过载和唯一性 107
第十章可判别的类型 109
10.1变体记录 109
10.2可变长数组 112
10.3判别式约束 113
10.4使用可判别的类型 114
10.5可判别的专用类型 117
10.6举例——一个文本处理程序包 118
10.7习题 125
11.1数据对象的静态和动态分配 126
第十一章访问类型 126
11.2访问类型的基本概念 127
11.3访问类型的说明和名字 132
11.4分配符 133
11.5访问型常量 134
11.6可判别的基类型和未约束数组基类型 134
11.7存贮分配和存贮回收的控制 135
11.8举例——Ada源文本的交叉引用表生成程序 140
11.9习题 148
第十二章任务 149
12.1并行的概念 149
12.2任务的说明 152
12.3任务的通讯和会合 156
12.4 入口和ACCEPT语句 159
12.5 不确定性与SELECT语句 164
12.6延迟、超时和终止 170
12.7条件的和计时的入口调用 177
12.8 入口家族 178
12.9 任务类型 181
12.11任务的属性 184
12.12停止有故障的任务 184
12.10任务的优先级 184
12.13举例——一个串行通信接口 185
12.14习题 194
第十三章异常处理 196
13.1运行时出错 196
13.2用异常来表示出错 196
13.3引发和处理异常 197
13.4为一个引发的异常选择一个处理程序段 200
13.5出错处理技术 203
13.6任务中的异常 206
13.8习题 207
13.7举例——网络管理程序包 207
14.1程序单位的参数化法 208
第十四章类属程序单位 208
14.2类属说明 211
14.3类属的例示 211
14.4类属参数 212
14.5举例——用于任务通讯的类属缓冲区 220
14.6习题 224
15.1ADA 中的输入与输出 225
15.2文件 225
第十五章输入和输出 225
15.3说明,打开,关闭文件 226
15.4顺序文件的处理 228
15.5随机存取文件的处理 231
15.6正文文件 233
15.7隐含的文件 235
15.8正文输出 235
15.9正文输入 241
15.10字符串的输入和输出 243
15.11举例——交叉引用生成程序 244
15.12习题 252
16.1定点和浮点表示法 253
第十六章实数据类型 253
16.2浮点类型 255
16.3定点类型 258
16.4实型计算的语义 261
16.5举例——一个数字滤波器的定点实现 262
16.6习题 264
17.1表示法规格 265
17.2低级输入输出程序设计 265
第十七章低级程序设计 265
17.3长度规格 271
17.4与机器有关的常量 272
17.5举例——线接口程序包 273
附录A:预定义语言属性 276
附录B:预定义语言杂注 279
附录C:预定义语言环境 279
附录D:标准输入输出程序包 283
附录E:语法图 289
附录F:部分习题解答 308