第一章 绪言 1
一、IBM PC Pascal 1
Pascal语言 1
二、IBM PC Pascal的扩展 1
2.1编译程序伪指令 2
2.2单元 2
2.3属性 2
2.4超级数组 2
2.5字符串 3
2.6常量值 4
2.7系统实现 4
三、小结 5
第二章 编译Pascal程序的过程 6
一、准备工作 6
二、第一次编译 6
2.1备用主磁盘 6
2.2建立磁盘:PAS1和PAS2 7
2.3建立磁盘:PASCAL.LIB 7
三、开始编译 7
3.1启动编译程序:PAS1 7
3.2继续编译:PAS2 9
3.3连接 10
3.4运行用户程序 12
3.5任选的PAS1命令行 12
3.6任选的PAS2命令行 13
3.7任选的Link命令行 13
3.8编译大型程序 14
3.9编译程序列表 14
3.10链接程序的地址变换表 18
第三章 符号和术语 22
一、Pascal级别 22
1.1元语言 22
1.2标准Pascal 22
1.3扩展Pascal 22
1.4系统Pascal 22
二、语法和词汇 22
2.1 Pascal保留字 23
2.2属性 24
2.3伪指令 24
2.4预先说明的标识符 25
2.5注解 25
2.6分隔符 25
第四章 编译程序命令(元语言) 27
元命令 27
错误条件 29
$BRAVE 30
$DEBUG 30
$ENTRY 31
$ERRORS 31
$GOTO 31
$IF…$THEN…$ELSE…$END 31
$INCLUDE 32
$INCONST 32
$INDEXCK 32
$INITCK 32
$LINE 33
$LINESIZE 33
$LIST 33
$MATHCK 33
$MESSAGE 34
$NILCK 34
$OCODE 34
$PAGE:n 35
$PAGE 35
$PAGEIF 35
$PAGESIZE 35
$PUSH/$POP 35
$RANGECK 36
$RUNTIME 36
$SKIP 36
$STACKCK 36
$SUBTITLE 37
$SYMTAB 37
$TITLE 38
$WARN 38
第五章 标识符和常量 39
一、标识符 39
1.1长度限制 39
1.2作用域 39
二、常量 41
2.1数字常量 41
2.2字符串 43
2.3长字符串 43
2.4常量定义 44
2.5构造常量 44
2.6关于常量的注意事项 45
第六章 数据类型 46
一、数据类型 46
二、IBM Pascal中的数据类型 46
三、简单数据类型 47
3.1基本类型 47
3.2枚举类型 48
3.3子界类型 49
四、构造类型 50
4.1数组 51
4.2记录 55
4.3集合 58
4.4文件 58
五、引用类型 60
5.1指针 60
5.2地址 62
六、过程类型 64
6.1类型的兼容性 64
6.2内部表示法 66
第七章 变量说明及用法 69
变量说明 69
一、属性 69
二、属性的组合规则 72
三、数值说明部分 72
四、数值 73
第八章 表达式 76
一、简单表达式 76
二、布尔表达式 78
三、集合表达式 79
四、其它表达式特性 80
五、函数标志符 81
第九章 语句 83
一、语句标号 83
二、简单语句 83
2.1赋值语句 83
2.2过程语句 84
2.3转移语句 85
2.4空语句 86
2.5 BREAK, CYCLE和RETURN语句 86
三、构造语句 87
3.1复合语句 87
3.2条件语句 88
四、重复语句 89
4.1 WHILE语句 89
4.2 REPEAT语句 89
4.3 FOR语句 90
4.4 WITH语句 91
五、顺序控制运算符 91
第十章 过程和函数 93
一、过程说明和函数说明 93
二、过程首部和函数首部 94
三、函数说明 94
四、数据参数 95
五、数值参数 95
六、引用参数 96
七、过程参数 97
八、内部调用的若干约定 99
第十一章 通用的过程和函数 104
一、预先说明的过程和函数 104
二、动态分配过程 104
三、数据传送过程和函数 106
四、算术函数 108
五、实型函数 109
六、扩展的内部特性 109
七、系统的内部特性 111
八、字符串的内部特性 113
九、可变长字符串专有的内部特性 114
十、STRING或者LSTRING的内部特性 114
十一、库过程和函数 115
第十二章 文件系统 117
一、文件系统 117
二、文件介绍 117
2.1文件结构 117
2.2文件方式 118
三、文件系统的原语 119
四、文本文件的输入和输出 123
五、扩展的I/O特性 129
暂时文件 130
六、其它的文件过程 130
七、首部中的文件变量 133
八、系统I/O特性 133
九、直接(DIRECT)文件 134
第十三章 编译源文件 137
一、程序 137
二、模块 138
三、单元 139
附录A 错误消息一览表 144
一、前端错误 144
前端错误一览表 144
二、后端错误 158
2.1 后端用户错误 158
2.2 后端内部错误 159
三、文件系统错误 159
3.1 单元U错误 160
3.2 Pascal文件系统错误代码 161
四、其它运行时错误 161
4.1 2000.2049内存错误 161
4.2 2050.2099序号算术错误 162
4.3 2100.2149实型算术错误 163
4.4 2150.2199构造类型错误 163
4.5 2000.2999其它错误 164
附录B 文件系统控制块 165
一、文件结构和文件方式 166
二、特殊的特性 167
三、错误处理 169
四、FCB的详细说明 170
五、DOS专用域 173
六、包含FCB的说明 173
七、DOS接口例程 173
八、包含单元U的说明 181
附录C 编译程序的结构 182
一、概述 182
二、前端 182
三、后端 183
附录D 运行时结构 185
一、概述 185
1.1 初始化和终结 186
二、错误处理 188
2.1 机器错误上下文 189
2.2 源错误上下文 190
2.3 堆阵分配(Heap Allocation) 190
2.4 其它运行时模块 191
附录E PASCAL标准和IBM特征 193
一、句法和语法 193
二、数据类型和方式 193
三、操作符和内部过程 194
四、控制流和结构 195
五、I/O和文件 195
六、IBM Pascal和标准Pascal 195
附录F IBM PASCAL的语法 198
一、语法 198
二、原语分类(编译程序扫描部分) 198
三、主分类(编译程序主体) 199