第一部份 PL/I-80阅读导引及CP/M用法简介 2
1-1 本书的阅读导引 2
1-2 PL/I语言的特色与PL/I-80简介 3
1-3 CP/M作业系统使用说明 3
1-4 AppleⅡCP/M系统环境 27
1-5 PL/I-80简介 31
1-6 PL/I-80系统操作 33
1-7 PL/I-80程式风格 39
第二部分 PL/I-80程式语言手册 44
2-1 基本结构 44
2-1-1 字元集 44
2-1-2 识别元 45
2-1-3 常数 45
2-1-4 界定元及分隔元 45
2-2 程式结构 47
2-2-1 PL/I-80指述 47
2-2-2 群 47
2-2-3 区段 48
2-2-4 名称的范围 49
2-2-5 区段活动 51
2-2-6 预先处理机指述 51
2-2-7 程式 52
2-3 资料项目 53
2-3-1 算术资料 53
2-3-1-1 固定二进位数 53
2-3-1-2 固定十进位数 54
2-3-1-3 浮动二进位数 54
2-3-1-4 算术内设函数 55
2-3-2 字串资料 55
2-3-2-1 字元串资料 55
2-3-2-2 位元串资料 56
2-3-2-3 结合性 57
2-3-2-4 字串内设函数 57
2-3-3 控制资料项目 57
2-3-3-1 标记资料 57
2-3-3-2 进入点资料 58
2-3-4 指标资料 59
2-3-5 档案资料 59
2-4 资料集结 60
2-4-1 阵列 60
2-4-2 结构 61
2-4-3 结构阵列 62
2-5 资料属性及宣告指述 63
2-5-1 宣告指述 63
2-5-2 资料属性串列 66
2-6 储存体管理 67
2-6-1 静态属性 67
2-6-2 起始属性 68
2-6-3 自动储存分配属性 69
2-6-4 基底属性 69
2-6-5 分配指述 70
2-6-6 虚无内设函数 70
2-6-7 位址内设函数 70
2-6-8 FREE指述 71
2-7 指定指述和表示式 71
2-7-1 表示式 72
2-7-1-1 前序表示式 72
2-7-1-2 内序表示式 72
2-7-1-3 运算子的优先次序 72
2-7-1-4 关系运算子 73
2-7-1-5 位元串运算子 73
2-7-1-6 乘方 73
2-7-2 算术转换 74
2-7-2-1 算术对算术转换 74
2-7-2-2 固定内设函数 75
2-7-2-3 浮动内设函数 75
2-7-2-4 二进位内设函数 76
2-7-2-5 十进位内设函数 76
2-7-2-6 DIVIDE内设函数 76
2-7-3 字串转换 76
2-7-3-1 算术对位元串转换 77
2-7-3-2 算术对字元转换 77
2-7-3-3 位元串对算术转换 78
2-7-3-4 位元对字元串转换 78
2-7-3-5 字元对算术转换 78
2-7-3-6 字元对位元串转换 78
2-7-4 虚假变数 79
2-7-4-1 次字元串 79
2-7-4-2 次位元串 80
2-7-4-3 UNSPEC 80
2-8 序列控制指述 81
2-8-1 GO TO指述 81
2-8-2 IF指述 81
2-8-3 反覆DO指述 82
2-8-4 状况处理 85
2-8-5 ON指述 86
2-8-6 SIGNAL指述 87
2-8-7 REVERT指述 87
2-8-8 系统认定的ON UNIT 87
2-8-9 状况处理的内设函数 88
2-8-10 程序区段 88
2-8-11 程序之激发 88
2-8-12 程序定义的结构 89
2-8-13 RETURN指述 90
2-8-14 非局部性GOTO指述 90
2-8-15 STOP指述 91
2-8-16 引数及参数 91
2-8-17 ENTRY属性 92
2-9 输入/输出处理 93
2-9-1 档案资料项目 93
2-9-2 档案型态 94
2-9-3 开档 94
2-9-4 档案参数区段 95
2-9-5 有状况之输入/出 96
2-9-6 CLOSE指述 96
2-9-7 预先定义的档案 97
2-10 字元流朝向的输入/出 97
2-10-1 串列朝向输入/出 98
2-10-2 GET LIST指述 99
2-10-3 PUT LIST指述 99
2-10-4 编辑朝向输入/出 100
2-10-5 格式串列 100
2-10-6 资料格式项 100
2-10-7 控制格式项 101
2-10-8 遥控格式项 103
2-10-9 格式指述 103
2-10-10 GET EDIT指述 103
2-10-11 PUT EDIT指述 104
2-10-12 行—朝向输入/出 104
2-10-13 READ varying指述 104
2-10-14 WRITE varying指述 105
2-11 记录朝向输入/出 106
2-11-1 READ指述 106
2-11-2 WRITE指述 106
2-11-3 含KEY的READ指述 107
2-11-4 含KEYTO的READ指述 107
2-11-5 含KEYFROM的WRITE指述 107
2-12 内设函数 107
2-12-1 算术函数 108
2-12-1-1 ABS 108
2-12-1-2 CEIL 108
2-12-1-3 DIVIDE 108
2-12-1-4 FLOOR 109
2-12-1-5 MAX 109
2-12-1-6 MIN 109
2-12-1-7 MOD 109
2-12-1-8 ROUND 110
2-12-1-9 SIGN 110
2-12-1-10 TRUNC 110
2-12-2 数学函数 111
2-12-2-1 ACOS 111
2-12-2-2 ASIN 112
2-12-2-3 ATAN 112
2-12-2-4 ATAND 112
2-12-2-5 COS 112
2-12-2-6 COSD 113
2-12-2-7 COSH 113
2-12-2-8 EXP 113
2-12-2-9 LOG 113
2-12-2-10 LOG2 114
2-12-2-11 LOG1? 114
2-12-2-12 SIN 114
2-12-2-13 SIND 114
2-12-2-14 SINH 115
2-12-2-15 SQRT 115
2-12-2-16 TAN 115
2-12-2-17 TAND 115
2-12-2-18 TANH 116
2-12-3 字串函数 116
2-12-3-1 BOOL 116
2-12-3-2 COLLATE 117
2-12-3-3 INDEX 117
2-12-3-4 LENGTH 117
2-12-3-5 SUBSTR 117
2-12-3-6 TRANSLATE 118
2-12-3-7 VERIFY 118
2-12-4 转换函数 118
2-12-4-1 ASCII 118
2-12-4-2 BINARY 119
2-12-4-3 BIT 119
2-12-4-4 CHARACTER 119
2-12-4-5 DECIMAL 119
2-12-4-6 DIVIDE 120
2-12-4-7 FIXED 120
2-12-4-8 FLOAT 120
2-12-4-9 RANK 120
2-12-4-10 UNSPEC 121
2-12-5 状况函数 121
2-12-5-1 ONCODE 121
2-12-5-2 0NFILE 121
2-12-5-3 ONKEY 121
2-12-6 杂项函数 122
2-12-6-1 ADDR 122
2-12-6-2 DIMENSION 122
2-12-6-3 HBOUND 122
2-12-6-4 LBOUND 122
2-12-6-5 LINENO 122
2-12-6-6 NULL 123
2-12-6-7 PAGENO 123
第三部份 PL/I-80程式应用指引 126
3-1 PL/I-80输入/出常规 126
3-1-1 OPEN指述 126
3-1-2 PUT LIST指述 130
3-1-3 GET LIST指述 132
3-1-4 PUT EDIT指述 133
3-1-5 GET EDIT指述 135
3-1-6 FORMAT指述 137
3-1-7 WRITE指述 137
3-1-8 READ指述 139
3-2 PL/I-80程式范例 142
3-2-1 多项式求值 142
3-2-2 档案拷贝程式 145
3-2-3 姓名、住址档案处理程式 148
3-2-4 资讯管理系统 153
3-3 标记常数、变数及参数 162
3-4 例外处理 166
3-4-1 ON指述 167
3-4-2 REVERT指述 168
3-4-3 SIGNAL指述 170
3-4-4 ERROR例外 170
3-4-5 定点溢位,溢位,下溢及除以零 172
3-4-6 档案结束 173
3-4-7 ONCODE,ONFILE,ONKEY,PAGENO,and LINENO 174
3-4-8 例外处理的一个例子 175
3-5 字元串处理的应用 180
3-5-1 OPTIMIST程式 180
3-5-2 自由栏扫描器 183
3-6 串列处理的应用 186
3-6-1 字串列的管理 187
3-6-2 网路分析程式 192
3-7 PL/I-80的递归应用 203
3-7-1 阶乘计算式 204
3-7-2 Ackermann函数的计算 210
3-7-3 一算术表示式计算程式 210
3-8 个别编译及连结 218
3-8-1 资料及程式宣告 218
3-8-2 一个别编译的例子 219
3-9 使用PL/I-80来做商业处理 223
3-9-1 十进位及二进位运算的比较 225
3-9-2 PL/I-80的十进位计算 226
3-9-3 加法及减法 228
3-9-4 乘法 231
2-9-5 除法 232
3-9-6 固定十进位及浮动二进位之转换 234
3-9-7 一简单的贷款偿还表 235
3-9-8 一般年金程式 237
3-9-9 格式化的贷款偿还程式 242
3-9-10 货物贬值表的计算 252
附录 265
A ASCⅡ字码表及Escape字元 265
B PL/I-80指述 267
C 资料属性 275
D 图形格式项 279
E 外部程序 285