首页 > 国家标准(GB) > GB/T 18221-2000 信息技术 程序设计语言、环境与系统软件借口 独立于语言的数据类型
GB/T 18221-2000

基本信息

标准号: GB/T 18221-2000

中文名称:信息技术 程序设计语言、环境与系统软件借口 独立于语言的数据类型

标准类别:国家标准(GB)

标准状态:现行

发布日期:2000-10-17

实施日期:2001-10-01

出版语种:简体中文

下载格式:.rar.pdf

下载大小:3189669

标准分类号

标准ICS号:信息技术、办公机械设备>>35.060信息技术用语言

中标分类号:电子元器件与信息技术>>信息处理技术>>L74程序语言

关联标准

采标情况:idt ISO/IEC 11404:1996

出版信息

出版社:中国标准出版社

书号:155066.1-17507

页数:104页

标准价格:43.0 元

出版日期:2004-04-16

相关单位信息

首发日期:2000-10-17

复审日期:2004-10-14

起草单位:西安电子科技大学

归口单位:全国信息技术标准化技术委员会

发布部门:国家质量技术监督局

主管部门:国家标准化管理委员会

标准简介

本标准规定了程序设计语言和软件接口中通用的一批数据类型的术语和共享语义,称为独立语言(LI)的数据类型。本标准既规定了其定义无需引用其他数据类型的本原数据类型,也规定了非本原数据类型,而非本原数据类型全部或部分由其他数据类型定义。本标准只的数据类型的规定说明是“独立于语言的”,即所规定的数据类型是数据类型的类,用于程序设计语言和其他需要数据类型概念的实体的实际数据类型是特定的实例。本标准特别区分“数据类型”的三个概念,即:--数据类型的抽象概念,通过名义上的值和性质来描述数据类型的特征;--数据类型的结构概念,把数据类型描述为其组成部分的数据类型及其功能的概念组织;--数据类型的实现概念,通过定义在给定环境中数据类型的表示规则来描述数据类型的特征。本标准定义了许多共同使用的具有原子性的本原和非本原数据类型的抽象概念。本标准并未定义所有的原子数据类型;仅定义了程序设计语言和软件接口中通用的数据类型。本标准为其他非本原数据类型的规格说明定义结构概念,并提出一种手段,通过它可以使用本标准定义的LI数据类型从结构上定义本标准未定义的数据类型。本标准为数据类型的实现概念定义了一部分词汇表,并且提供了在数据类型定义中对词汇表的使用。词汇表的主要目的是标识与数据类型相关的共用实现概念并且与抽象概念区分。对现实概念使用的规格说明已经超出本标准的范围,本标准仅考虑数据类型的标识与区分。本标准规定了LI数据类型和其他语言数据类型之间映射所需的素。本标准未规定映射的精确形式,而规定了映射所需的信息内容。 GB/T 18221-2000 信息技术 程序设计语言、环境与系统软件借口 独立于语言的数据类型 GB/T18221-2000 标准下载解压密码:www.bzxz.net

标准图片预览






标准内容

ICS35.060
中华人民共和国国家标准
GB/T18221—2000
idtIS0/IEC11404:1996
信息技术
软件接口
程序设计语言、环境与系统
独立于语言的数据类型
Information technologyProgramminglanguages,their environmentsand systemsoftware interfaces-Language-independentdatatypes
2000-10-17发布
2001-10-01实施
国家质量技术监督局发布
GB/T18221—2000
iiKAoNiKAca-
本标准等同采用ISO/IEC11404:1996《信息技术程序设计语言、环境与系统软件接口独立于
语言的数据类型》。
为便于理解标准正文,增加了附录H,即词/语法规定中的词汇中英文对照表。本标准的附录A至附录H都是提示的附录。本标准由中华人民共和国信息产业部提出。本标准由中国电子技术标准化研究所归口。本标准起草单位:西安电子科技大学。本标准主要起草人:刘坚、金益民、冯惠。GB/T18221—2000
ISO/IEC前言
ISO(国际标准化组织)和IEC(国际电工委员会)是世界性的标准化专门机构。国家成员体(它们都是ISO或EC的成员国)通过国际组织建立的各个技术委员会参与制定针对特定技术范围的国际标准。ISO和IEC的各技术委员会在共同感兴趣的领域内进行合作。与ISO和EC有联系的其他官方和非官方国际组织也可参与国际标准的制定工作。对于信息技术领域,ISO和IEC建立了一个联合技术委员会ISO/IECJTC1。由联合技术委员会提出的国际标准草案需分发给国家成员体进行表决。发布一项国际标准,至少需要75%的参与表决的国家成员体投票赞同。
国际标准ISO/IEC11404是由ISO/IECJTC1\信息技术”联合技术委员会的SC22\信息技术程序设计语言、环境及系统软件接口”分技术委员会制定的。本标准的附录A到附录G仅提供参考信息。GB/T18221—2000
iiKAoNiKAca
本标准提供独立于语言数据类型的规格说明。本标准定义了一个数据类型集合,该数据类型集合独立于任何特定的程序设计语言的规格说明和实现,它足够丰富·因而任何标准程序设计语言或服务包中共用的数据类型均可映射到此集合中的某种数据类型。本标准的目的是促进不同语言以及与语言相关实体数据类型概念上的通用性与互换性。本标准中规定的每一数据类型均具有区别于其他数据类型的基本特性,并且有助于识别其他标准中的相关(或接近相关的)数据类型。因此,本标准为所有使用概念数据类型的标准提供了单一的公共参考模型。希望每一程序设计语言标准定义一个从该程序设计语言支持的数据类型到本标准所规定的数据类型的映射,语义上使其数据类型与参考模型的数据类型一致,从而与其他程序设计语言的相关类型一致。进一步希望每个程序设计语言标准定义一个从该语言可以合理地支持的独立于语言的(Language-Independent,LI)数据类型到在程序设计语言中可指定的数据类型的映射。同时,本标准与其他应用起,用于定义过程调用参数的“独立于语言的绑定”,过程调用由对每一标准服务的标准接口的主要元素组成。这种服务绑定与语言映射的结果,与独立于语言的过程调用机制一起,导致了下列情况:无需再产生更多的“《语言>对<服务>的绑定”文档,每个服务接口,通过使用LI数据类型定义其参数,有效地定义了这些参数对任何标准程序设计语言的绑定;而每个程序设计语言,通过它把LI数据类型映射到该语言的数据类型,有效定义了该语言到任何标准服务的绑定。I
1范围
中华人民共和国国家标准
信息技术程序设计语言,环境与系统软件接口独立于语言的数据类型InformationtechnologyProgramminglanguages,their environments and systemsoftware interfacesLanguage-independent datatypes
GB/T18221—2000
idtIS0/IEC11404:1996
本标准规定了程序设计语言和软件接口中通用的一批数据类型的术语和共享语义,称为独立于语言(LI)的数据类型。本标准既规定了其定义无需引用其他数据类型的本原数据类型,也规定了非本原数据类型,而非本原数据类型全部或部分由其他数据类型定义。本标准中的数据类型的规格说明是“独立于语言的”,即所规定的数据类型是数据类型的类,用于程序设计语言和其他需要数据类型概念的实体的实际数据类型是特定的实例。本标准特别区分“数据类型”的三个概念,即:一数据类型的抽象概念,通过名义上的值和性质来描述数据类型的特征;一数据类型的结构概念,把数据类型描述为其组成部分的数据类型及其功能的概念组织;一数据类型的实现概念,通过定义在给定环境中数据类型的表示规则来描述数据类型的特征。本标准定义了许多共同使用的具有原子性的本原和非本原数据类型的抽象概念。本标准并未定义所有的原子数据类型;仅定义了程序设计语言和软件接口中通用的数据类型。本标准为其他非本原数据类型的规格说明定义结构概念,并提出一种手段,通过它可以使用本标准定义的LI数据类型从结构上定义本标准未定义的数据类型。本标准为数据类型的实现概念定义了一部分词汇表,并且提供了在数据类型定义中对词汇表的使用。词汇表的主要目的是标识与数据类型相关的共用实现概念并且与抽象概念区分。对实现概念使用的规格说明已经超出本标准的范围,本标准仅考虑数据类型的标识与区分。本标准规定了LI数据类型和其他语言数据类型之间映射所需的元素。本标准未规定映射的精确形式,而规定了映射所需的信息内容。2一致性
一个信息处理的产品、系统、元素或其他实体,可以通过使用本标准中规定的数据类型直接遵循本标准(见2.1),也可以通过实体中所使用的内部数据类型与本标准所规定的数据类型之间的映射间接遵循本标准(见2.2)。
注:本章使用术语信息处理实体来涵盖处理信息并包含着数据类型概念的任何东西。遵循本标准的信息处理实体可以适当地包括其他标准(例如,程序设计语言标准或语言相关设施的标准等)、规格说明、数据处理设施与服务等。
2.1直接一致性
国家质量技术监督局2000-10-17批2001-10-01实施
直接遵循本标准的信息处理实体应:GB/T18221—2000
iiKAoNiKAca-
(1)规定实体提供第8章和第10章中定义的哪些数据类型和数据类型产生器,以及实体提供第9章中所规定的哪些声明机制;
(2)将实体所使用的LI数据类型的值空间定义为与本标准所规定的值空间相同;(3)用本标准第7章至第10章所规定的记法引用这些数据类型;(4)在实体提供运算而不是值的传输与转换这种程度上,定义对LI数据类型的运算,该运算可由本标准规定的特性描述运算(characterizingoperations)导出,或与其一致。注
1本标准为其定义的每个数据类型的值定义表示语法,但是,通常上述之(3)并不要求与该语法一致。对一个数据类型的值与语法的一致性要求仅当值出现在类型说明符中,即值是一个数据类型标识的一部分的情况下才需要。
2上述要求禁止使用本标准中所定义的类型说明符指定任何其他数据类型。尽管推荐使用第8章或第10章中的形式,但对遵循标准的实体中的附加数据类型定义方法没有限制。3要求(4)不需要支持所有特性描述运算,并且允许提供附加运算。目的是在不与本标准中的解释产生冲突的前提下,允许对LI数据类型和产生器附加语义解释。给定该数据类型上的实体提供的运算,仅当一个给定特性描述运算不能实现或无意义时,冲突才会发生。4直接一致性的实体例子有语言定义或接口规格说明,其数据类型及其表示是本标准中定义的。此外,不应排除软件工具或数据类型语法的应用程序包提供的字面支持和定义设施。2.2间接一致性
要求间接遵循本标准的信息处理实体应:(1)提供其内部数据类型与遵循本标准中第11章的规格说明的LI数据类型之间的映射;(2)规定为第8章和第10章中的哪些数据类型提供入映射,为哪些提供出映射,哪些不提供映射。注
1对现有的程序设计语言标准,期望提供间接一致性而不是直接一致性。2间接一致性实体的例子有:语言定义与实现,信息交换规格说明与工具,软件工程工具与接口规格说明,以及其他许多具有数据类型概念及其表示的实体。2.3映射标准一致性
为遵循本标准,一个映射标准在其一致性需求中应包含与本标准一致的需求。注
1设想应有其他规定语言及语言相关标准中的内部数据类型和LI数据类型之间映射的标准与本标准一同使用。这些映射标准应与本标准一致。2这些映射标准可以定义“类属”映射,对给定的内部数据类型,标准规定一个参数化的LI数据类型,其中的参数值既不是从内部数据类型中导出的也不是标准自身所规定的,而是需要映射标准的“用户”或“实现者”规定的。即映射规定一个LI数据类型族而不是一个特定的数据类型,并且要求用户或实现者规定数据类型族中的哪个成员符合映射标准的特殊应用。当语言标准中的内部数据类型自身是参数化时总是需要这样。例如,一个程序设计语言标准可以定义一个数据类型INTEGER并规定一个一致性的处理来实现其整数的范围,因此映射标准可以把此内部数据类型INTEGER映射到如下的LI数据类型:integer range(min..max);
并且需要一个一致性的处理器提供min和max的值。3引用标准
下列标准所包含的条文,通过在本标准中引用而构成为本标准的条文。本标准出版时,所示版本均为有效。所有标准都会被修订,使用本标准的各方应探讨使用下列标准最新版本的可能性。GB/T7408—1994数据元和交换格式信息交换日期和时间表示法(eqVISO8601:1988)GB13000.1一1993信息技术通用多八位编码字符集(UCS)第一部分:体系结构与基本多文2
GB/T18221—2000
种平面(idtISO/IEC10646:1993)GB/T16262一1996信息处理系统开放系统互连抽象语法记法一(ASN.1)规范(idtISO/IEC8824:1990)
ISO/EC138861996信息技术程序设计语言独立于语言的过程调用4定义
本标准采用下列定义。
注:这些定义可能与数学和程序设计语言中定义的相同术语不一致。4.1实参数据类型actualparametricdatatype在使用数据类型产生器时作为参数数据类型出现的数据类型,它与出现在数据类型产生器定义中的形参的类型相对应。
4.2实参值actualparametricvalue在对数据类型族或数据类型产生器的引用中,作为参数值而出现的值,它与出现在相应定义中的形参的值相对应。
4.3聚集数据类型aggregatedatatype一种产生的数据类型,它的每个值均由其成分数据类型的值构成,即对所有成分值的运算均是有意义的。
4.4注解annotation
附属于数据类型,或成分数据类型,或过程(值)上的描述性信息,用以说明和数据类型值相关的表示、变量、或运算的超出本标准范围的方面。4.5近似approximate
数据类型的一种性质,它指明在其概念数据类型的值与该数据类型的合法计算模型的值之间没有一对一的关系。
4.6有界bounded
数据类型的一种性质,既有上界,又有下界。4.7有上界boundedabove
数据类型的一种性质,它指明在值空间中有一个值U,对该值空间中的所有值s,均有s数据类型的一种性质,它指明在值空间中有一个值L,对该值空间中的所有值s,均有L4.10成分数据类型componentdatatype一种数据类型,它是数据类型产生器的参数数据类型,即数据类型产生器对它进行运算的数据类型。
4.11数据类型datatype
一些可区分的值的集合,这种区别由这些值的性质以及对这些值的运算所表征。4.12数据类型声明datatypedeclaration(1)由本标准提供的、用于定义其自身不是由本标准定义的某种LI数据类型的手段;(2)使用此手段的一个实例。
4.13数据类型族datatypefamilyGB/T18221—2000
iiKAoNiKAca-
一组数据类型,它们具有相同的特性描述运算和关系,但是值空间中值的个数和每个值的标志不同。
4.14数据类型产生器datatypegenerator对数据类型的一种运算,如同运算对象区别于它们的值,运算产生新的数据类型。4.15定义的数据类型defineddatatype由类型声明所定义的数据类型。4.16定义的产生器definedgenerator由类型声明所定义的数据类型产生器。4.17精确exact
数据类型的一种性质,指明其概念数据类型的每个值与该数据类型的任何合法计算模型中的其他值均不同。
4.18形参的类型formal-parametric-type出现在数据类型产生器定义中的标识符,对该产生器产生的(定义的)数据类型的任何引用中将用一种LI数据类型替换。
4.19形参的值formal-parametric-value出现在数据类型族或数据类型产生器定义中的标识符,对该数据类型族中或产生器产生的数据类型的任何引用中将用一个值替换。4.20产生的数据类型generateddatatype将数据类型产生器应用于若干已定义的数据类型所定义的数据类型。4.21产生的内部数据类型generatedinternaldatatype将特定程序设计语言中所定义的数据类型产生器应用于若干以前定义的内部数据类型所定义的数据类型。
4.22产生器generator
数据类型产生器。
4.23产生器声明generatordeclaration(1)由本标准提供的、用于定义其自身不是由本标准所定义的数据类型产生器的手段;(2)使用此手段的一个实例。
4.24内部数据类型internaldatatype由其他标准、语言、产品、服务或其他信息处理实体定义其语法与语义的数据类型。4.25入映射inwardmapping
一种程序设计语言的内部数据类型与LI数据类型之间的概念关联,它对每一个LI数据类型,或者分配一个语义等价的内部数据类型,或者没有等价的内部数据类型。4.26LI数据类型LIdatatype
(1)由本标准定义的数据类型,或(2)通过本标准提供的数据类型定义手段所定义的数据类型。4.27下界lowerbound
在一个有下界的数据类型中的值L,且使得对值空间中的所有值s,满足L(数据类型的映射):特定程序设计语言的内部数据类型与本标准规定的(LI)数据类型之间关系的一种形式规格说明;
(值的映射):内部数据类型值与LI数据类型值之间关系的相应规格说明。4.29次序order
值之间的一种数学关系(见6.3.2)。4.30有序的ordered
GB/T18221—2000此内容来自标准下载网
由值空间上有序关系的存在性和该关系的规格说明所确定的数据类型的性质。4.31出映射outwardmapping
程序设计语言内部数据类型与LI数据类型之间的一种概念关联,其每一个内部数据类型都由一个语义等价的LI数据类型来标识。4.32参数数据类型parametricdatatype数据类型产生器作用其上,生成一个产生的数据类型的数据类型。4.33参数值parametricvalue
(1)将数据类型族中的一个成员与其他成员区分开来的一个值,或(2)作为数据类型或由类型声明定义的数据类型产生器的参数的一个值。4.34本原数据类型primitivedatatype可辨认的数据类型,在不丧失其语义的情况下不可再分的数据类型。4.35本原内部数据类型primitiveinternaldatatype特定程序设计语言中的数据类型,其值不能以任何方式从该程序设计语言中其他数据类型的值构造得到。
4.36表示
representation
(LI数据类型的表示):从LI数据类型值空间到计算机系统、文件系统或通信环境中内部数据类型值空间的映射:
(值的表示):值在数据类型表示中的映象。4.37子类型subtype
在保持所有特性描述运算情况下,通过限制值空间到一个子集合的方法而从其他数据类型中导出的数据类型。
4.38上界upperbound
在一个有上界数据类型中的值U,且使得对其值空间中的所有值s,满足s给定数据类型的值集合。
4.40变量variable
一个计算对象,在任何时刻,它与一个特定数据类型的值相关联;而且,在不同时刻,该同一数据类型中的不同值可以与它关联。
5约定
5.1形式语法
本标准定义了形式数据类型规格说明语言。下列源自巴克斯范式的记法用于定义该语言。本章中,标记(mark)一词意指用于定义语法所使用的字符,而字符(character)一词意指在实际的数据类型规格说明语言中所使用的字符。表5-1归纳了语法的元记法。表5-1元记法标记
(双引号)
单引号)
(花括号)
(方括号)
(竖线)
等号)
(句号)
界定一个终结符
界定二个终结符
界定一个重复序列(零次或多次出现)界定一个可选序列(零次或一次出现)界定一个候选序列
分隔非终结符与它的定义
终止一个产生式
GB/T18221—2000
iiKAoNiKAca-
终结符是一个由双引号(\)或单引号()开始并且由相同符号终止的标记序列。终结符表示一个实现字符集中与双引号或单引号所界定的(不包括双引号或单引号)的序列对应的字符序列。非终结符是一个标记序列,其中每个标记或者是一个学母,或者是一个连学符(-标记,且以遇到第一个既不是字母又不是连字符的标记而结束。非终结符表示任何满足此非终结符产生式的终结符序列。每个非终结符仅对应第7、8、9章和第10章中的一个产生式。一个符号序列精确表示一个(或一组)终结符的一次出现,它由序列中每个符号及符号在序列中的位置所表示。
重复序列是一个界定在左花括号标记()和右花括号标记()之间的任何终结符与/或非终结符序列。一个重复序列表示所界定符号序列任何次数的连续出现,包括不出现。可选序列是一个界定在左方括号标记(L)和右方括号标记()之间的任何终结符与/或非终结符序列。一个可选序列表示所界定符号序列的或者恰好一次出现,或者不出现。候选序列是由竖线标记(I)做前导、后边跟随或者是竖线标记或者句号标记(.)的任何终结符与/或非终结符序列。候选序列表示或者是如此界定的符号序列的出现,或者是(第一个)竖线标记之前的符号序列的出现。
产生式定义非终结符所表示的合法符号序列。产生式形式为:非终结符一合法序列。
其中合法序列是由终结符、非终结符、可选序列、重复序列、以及候选序列组成的任一序列。等号标记(一)把要定义的非终结符与表示其定义的合法序列分开。句号标记结束合法序列。5.2正文约定
正文中:
一对终结符语法对象实体的引用,由双引号标记中的终结符组成,例如\type\。一对非终结符语法对象实体的引用由斜体的非终结符组成,例如类型声明。一用与非终结符相同或几乎相同的非斜体字表示语法对象所代表的概念对象。特别地,某某类型表示所有出现的“某某数据类型”的语法表示。6基本概念
6.1数据类型
数据类型是可区分值的一个集合,这些可区分值由他们的性质和对这些值的运算所表征。包含在本标准中的特性描述运算,仅为了标识数据类型。本标准中特性描述运算仅提供参考信息而不具有标准的效果。
注:包含特性描述运算是为了帮助对特定目的(如映射到程序设计语言)数据类型的标识。术语LI数据类型用于指本标准所定义的数据类型。LI数据类型(集)指本标准中定义的部分或全部数据类型。
术语内部数据类型指其语法和语义是由其他标准、语言、产品、服务或其他信息处理实体所定义的数据类型。
注:本标准中的数据类型是“通用”的,这并不是说它们直接由许多语言内置(\built-in\),而是说它们是数据类型的用户中通用而又有用的类属概念,它包括了但是远超出程序设计语言的范畴。6.2值空间
值空间是给定数据类型的值的汇集。给定数据类型的值空间可以下列方式之一进行定义:一全部枚举;
一由基本概念定义,
一定义为某些已定义的、具有给定性质的值空间的子集;一一定义为某些由构造过程所规定的已定义的值空间的任意值的组合。6
GB/T18221—2000
每一个可区分值精确属于一个数据类型,尽管它可以属于该数据类型的许多子类型(见8.2)。6.3数据类型性质
用于本标准的数据类型模型被称为一个“抽象计算模型”。它是“可计算的”,是说它涉及计算机系统的信息操纵,并且为适用于此操纵的信息单元进行分类。它是“抽象的”,是说它涉及信息单元自身的性质,而不涉及它们在计算机系统中的表示的性质。注
1区分数据类型值、值的关系与运算及其在计算机系统中值的表示、关系与运算是很重要的。本标准规定概念数据类型的特性,但仅提供说明数据类型表示特征的手段。2某些计算性质出自于信息单元应是计算机中可表示的这一需求。这类性质注定适用于抽象计算模型,与出自信息单元特定表示性质的纯表示性质相对。3把用于此处的数据类型模型描述为“数学的”是不合适的,因为纯数学模型没有“访问信息单元”或“援引处理元素”等概念,而这些概念对数据类型和数据类型产生器的特性描述运算定义是很重要的。6.3.1相等
每个值空间中有一个相等的概念,使下列规则成立:一一值空间中值的任何两个实例(a,b),或者a等于b,记为a=b,或者a不等于b,记为a≠b;一值空间中不存在值的任何实例对(a,b),使得a=b和a≠b都成立;一对值空间中任何值a,a=a;
一值空间中值的任何两个实例(a,b),a=b当且仅当b=as一值空间中值的任何三个实例(a,b,c),若a一b且b=c,则a一c。对每一种数据类型,运算Equal定义为值空间的相等性质:任何取自值空间的值a,b,若a一b,则Equal(a,b)为真;否则为假。6.3.2次序
若值空间上存在符合下列规则的次序关系,表示为,则称值空间是有序的。值空间中的任何一对值(a,b),或者a若数据类型的值空间上定义了次序关系,则称数据类型是有序的。相应特性描述运算,InOrder定义如下:
值空间中值的任何两个值(a,b),若a若数据类型是有序的,并且值空间中存在值U,使得值空间中所有值s,满足s值空间具有数学的基数概念:它可以是有限的、可数无限的、或不可数无限的。称数据类型具有其值空间上的基数。在概念模型中,存在下列三种情况:7
一值空间有限的数据类型;
GB/T18221—2000
一值空间精确(见6.3.5)并且无限可数的数据类型,iiKAoNiKAca-
一值空间近似(见6.3.5)的数据类型,从而有有限或无限可数的计算模型,虽然概念值空间可能是无限不可数的。
每个概念有限数据类型必须是精确的。没有不可数无限计算数据类型。注:对一个无限可数的值空间,总是存在表示算法,使得没有两个不同的值具有相同的表示,并且任何给定值的表示是有限长的。相反的,在无限不可数的值空间中,总是存在不具有有限表示的值。6.3.5精确与近似
数据类型的计算模型可能限制该数据类型的值可区分的程度。若概念数据类型的值空间中的每个值,在计算模型中与值空间中的任何其他值是可区分的,则称数据类型是精确的。-些具有不存在有限表示方式的值的数学数据类型被称为近似的,是因为如下原因:令M为数学数据类型,C是相应的概念数据类型,并且令P是从M的值空间到C的值空间的映射。则对中的每个值v,M中存在相应的值v和一个实数值h,使得对所有M中具有性质/v一x|若数据类型的值是概念上的量,则称它是数值的。若数据类型的值不具有此性质,则被称为非数值的。
注:数值性质的意义是值的表示依赖于某个基数,但是,可以通过算法,从一个基数转换到另一个基数。6.4本原与非本原数据类型
本标准中,语法习惯上把数据类型分为:一本原数据类型,其定义从头开始,不引用任何其他数据类型;一产生的数据类型,以其他数据类型规定或部分定义的数据类型。此外,本标准标识数据类型的结构与抽象概念。数据类型的结构概念描绘数据类型的特性为:概念上原子的,具有本质上不可分的值:概念上聚集的,其值可被看做具有特定功能的成分数据类型的一个组织。所有本原数据类型是概念上原子的,因而具有并且定义为良定抽象概念。一些产生的数据类型是概念上原子的,但是依赖于引用其他数据类型的规格说明。这些同样以它们的抽象概念定义。许多其他数据类型可以表示概念上原子的对象,但是它们自身是概念上聚集的被组织成一组可访问的成分值。对于聚集数据类型,本标准定义一个基本结构概念(见6.8)集合,可以被递归应用,以产生给定产生的数据类型的值空间。由本标准赋予的唯一抽象语义是那些描绘聚集值结构自身特性的语义。注:数据类型的抽象概念是数据类型自身值的语义,与其表示特定信息单元或特定抽象对象值的使用相对。本标准所提供的抽象与结构概念足以定义两个语言之间论域的角色,但不定义两个程序之间的角色。例如,Fortran和Pascal均支持数组数据类型,因此实数数组在两个语言之间的过程调用中具有充分语义。相比之下,线性算符和笛卡尔指针列表均可由实数数组表示,但实数数组不足以区分它们在程序中的意义。6.5数据类型产生器
数据类型产生器是对一个或多个数据类型的概念运算,它产生一个数据类型。数据类型产生器对些数据类型进行运算以产生一个数据类型,而不是对一些值进行运算而产生一个值。特别地,一个数据8
小提示:此标准内容仅展示完整标准里的部分截取内容,若需要完整标准请到上方自行免费下载完整标准文档。