内 容
前 言
1, 什么是Oberon?
1.1 ALGOL家族
1.2 该系统
2, 第一:程序
2.1 一个符号来描述的语法:
2.2练习
第一部分,符号和基本类型,分配,控制结构,程序过程,模块
3, 标记和基本类型
3.1 Oberon词汇:
3.1.1 标识符
3.1.2 数字
3.1.3 字符常量
3.1.4 字符串
3.1.5 运算符和分隔符
3.1.6 预先声明的标识符
3.1.7 规则的空格和回车
3.2 基本类型
3.2.1 整型SHORTINT,INTGER和LONGINT
3.2.2 实型REAL和长实形LONGREAL
3.2.3 层次结构的NUMERIC数值类型
3.2.4 布尔类型BOOLEAN
3.2.5 类型SET
3.2.6 字符类型CHAR
4, 声明,表达式和赋值语句
4.1 声明
4.1.1 常量的声明
4.1.2 变量声明
4.2 表达式
4.2.1 语法和语义
4.2.2 类型规则
4.2.3 关系
4.2.4 算术表达式
4.2.5 布尔表达式
4.2.6 集表达式
4.2.7 预先说明的功能
4.3 赋值语句
4.3.1 类型规则
4.3.2 正式定义,前置条件和后置条件
4.3.3 语句序列
4.3.4 特殊赋值语句作为预先声明的程序
4.4 总结
4.5 练习
5, 控制结构
5.1 条件语句
5.1.1 IF语句
5.1.2 形式定义语句
5.1.3 CASE语句
5.1.4 正式定义的表
5.2 重复语句
5.2.1 while语句
5.2.2 形式定义语句
5.2.3 重复语句
5.2.4 正式定义的重复语句
5.2.5 LOOP循环语句
5.3 总结
5.4 练习
6, 程序和模块
6.1 程序:一个语句序列
6.2 局部性的概念
6.2.1 范围
6.2.2 嵌套作用域
6.2.3 优势方位
6.3 模块
6.3.1 范围由一个全局变量声明定义模块
6.3.2 模块的语句序列
6.3.3 出口和进口报关单
6.4 功能程序和参数
6.4.1 功能程序标题
6.4.2 形参和返回语句
6.4.3 实际参数,函数调用
6.5 适当的程序
6.5.1 语法,调用语句
6.5.2 值和变量参数
6.6 更多功能的程序
6.6.1 副作用
6.6.2 递归
6.7 编译器的提示
6.8 总结
6.9 练习
7, 输入和输出
7.1 连续的输入和输出,和模块
7.2 图形产量
7.3 分形蕨,完成的例子
7.4 该系统:简短的题外话
7.4.1 命令的执行
7.4.2 文本的作用
7.4.3 模块和输出
7.4.4 模块XY平面
7.5 总结
7.6 练习
第二部分阵列,记录,指针,动态数据,逐步细化,数据抽象
8, 类型声明,数组和记录类型
8.1 类型声明
8.2 阵列
8.2.1 数组类型和数组的声明
8.2.2 数组指示,分配和表达阵列式
8.2.3 参数
8.2.4 开放数组类型
8.2.5 阵列作为一个表
8.2.6 字符串和数组类型的字符
8.3 记录
8.3.1 记录类型和记录的声明
8.3.2 记录指示器,赋值语句和表达式
8.3.3 使用记录
8.4 总结
8.5 练习
9, 动态数据结构和指针类型
9.1 指针
9.1.1 指针类型和指针声明
9.1.2 创建引用指针变量
9.1.3 指针解引用
9.1.4 内存管理
9.2 列表
9.2.1 简单或线性表
9.2.2 FIFO列表
9.3 树
9.3.1 固有的递归程序
9.3.2 搜索树
9.4 其他动态数据结构
9.5 总结
9.6 练习
10,逐步求精和数据抽象
10.1 离散事件仿真一个等待线
10.2 将队列的操作条件为:
10.2.1 数据表示系统状态
10.2.2 第一轮的排队算法的改进
10.3 隐藏的细节
10.3.1 实施模块日历
10.3.2 计算统计:模块的路径
10.4 完成仿真实例
10.5 以上的程序结构和抽象
10.5.1 分解成模块,数据隐藏
10.5.2 模块:实例和抽象数据结构
10.5.3 模块文件:一个抽象数据类型的一个例子
10.5.4 文本的结构和命名
10.6 总结
10.7 练习
第三部分类型的扩展,程序类型,对象定位
11,扩展型和程序记录类型
11.1 扩展
11.1.1 扩展类型声明
11.1.2 记录指示器和作业
11.2 指针,类型的警卫和型式试验指针类型
11.2.1 延伸
11.2.2 静态和动态类型,型后卫,型式试验
11.2.3 语句,区域型后卫
11.3 程序类型
11.3.1 程序类型和程序变量
11.3.2 表达式和赋值语句
11.3.3 调用过程变量
11.3.4 正式参数的程序类型
11.3.4 调用
11.4 总结
11.5 练习
12,面向对象
12.1 通用模块
12.2 异构数据结构
12.3 对象,程序动态绑定
12.4 对象和模块
12.4.1 模块图形
12.4 对象与模型
12.4.1 模块图形
12.4.2 形状特异模块
12.4.3 创造新形象
12.4.4 重新定义动态绑定的程序
12.4.5 总结
12.5 消息处理程序
12.5.1 消息处理程序
12.5.2 消息广播
12.5.3 andlers概论
12.5.4 总结
12.6 结论与展望
12.6.1 两类:对象的比较可以声明为任意类型的面向对象的编程范式
12.7 练习
13,仿真实例
13.1通用模块QS
13.1.1 定义
13.1.2 实施
13.2 面向对象的仿真日历
13.2.1 数据类型和基本模块的结构组成
13.2.2 模块:一个抽象的模拟
13.3 基于仿真模块
13.3.1 数据类型和模块结构
13.3.2 用定义模块站
13.3.3 实施模块站
13.3.4 模块方式实现
13.4 总结
13.5 练习
14,Oberon-2
14.1 型结合的程序
14.1.1 语法和普通语义学
14.1.2 语句
14.2 声明
14.3 开放数组变量
14.4 用表奥伯伦2
14.5 读表口
14.6 小结与讨论
14.7 练习
附录A Oberon编程语言:
A.1 引言
A.2 语法
A.3 的词汇和表达
A.4 声明和范围规则
A.5 常量的声明
A.6 调用类型声明
A.7 变量声明
A.8 表达式
A.9 语句
A.10 程序声明
A.11 模块
A.12 模块系统
附录B ASCII字符集和极值
附录C模块,并XY 平面
索引