令 第三部分:第13章编译单元 第13章编译单元 本章介绍 Visual Prolog编译单元的有关内容,包括接口、类声明、类实 现、各种类型转换、条件编译、异常处理、预处理程序指令等。 个程序由若干编译单元组成。编译器分别编译这些编译单元。编译的 结果是一个个目标文件。这些目标文件(可能还有其它文件)连接在 起形成项目的目标文件。一个程序必须确实包含一个目标段,它是程序 的入口点。 在一个单元中所有的引用名被声明或被定义的情况下,一个编译单元必 须自包含。在几个编译单元中可以包括接口定义和类声明(定义或声明 必须在包含它们的所有单元内一致)。然而类实现(定义)只能在一个 单独的单元中被定义。每个被声明的项也必须在项目中被定义,但是一 些项可以在程序库中定义,就是说它们不需要文本定义。 2004.113 A|程序设计
第三部分:第13章 编译单元 2004.11.3 AI程序设计 1 第13章 编译单元 本章介绍Visual Prolog编译单元的有关内容,包括接口、类声明、类实 现、各种类型转换、条件编译、异常处理、预处理程序指令等。 一个程序由若干编译单元组成。编译器分别编译这些编译单元。编译的 结果是一个个目标文件。这些目标文件(可能还有其它文件)连接在一 起形成项目的目标文件。一个程序必须确实包含一个目标段,它是程序 的入口点。 在一个单元中所有的引用名被声明或被定义的情况下,一个编译单元必 须自包含。在几个编译单元中可以包括接口定义和类声明(定义或声明 必须在包含它们的所有单元内一致)。 然而类实现(定义)只能在一个 单独的单元中被定义。每个被声明的项也必须在项目中被定义,但是一 些项可以在程序库中定义,就是说它们不需要文本定义
令 第三部分:第13章编译单元 第13章编译单元 个编译单元(可能用# include指令构成)是编译数据项的序列 compilationunit: compilationItem-list-opt 个编译数据项是一个接口、类声明、类实现、目标段,或者是在条件 编译中所说的一个有条件的编译数据项。 compilationitem conditionalitem interfaceDefinition classDeclaration classImplementation goa section 2004.113 A|程序设计
第三部分:第13章 编译单元 2004.11.3 AI程序设计 2 第13章 编译单元 一个编译单元(可能用#include指令构成)是编译数据项的序列。 compilationUnit : compilationItem-list-opt 一个编译数据项是一个接口、类声明、类实现、目标段,或者是在条件 编译中所说的一个有条件的编译数据项。 compilationItem : conditionalItem interfaceDefinition classDeclaration classImplementation goalSection
令 第三部分:第13章编译单元 第13章编译单元 13,1接口 132类声明 13.3类实现 134类型转换 13.5条件编译 13.6异常处理 13.7预处理程序指令 本章小结 本章习题 2004.113 A|程序设计
第三部分:第13章 编译单元 2004.11.3 AI程序设计 3 第13章 编译单元 13.1 接口 13.2 类声明 13.3 类实现 13.4 类型转换 13.5 条件编译 13.6 异常处理 13.7 预处理程序指令 本章小结 本章习题
第三部分:第13章编译单元 13.1接口 本节介绍Vsua| Prolog的接囗的有关概 念,内容包括接口的基本概念、接口于对象、 开放限定( Open Qualification)、支持限 定( Support Qualification)等。 2004.113 A|程序设计
第三部分:第13章 编译单元 2004.11.3 AI程序设计 4 本节介绍Visual Prolog的接口的有关概 念,内容包括接口的基本概念、接口于对象、 开放限定(Open Qualification)、支持限 定(Support Qualification)等。 13.1 接口
第三部分:第13章编译单元 13.1.1接口的基本概念 个接口定义定义了一个命名的对象类型。接口可以支持 其它接口。详细内容参见支持限定 在接口中声明的所有谓词都是接口类型对象的对象成员。 接口也是一个全局作用域,在其中可以定义常量和论域。 这样,在一个接口中被定义的常量和论域不是该接口指示的 类型的一部分(或具有该类型的对象)。 这样的论域和常量可以通过限定接口名 interface: constant或使用开放限定由其它作用域引用 2004.113 A|程序设计
第三部分:第13章 编译单元 2004.11.3 AI程序设计 5 13.1.1 接口的基本概念 一个接口定义定义了一个命名的对象类型。接口可以支持 其它接口。详细内容参见支持限定。 在接口中声明的所有谓词都是接口类型对象的对象成员。 接口也是一个全局作用域,在其中可以定义常量和论域。 这样,在一个接口中被定义的常量和论域不是该接口指示的 类型的一部分(或具有该类型的对象)。 这 样 的 论 域 和 常 量 可 以 通 过 限 定 接 口 名 interface::constant或使用开放限定由其它作用域引用