ISO/IEC 11404:2007
(Main)Information technology - General-Purpose Datatypes (GPD)
Information technology - General-Purpose Datatypes (GPD)
ISO/IEC 11404:2007 specifies the nomenclature and shared semantics for a collection of datatypes commonly occurring in programming languages and software interfaces, referred to as the General-Purpose Datatypes (GPD). It specifies both primitive datatypes, in the sense of being defined ab initio without reference to other datatypes, and non-primitive datatypes, in the sense of being wholly or partly defined in terms of other datatypes. The specification of datatypes in ISO/IEC 11404:2007 is "general-purpose" in the sense that the datatypes specified are classes of datatype of which the actual datatypes used in programming languages and other entities requiring the concept "datatype" are particular instances. These datatypes are general in nature; thus, they serve a wide variety of information processing applications. ISO/IEC 11404:2007 expressly distinguishes three notions of datatype: the conceptual, or abstract, notion of a datatype, which characterizes the datatype by its nominal values and properties; the structural notion of a datatype, which characterizes the datatype as a conceptual organization of specific component datatypes with specific functionalities; and the implementation notion of a datatype, which characterizes the datatype by defining the rules for representation of the datatype in a given environment. ISO/IEC 11404:2007 defines the abstract notions of many commonly used primitive and non-primitive datatypes which possess the structural notion of atomicity. ISO/IEC 11404:2007 does not define all atomic datatypes; it defines only those which are common in programming languages and software interfaces. ISO/IEC 11404:2007 defines structural notions for the specification of other non-primitive datatypes, and provides a means by which datatypes not defined herein can be defined structurally in terms of the GPDs defined herein. ISO/IEC 11404:2007 defines a partial terminology for implementation notions of datatypes and provides for the use of this terminology in the definition of datatypes. The primary purpose of this terminology is to identify common implementation notions associated with datatypes and to distinguish them from conceptual notions. ISO/IEC 11404:2007 specifies the required elements of mappings between the GPDs and the datatypes of some other language. ISO/IEC 11404:2007 does not specify the precise form of a mapping, but rather the required information content of a mapping.
Technologies de l'information — Types de données à but général (GPD)
General Information
- Status
- Published
- Publication Date
- 05-Dec-2007
- Technical Committee
- ISO/IEC JTC 1/SC 32 - Data management and interchange
- Drafting Committee
- ISO/IEC JTC 1/SC 32/WG 2 - MetaData
- Current Stage
- 9092 - International Standard to be revised
- Start Date
- 04-Jul-2022
- Completion Date
- 30-Oct-2025
Relations
- Effective Date
- 15-Apr-2008
Overview
ISO/IEC 11404:2007 - Information technology: General-Purpose Datatypes (GPD) - defines a shared nomenclature and semantics for a set of datatypes commonly used across programming languages and software interfaces. The standard specifies both primitive datatypes (defined ab initio) and non‑primitive datatypes (defined in terms of other datatypes), and it formalizes three complementary notions of datatype: conceptual (abstract), structural, and implementation. ISO/IEC 11404:2007 enables consistent datatype descriptions, supports structural construction of new datatypes from GPDs, and prescribes the required information content for mappings between GPDs and language- or platform-specific datatypes.
Key topics and technical requirements
- Datatype taxonomy: Definitions of primitive and non-primitive datatypes commonly found in programming languages and interfaces.
- Three notions of datatype:
- Abstract (conceptual) - value spaces and properties;
- Structural - composition from component datatypes;
- Implementation - representation rules in a given environment.
- Datatype properties: Equality, ordering, bounds, cardinality, numeric vs. non-numeric, exact/approximate.
- Aggregate datatypes: Records, classes, sets, bags, sequences, arrays, tables - with rules for homogeneity, size, uniqueness, ordering and access methods.
- Generated datatypes and generators: Choice, pointer, procedure, and other generators for building complex types.
- Specification language elements: Lexical conventions, identifiers, literals, annotations, declarations (type, value, termination), and normative datatype declaration forms.
- Mappings and conformance: The standard specifies required elements of a mapping between GPDs and another language’s datatypes (information content required), and defines conformance types (direct, indirect, mapping-standard conformance, and GPD program conformance).
- Extensibility: Mechanisms to define datatypes structurally in terms of the GPDs and to declare subtypes, ranges, and extensions.
Applications
- Creating language‑neutral API contracts and interface specifications for cross‑platform systems.
- Defining consistent datatype vocabularies for middleware, data interchange, and protocol design.
- Assisting compiler and tool vendors in mapping language-specific types to a common conceptual model.
- Supporting system integrators and architects who need precise datatype semantics for interoperability and validation.
Who should use it
- Standards bodies, API architects, language designers, compiler/tool implementers, middleware developers, and systems engineers focused on datatype interoperability, interface specification, and formal datatype mapping.
Related standards
- ISO/IEC 11404 complements other ISO/IEC standards addressing programming languages, data interchange, and interface description; use it as the canonical GPD vocabulary when documenting or mapping datatypes across technologies.
Frequently Asked Questions
ISO/IEC 11404:2007 is a standard published by the International Organization for Standardization (ISO). Its full title is "Information technology - General-Purpose Datatypes (GPD)". This standard covers: ISO/IEC 11404:2007 specifies the nomenclature and shared semantics for a collection of datatypes commonly occurring in programming languages and software interfaces, referred to as the General-Purpose Datatypes (GPD). It specifies both primitive datatypes, in the sense of being defined ab initio without reference to other datatypes, and non-primitive datatypes, in the sense of being wholly or partly defined in terms of other datatypes. The specification of datatypes in ISO/IEC 11404:2007 is "general-purpose" in the sense that the datatypes specified are classes of datatype of which the actual datatypes used in programming languages and other entities requiring the concept "datatype" are particular instances. These datatypes are general in nature; thus, they serve a wide variety of information processing applications. ISO/IEC 11404:2007 expressly distinguishes three notions of datatype: the conceptual, or abstract, notion of a datatype, which characterizes the datatype by its nominal values and properties; the structural notion of a datatype, which characterizes the datatype as a conceptual organization of specific component datatypes with specific functionalities; and the implementation notion of a datatype, which characterizes the datatype by defining the rules for representation of the datatype in a given environment. ISO/IEC 11404:2007 defines the abstract notions of many commonly used primitive and non-primitive datatypes which possess the structural notion of atomicity. ISO/IEC 11404:2007 does not define all atomic datatypes; it defines only those which are common in programming languages and software interfaces. ISO/IEC 11404:2007 defines structural notions for the specification of other non-primitive datatypes, and provides a means by which datatypes not defined herein can be defined structurally in terms of the GPDs defined herein. ISO/IEC 11404:2007 defines a partial terminology for implementation notions of datatypes and provides for the use of this terminology in the definition of datatypes. The primary purpose of this terminology is to identify common implementation notions associated with datatypes and to distinguish them from conceptual notions. ISO/IEC 11404:2007 specifies the required elements of mappings between the GPDs and the datatypes of some other language. ISO/IEC 11404:2007 does not specify the precise form of a mapping, but rather the required information content of a mapping.
ISO/IEC 11404:2007 specifies the nomenclature and shared semantics for a collection of datatypes commonly occurring in programming languages and software interfaces, referred to as the General-Purpose Datatypes (GPD). It specifies both primitive datatypes, in the sense of being defined ab initio without reference to other datatypes, and non-primitive datatypes, in the sense of being wholly or partly defined in terms of other datatypes. The specification of datatypes in ISO/IEC 11404:2007 is "general-purpose" in the sense that the datatypes specified are classes of datatype of which the actual datatypes used in programming languages and other entities requiring the concept "datatype" are particular instances. These datatypes are general in nature; thus, they serve a wide variety of information processing applications. ISO/IEC 11404:2007 expressly distinguishes three notions of datatype: the conceptual, or abstract, notion of a datatype, which characterizes the datatype by its nominal values and properties; the structural notion of a datatype, which characterizes the datatype as a conceptual organization of specific component datatypes with specific functionalities; and the implementation notion of a datatype, which characterizes the datatype by defining the rules for representation of the datatype in a given environment. ISO/IEC 11404:2007 defines the abstract notions of many commonly used primitive and non-primitive datatypes which possess the structural notion of atomicity. ISO/IEC 11404:2007 does not define all atomic datatypes; it defines only those which are common in programming languages and software interfaces. ISO/IEC 11404:2007 defines structural notions for the specification of other non-primitive datatypes, and provides a means by which datatypes not defined herein can be defined structurally in terms of the GPDs defined herein. ISO/IEC 11404:2007 defines a partial terminology for implementation notions of datatypes and provides for the use of this terminology in the definition of datatypes. The primary purpose of this terminology is to identify common implementation notions associated with datatypes and to distinguish them from conceptual notions. ISO/IEC 11404:2007 specifies the required elements of mappings between the GPDs and the datatypes of some other language. ISO/IEC 11404:2007 does not specify the precise form of a mapping, but rather the required information content of a mapping.
ISO/IEC 11404:2007 is classified under the following ICS (International Classification for Standards) categories: 35.060 - Languages used in information technology. The ICS classification helps identify the subject area and facilitates finding related standards.
ISO/IEC 11404:2007 has the following relationships with other standards: It is inter standard links to ISO/IEC 11404:1996. Understanding these relationships helps ensure you are using the most current and applicable version of the standard.
You can purchase ISO/IEC 11404:2007 directly from iTeh Standards. The document is available in PDF format and is delivered instantly after payment. Add the standard to your cart and complete the secure checkout process. iTeh Standards is an authorized distributor of ISO standards.
Standards Content (Sample)
INTERNATIONAL ISO/IEC
STANDARD 11404
Second edition
2007-12-15
Information technology — General-
Purpose Datatypes (GPD)
Technologies de l'information — Types de données
Reference number
©
ISO/IEC 2007
PDF disclaimer
This PDF file may contain embedded typefaces. In accordance with Adobe's licensing policy, this file may be printed or viewed but
shall not be edited unless the typefaces which are embedded are licensed to and installed on the computer performing the editing. In
downloading this file, parties accept therein the responsibility of not infringing Adobe's licensing policy. The ISO Central Secretariat
accepts no liability in this area.
Adobe is a trademark of Adobe Systems Incorporated.
Details of the software products used to create this PDF file can be found in the General Info relative to the file; the PDF-creation
parameters were optimized for printing. Every care has been taken to ensure that the file is suitable for use by ISO member bodies. In
the unlikely event that a problem relating to it is found, please inform the Central Secretariat at the address given below.
© ISO/IEC 2007
All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized in any form or by any means,
electronic or mechanical, including photocopying and microfilm, without permission in writing from either ISO at the address below or
ISO's member body in the country of the requester.
ISO copyright office
Case postale 56 • CH-1211 Geneva 20
Tel. + 41 22 749 01 11
Fax + 41 22 749 09 47
E-mail copyright@iso.org
Web www.iso.org
Published in Switzerland
ii © ISO/IEC 2007 – All rights reserved
Contents Page
Foreword. vi
0 Introduction. vii
1 Scope .1
2 Normative references .1
3 Terms and definitions .2
4 Conformance.8
4.1 Direct conformance .8
4.2 Indirect conformance .9
4.3 Conformance of a mapping standard.9
4.4 GPD program conformance.10
5 Conventions used in this International Standard.10
5.1 Formal syntax.10
5.2 Text conventions .11
6 Fundamental notions .11
6.1 Datatype.11
6.2 Value space .12
6.3 Datatype properties .12
6.3.1 Equality .13
6.3.2 Order .13
6.3.3 Bound.13
6.3.4 Cardinality .14
6.3.5 Exact and approximate .14
6.3.6 Numeric.14
6.4 Primitive and non-primitive datatypes .15
6.5 Datatype generator .15
6.6 Characterizing operations .15
6.7 Datatype families .16
6.8 Aggregate datatypes .17
6.8.1 Homogeneity .17
6.8.2 Size.17
6.8.3 Uniqueness.17
6.8.4 Aggregate-imposed identifier uniqueness.18
6.8.5 Aggregate-imposed ordering .18
6.8.6 Access method .18
6.8.7 Recursive structure .19
6.8.8 Structured and unstructured .19
6.8.9 Mandatory and optional components.19
6.9 Provisions associated with datatypes.19
7 Elements of the Datatype Specification Language .21
7.1 IDN character-set .21
7.2 Whitespace .22
7.3 Lexical objects .23
7.3.1 Identifiers.23
7.3.2 Digit-string.23
7.3.3 Character-literal and string-literal.23
7.3.4 Keywords.24
7.4 Annotations .24
7.5 Values .25
© ISO/IEC 2007 – All rights reserved iii
7.5.1 Independent values. 25
7.5.2 Dependent values . 26
7.6 GPD program text . 27
8 Datatypes . 27
8.1 Primitive datatypes . 28
8.1.1 Boolean . 29
8.1.2 State. 30
8.1.3 Enumerated. 31
8.1.4 Character. 32
8.1.5 Ordinal. 33
8.1.6 Date-and-Time . 34
8.1.7 Integer . 35
8.1.8 Rational . 36
8.1.9 Scaled. 37
8.1.10 Real. 38
8.1.11 Complex . 40
8.1.12 Void. 41
8.2 Subtypes and extended types . 42
8.2.1 Range . 43
8.2.2 Selecting . 43
8.2.3 Excluding . 44
8.2.4 Size . 44
8.2.5 Explicit subtypes. 45
8.2.6 Extended . 45
8.3 Generated datatypes. 46
8.3.1 Choice . 47
8.3.2 Pointer . 49
8.3.3 Procedure. 50
8.4 Aggregate Datatypes . 53
8.4.1 Record . 55
8.4.2 Class. 56
8.4.3 Set. 58
8.4.4 Bag. 59
8.4.5 Sequence . 60
8.4.6 Array . 61
8.4.7 Table. 64
8.5 Defined datatypes . 66
8.6 Provisions. 66
8.6.1 General parameters for provisions . 67
8.6.2 Aggregate-specific features. 70
8.6.3 Aggregate-component-identifier uniqueness . 70
8.6.4 Usage-specific features. 71
9 Declarations. 72
9.1 Type declarations. 72
9.1.1 Renaming declarations. 73
9.1.2 New datatype declarations. 73
9.1.3 New generator declarations. 73
9.2 Value declarations . 73
9.3 Termination declarations . 74
9.4 Normative datatype declarations . 74
9.5 Lexical operations. 74
9.5.1 Import . 74
9.5.2 Macro. 75
10 Defined datatypes and generators . 75
10.1 Defined datatypes . 75
10.1.1 Natural number. 76
10.1.2 Modulo. 76
10.1.3 Bit. 77
iv © ISO/IEC 2007 – All rights reserved
10.1.4 Bit string .77
10.1.5 Character string .77
10.1.6 Time interval.79
10.1.7 Octet.79
10.1.8 Octet string.79
10.1.9 Private .80
10.1.10 Object identifier.80
10.2 Defined generators .82
10.2.1 Stack .82
10.2.2 Tree .83
10.2.3 Optional .83
11 Mappings .84
11.1 Outward Mappings.85
11.2 Inward Mappings.86
11.3 Reverse Inward Mapping .87
11.4 Support of Datatypes .87
11.4.1 Support of equality .87
11.4.2 Support of order.88
11.4.3 Support of bounds.88
11.4.4 Support of cardinality.88
11.4.5 Support for the exact or approximate property.88
11.4.6 Support for the numeric property .88
11.4.7 Support for the mandatory components.88
Annex A (informative) Character-set standards.89
Annex B (informative) Recommendation for the placement of annotations.91
Annex C (informative) Implementation notions of datatypes .93
Bibliography .96
© ISO/IEC 2007 – All rights reserved v
Foreword
ISO (the International Organization for Standardization) and IEC (the International Electrotechnical
Commission) form the specialized system for worldwide standardization. National bodies that are members of
ISO or IEC participate in the development of International Standards through technical committees
established by the respective organization to deal with particular fields of technical activity. ISO and IEC
technical committees collaborate in fields of mutual interest. Other international organizations, governmental
and non-governmental, in liaison with ISO and IEC, also take part in the work. In the field of information
technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1.
International Standards are drafted in accordance with the rules given in the ISO/IEC Directives, Part 2.
The main task of the joint technical committee is to prepare International Standards. Draft International
Standards adopted by the joint technical committee are circulated to national bodies for voting. Publication as
an International Standard requires approval by at least 75 % of the national bodies casting a vote.
Attention is drawn to the possibility that some of the elements of this document may be the subject of patent
rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights.
ISO/IEC 11404 was prepared by Joint Technical Committee ISO/IEC JTC 1, Information technology,
Subcommittee SC 22, Programming languages, their environments and system software interfaces.
This second edition cancels and replaces the first edition (ISO/IEC 11404:1996), which has been technically
revised.
vi © ISO/IEC 2007 – All rights reserved
0 Introduction
0.1 Introduction to the second edition
This second edition of ISO/IEC 11404 incorporates recent technologies and improvements since the first
edition (ISO/IEC 11404:1996). The following improvements have been incorporated into the second edition.
⎯ Title change to reflect actual usage. The use of ISO/IEC 11404 is no longer simply a tool for
communicating among programming languages (old title: Language-independent datatypes).
ISO/IEC 11404 is used for formal description of conceptual datatypes in binding (or binding-independent)
standards and used as formalization of metadata for data elements, data element concepts, and value
domains (see ISO/IEC 11179-3). The old title was potentially misleading because readers might believe
that ISO/IEC 11404 is only useful for programming languages. The new title, General-Purpose Datatypes
captures the essence of ISO/IEC 11404 and its use.
⎯ Incorporation of latest technologies. Provide enhancements to the use of ISO/IEC 11404 as a datatype
nomenclature reference for current programming languages, interface languages and data representation
languages, specifically Java, IDL, Express, and XML.
⎯ Support for semi-structured and unstructured data aggregates. Semi-structured data and unstructured
data includes aggregates where datatyping and navigation may be unknown or unspecified in advance.
For example, some systems permit “discovery” (or “introspection”) of data. In some cases, the datatype
may be unknown in advance (e.g. at compilation time), but may be discovered and processed at runtime
(e.g. via datatype libraries or metadata registries).
⎯ Support for data longevity, versioning, and migration. There is a need to support, from a datatyping
perspective, obsolete and reserved features, such as data elements and permissible values
(enumerations and states). Marking features as “obsolete” allows processing, compilation, and runtime
systems to “flag” or diagnose old (deprecated) features, while still maintaining compatibility, so that it is
possible to support transitions from past to present. Similarly, marking features as “reserved” allows
processing, compilation, and runtime systems to “flag” or diagnose potential incompatibilities with future
systems, so that it is possible to support transitions from present to future.
⎯ Extensibility of datatypes and value spaces. There is a need to support some kind of extensibility concept.
For example: (1) a GPD specification of an aggregate contains the elements A and B. (2) An application
creates an aggregate with the elements A, B, and C. (3) Are the application's “extensions” of the
aggregate acceptable/in conformity with the GPD specification in (1)? The answer to (3) is dependent
upon the intent and design of the specification in (1): in some cases extensions are permitted, in some
cases extensions are not permitted. The extensibility concept would allow the user of GPD datatypes to
describe the kind of extensions permitted. This feature is particularly important in (a) data conformance
and (b) application runtime environments that permit “discovery” or “introspection”. This feature is
available via the “provision()” capability.
Features that are not incorporated within GPD include the following:
⎯ Namespace capability. Given the larger number of declarations, a namespace capability is necessary.
⎯ Data representation. Although these features are a part of GPD annotations, there is no standardization of
data representation in these annotations. This step is an important link for data interoperability.
© ISO/IEC 2007 – All rights reserved vii
0.2 Introduction to the first edition (ISO/IEC 11404:1996)
Many specifications of software services and applications libraries are, or are in the process of becoming,
International Standards. The interfaces to these libraries are often described by defining the form of reference,
e.g. the “procedure call”, to each of the separate functions or services in the library, as it must appear in a
user program written in some standard programming language (Fortran, COBOL, Pascal, etc.). Such an
interface specification is commonly referred to as the “ binding of ”, e.g. the “Fortran
binding of PHIGS” (ISO/IEC 9593-1:1990, Information processing systems — Computer graphics —
Programmer’s Hierarchical Interactive Graphics System (PHIGS) language bindings — Part 1: FORTRAN).
This approach leads directly to a situation in which the standardization of a new service library immediately
requires the standardization of the interface bindings to every standard programming language whose users
might reasonably be expected to use the service, and the standardization of a new programming language
immediately requires the standardization of the interface binding to every standard service package which
users of that language might reasonably be expected to use. To avoid this n-to-m binding problem,
ISO/IEC JTC 1, Information technology assigned to SC 22 the task of developing an International Standard for
language-independent procedure calling and a parallel International Standard for language-independent
datatypes, which could be used to describe the parameters to such procedures.
This International Standard provides the specification for the language-independent datatypes. It defines a set
of datatypes, independent of any particular programming language specification or implementation, that is rich
enough so that any common datatype in a standard programming language or service package can be
mapped to some datatype in the set.
The purpose of this International Standard is to facilitate commonality and interchange of datatype notions, at
the conceptual level, among different languages and language-related entities. Each datatype specified in this
International Standard has a certain basic set of properties sufficient to set it apart from the others and to
facilitate identification of the corresponding (or nearest corresponding) datatype to be found in other
standards. Hence, this International Standard provides a single common reference model for all standards
which use the concept datatype. It is expected that each programming language standard will define a
mapping from the datatypes supported by that programming language into the datatypes specified herein,
semantically identifying its datatypes with datatypes of the reference model, and thereby with corresponding
datatypes in other programming languages.
It is further expected that each programming language standard will define a mapping from those language-
independent (LI) datatypes which that language can reasonably support into datatypes which may be
specified in the programming language. At the same time, this International Standard will be used, among
other applications, to define a “language-independent binding” of the parameters to the procedure calls
constituting the principal elements of the standard interface to each of the standard services. The production
of such service bindings and language mappings leads, in cooperation with the parallel language-independent
procedure calling mechanism, to a situation in which no further “ binding of ” documents
need to be produced: Each service interface, by defining its parameters using LI datatypes, effectively defines
the binding of such parameters to any standard programming language; and each language, by its mapping
from the LI datatypes into the language datatypes, effectively defines the binding to that language of
parameters to any of the standard services.
viii © ISO/IEC 2007 – All rights reserved
INTERNATIONAL STANDARD ISO/IEC 11404:2007(E)
Information technology — General-Purpose Datatypes (GPD)
1 Scope
This International Standard specifies the nomenclature and shared semantics for a collection of datatypes
commonly occurring in programming languages and software interfaces, referred to as the General-Purpose
Datatypes (GPD). It specifies both primitive datatypes, in the sense of being defined ab initio without reference
to other datatypes, and non-primitive datatypes, in the sense of being wholly or partly defined in terms of other
datatypes. The specification of datatypes in this International Standard is “general-purpose” in the sense that
the datatypes specified are classes of datatype of which the actual datatypes used in programming languages
and other entities requiring the concept “datatype” are particular instances. These datatypes are general in
nature; thus, they serve a wide variety of information processing applications.
This International Standard expressly distinguishes three notions of datatype:
⎯ the conceptual, or abstract, notion of a datatype, which characterizes the datatype by its nominal values
and properties;
⎯ the structural notion of a datatype, which characterizes the datatype as a conceptual organization of
specific component datatypes with specific functionalities; and
⎯ the implementation notion of a datatype, which characterizes the datatype by defining the rules for
representation of the datatype in a given environment.
This International Standard defines the abstract notions of many commonly used primitive and non-primitive
datatypes which possess the structural notion of atomicity. This International Standard does not define all
atomic datatypes; it defines only those which are common in programming languages and software interfaces.
This International Standard defines structural notions for the specification of other non-primitive datatypes,
and provides a means by which datatypes not defined herein can be defined structurally in terms of the GPDs
defined herein.
This International Standard defines a partial terminology for implementation notions of datatypes and provides
for the use of this terminology in the definition of datatypes. The primary purpose of this terminology is to
identify common implementation notions associated with datatypes and to distinguish them from conceptual
notions.
This International Standard specifies the required elements of mappings between the GPDs and the datatypes
of some other language. This International Standard does not specify the precise form of a mapping, but
rather the required information content of a mapping.
2 Normative references
The following referenced documents are indispensable for the application of this document. For dated
references, only the edition cited applies. For undated references, the latest edition of the referenced
document (including any amendments) applies.
ISO/IEC 8601, Data elements and interchange formats — Information interchange — Representation of dates
and times
ISO/IEC 8824 (all parts), Information technology — Abstract Syntax Notation One (ASN.1)
© ISO/IEC 2007 – All rights reserved 1
ISO/IEC 10646, Information technology — Universal Multiple-Octet Coded Character Set (UCS)
ISO/IEC 14977, Information technology — Syntactic metalanguage — Extended BNF
IETF RFC 2396, Uniform Resource Identifiers (URI): Generic Syntax
3 Terms and definitions
For the purposes of this document, the following terms and definitions apply.
NOTE These definitions might not coincide with accepted mathematical or programming language definitions of the
same terms.
3.1
actual parametric datatype
datatype appearing as a parametric datatype in a use of a datatype generator, in contrast to the formal-
parametric-types appearing in the definition of the datatype generator
3.2
actual parametric value
value appearing as a parametric value in a reference to a datatype family or datatype generator, in contrast to
the formal-parametric-values appearing in the corresponding definitions
3.3
aggregate datatype
generated datatype each of whose values is made up of values of the component datatypes, in the sense that
operations on all component values are meaningful
3.4
annotation
descriptive information unit attached to a datatype, or a component of a datatype, or a procedure (value), to
characterize some aspect of the representations, variables, or operations associated with values of the
datatype
3.5
approximate
property of a datatype indicating that there is not a 1-to-1 relationship between values of the conceptual
datatype and the values of a valid computational model of the datatype
3.6
bounded
property of a datatype, meaning both bounded above and bounded below
3.7
bounded above
property of a datatype indicating that there is a value U in the value space such that, for all values s in the
value space, s≤U
3.8
bounded below
property of a datatype indicating that there is a value L in the value space such that, for all values s in the
value space, s≥ L
2 © ISO/IEC 2007 – All rights reserved
3.9
characterizing operations
1)
〈datatype〉 collection of operations on, or yielding, values of the datatype that distinguish this datatype from
other datatypes with identical value spaces
3.10
characterizing operations
〈datatype generator〉 collection of operations on, or yielding, values of any datatype resulting from an
application of the datatype generator that distinguish this datatype generator from other datatype generators
and produce identical value spaces from identical parametric datatypes
3.11
component datatype
datatype which is a parametric datatype to a datatype generator
NOTE A component datatype is a datatype on which the datatype generator operates.
3.12
datatype
set of distinct values, characterized by properties of those values, and by operations on those values
3.13
datatype declaration
means provided by this International Standard for the definition of a datatype which is not itself defined by this
International Standard
3.14
datatype family
collection of datatypes which have equivalent characterizing operations and relationships, but value spaces
that differ in the number and identification of the individual values
3.15
datatype generator
generator
operation on datatypes, as objects distinct from their values, that generates new datatypes
3.16
defined datatype
datatype defined by a type-declaration
3.17
defined generator
datatype generator defined by a type-declaration
3.18
exact
property of a datatype indicating that every value of the conceptual datatype is distinct from all others in any
valid computational model of the datatype
3.19
formal-parametric-type
identifier, appearing in the definition of a datatype generator, for which a datatype will be substituted in any
reference to a (defined) datatype resulting from the generator
1) Angle brackets indicate the subject field to which the concept belongs, in accordance with ISO 10241.
© ISO/IEC 2007 – All rights reserved 3
3.20
formal-parametric-value
identifier, appearing in the definition of a datatype family or datatype generator, for which a value will be
substituted in any reference to a (defined) datatype in the family or resulting from the generator
3.21
general-purpose datatype
GPD
datatype defined by this International Standard
3.22
GPD-generated datatype
GPD datatype
datatype defined by the means of datatype definition provided by this International Standard
NOTE Although “GPD datatype” expands to “general-purpose datatype datatype” and might appear redundant, it is to
be read as “general-purpose-datatype datatype”, where GPD is an adjective and datatype (standalone) is a noun.
3.23
generated datatype
datatype defined by the application of a datatype generator to one or more previously-defined datatypes
3.24
generated internal datatype
datatype defined by the application of a datatype generator defined in a particular programming language to
one or more previously-defined internal datatypes
3.25
generator declaration
means provided by this International Standard for the definition of a datatype generator which is not itself
defined by this International Standard
3.26
instruction
provision that conveys an action to be performed
[ISO/IEC Guide 2]
3.27
internal datatype
datatype whose syntax and semantics are defined by some other standard, specification, language, product,
service or other information processing entity
3.28
inward mapping
conceptual association between the internal datatypes of a language and the general-purpose datatypes
which assigns to each general-purpose datatype either a single semantically equivalent internal datatype or
no equivalent internal datatype
3.29
lower bound
value L such that, for all values s in the value space in a datatype which is bounded below,L≤ s
3.30
mandatory requirement
requirement of a normative document that must necessarily be fulfilled in order to comply with that document
NOTE 1 Adapted from the definition of “exclusive requirement” in ISO/IEC Guide 2.
NOTE 2 A “mandatory requirement” is also known as an “exclusive requirement”.
4 © ISO/IEC 2007 – All rights reserved
3.31
mapping
〈datatypes〉 formal specification of the relationship between the internal datatypes that are notions of, and
specifiable in, a particular programming language and the general-purpose datatypes specified in this
International Standard
3.32
mapping
〈values〉 corresponding specification of the relationships between values of the internal datatypes and values
of the general-purpose datatypes
3.33
meta-identifier
name of a non-terminal symbol
[ISO/IEC 14977]
NOTE See note in 5.1 concerning the context of the specialized usage of this term for describing the syntax of
ISO/IEC 11404 program text.
3.34
non-terminal symbol
〈EBNF〉 syntactic part of the language being defined
[ISO/IEC 14977]
NOTE See note in 5.1 concerning the context of the specialized usage of this term.
3.35
normative datatype
collection of specifications for datatype properties that may be simultaneously satisfied by more than one
actual datatype
3.36
normative document
document that provides rules, guidelines or characteristics for activities or their results
[ISO/IEC Guide 2]
NOTE 1 The term “normative document” is a generic term that covers such documents as standards and technical
specifications.
NOTE 2 A “document” is to be understood as any medium with information recorded on or in it, such as a paper
document or program code.
3.37
optional requirement
requirement of a normative document that must be fulfilled in order to comply with a particular option permitted
by that document
[ISO/IEC Guide 2]
NOTE An optional requirement may be either (1) one of two or more alternative requirements; or (2) an additional
requirement that must be fulfilled only if applicable and that may otherwise be disregarded.
3.38
order
mathematical relationship among values
NOTE See 6.3.2.
© ISO/IEC 2007 – All rights reserved 5
3.39
ordered
property of a datatype which is determined by the existence and specification of an order relationship on its
value space
3.40
outward mapping
conceptual association between the internal datatypes of a language and the general-purpose datatypes that
identifies each internal datatype with a single semantically equivalent general-purpose datatype
3.41
parametric datatype
datatype on which a datatype generator operates to produce a generated datatype
3.42
parametric value (1)
value which distinguishes one member of a datatype family from another
3.43
parametric value (2)
value which is a parameter of a datatype or datatype generator defined by a type-declaration
NOTE See 9.1.
3.44
primitive datatype
identifiable datatype that canno
...
ISO/IEC 11404:2007は、プログラミング言語やソフトウェアインターフェースでよく使用されるデータ型のコレクションである一般目的データ型(GPD)の名称と共有セマンティクスを定義しています。この規格は、他のデータ型を参照せずに初めから定義される原始データ型と、他のデータ型に基づいて部分的または完全に定義される非原始データ型の両方を指定します。ISO/IEC 11404:2007でのデータ型の指定は「一般目的」という意味であり、指定されたデータ型はプログラミング言語や「データ型」という概念を必要とする他のエンティティで使用される実際のデータ型の特定のインスタンスです。これらのデータ型は一般的な性質を持ち、さまざまな情報処理アプリケーションに使用されます。ISO/IEC 11404:2007では、データ型の具体的な値とプロパティによってデータ型を特徴付ける抽象的なデータ型の概念を明確に区別しています。データ型を特定の構成要素データ型と特定の機能を持つ概念的な構成として特徴付ける構造的データ型の概念です。データ型を特定の環境での表現規則によって特徴付ける実装データ型です。ISO/IEC 11404:2007は、一般的に使用される原始および非原始データ型の抽象的な概念を定義しています。ISO/IEC 11404:2007はすべての原子データ型を定義していませんが、プログラミング言語やソフトウェアインターフェースで一般的なデータ型のみを定義しています。非原始データ型の仕様のための構造的概念を定義し、ここで定義されていないデータ型をGPDで構造的に定義する手段を提供します。ISO/IEC 11404:2007は、データ型の実装の概念に関する用語の一部を定義し、この用語をデータ型の定義に使用することを可能にします。この用語の主な目的は、データ型に関連する共通の実装の概念を特定し、それらを概念的な概念と区別することです。ISO/IEC 11404:2007は、GPDと他の言語のデータ型との間のマッピングの必要な要素を指定します。ただし、この標準はマッピングの具体的な形式を規定せず、マッピングの必要な情報内容を指定します。
ISO/IEC 11404:2007는 프로그래밍 언어와 소프트웨어 인터페이스에서 자주 사용되는 데이터 유형 모음인 일반목적 데이터 유형(GPD)의 명칭과 공유 의미를 지정합니다. 이 표준은 다른 데이터 유형을 참조하지 않고 처음부터 정의되는 원시 데이터 유형과 다른 데이터 유형을 일부 또는 전체적으로 다른 데이터 유형을 기준으로 정의되는 비원시 데이터 유형을 모두 지정합니다. ISO/IEC 11404:2007에서 데이터 유형의 지정은 "일반적인 목적"으로 이루어지며, 지정된 데이터 유형은 프로그래밍 언어 및 기타 "데이터 유형" 개념을 필요로하는 개체에서 사용되는 실제 데이터 유형의 특정 인스턴스입니다. 이러한 데이터 유형들은 일반적으로 다양한 정보 처리 응용에 사용됩니다. ISO/IEC 11404:2007에서는 데이터 유형의 세 가지 개념을 명확히 구분합니다: 개념적 또는 추상적 데이터 유형을 정의하는 것으로, 명칭 값 및 속성에 의해 데이터 유형을 특성화합니다. 구조적 데이터 유형은 특정 구성 요소 데이터 유형 및 특정 기능을 가진 개념적 구성으로 데이터 유형을 특성화합니다. 구현 데이터 유형은 특정 환경에서 데이터 유형의 표현 규칙을 정의함으로써 데이터 유형을 특성화합니다. ISO/IEC 11404:2007는 원시 및 비원시 데이터 유형의 추상 개념을 정의하며, 이러한 데이터 유형은 핵심성을 가지고 있습니다. ISO/IEC 11404:2007에서는 모든 원자 데이터 유형을 정의하지 않으며, 프로그래밍 언어 및 소프트웨어 인터페이스에서 일반적인 데이터 유형만 정의합니다. 비원시 데이터 유형의 명세에 대한 구조적 개념을 정의하고, 여기에서 정의되지 않은 데이터 유형을 GPD로 정의할 수 있는 수단을 제공합니다. ISO/IEC 11404:2007는 데이터 유형의 구현 개념에 대한 일부 용어를 정의하고, 이 용어를 데이터 유형의 정의에 사용할 수 있도록 합니다. 이 용어의 주요 목적은 데이터 유형과 관련된 일반적인 구현 개념을 식별하고 개념적 개념과 구분하는 것입니다. ISO/IEC 11404:2007는 GPD와 다른 언어의 데이터 유형 간의 매핑 필요 요소를 지정합니다. 그러나 이 표준은 매핑의 정확한 형식을 명시하지 않고, 매핑의 필요한 정보 내용을 지정합니다.
ISO/IEC 11404:2007 is a standard that defines a collection of datatypes commonly used in programming languages and software interfaces. It includes both primitive datatypes that are defined from scratch, and non-primitive datatypes that are defined in terms of other datatypes. The specification is "general-purpose" because it covers a wide range of information processing applications. The standard distinguishes three notions of datatype: conceptual, structural, and implementation. It defines abstract notions for commonly used datatypes and provides a way to define other datatypes structurally. It also defines terminology for implementation notions of datatypes and specifies the required elements of mappings between the defined datatypes and datatypes of other languages. The standard does not prescribe the exact form of a mapping, but rather the necessary information content of a mapping.
本記事では、ISO/IEC 11404:2007について説明されています。これは、プログラミング言語やソフトウェアインタフェースで一般的に使用されるデータ型の命名規則と共有セマンティクスを規定しています。これをGeneral-Purpose Datatypes (GPD)と呼びます。この規格では、プリミティブなデータ型(他のデータ型に依存せずに定義される)と非プリミティブなデータ型(他のデータ型と関連して定義される)の両方を指定しています。ISO/IEC 11404:2007で指定されたデータ型は一般的なものであり、さまざまな情報処理アプリケーションに使用することができます。この規格では、データ型の概念的または抽象的概念、データ型の名義値と属性によって特徴付けられるもの、データ型を特定の構成要素データ型の概念的な組織として特徴付けるもの、および特定の環境でのデータ型の表現規則を定義する実装の概念の3つの概念を明確に区別しています。ISO/IEC 11404:2007は、一部の一般的なプリミティブおよび非プリミティブなアトミックデータ型の抽象的な概念を定義していますが、すべてのアトミックデータ型を定義しているわけではありません。この規格ではプログラミング言語やソフトウェアインタフェースで一般的なデータ型のみを定義しています。また、ここで定義されていないデータ型をGPDを使用して構造的に定義する手段を提供しています。ISO/IEC 11404:2007は、データ型の実装の概念の一部の用語を定義し、これをデータ型の定義で使用するためのものです。この用語の主な目的は、データ型に関連する一般的な実装の概念を特定し、それらを概念的な概念と区別することです。ISO/IEC 11404:2007は、GPDと他の言語のデータ型とのマッピングに必要な要素を指定しています。ただし、マッピングの具体的な形式を指定しているわけではなく、必要な情報の内容を指定しています。
The article discusses ISO/IEC 11404:2007, which is a standard that specifies the naming and shared meaning of a collection of datatypes known as General-Purpose Datatypes (GPD). These datatypes are commonly used in programming languages and software interfaces. The standard defines both primitive datatypes, which are defined independently, and non-primitive datatypes, which are defined in relation to other datatypes. The datatypes specified in ISO/IEC 11404:2007 are general in nature and can be used in a wide range of information processing applications. The standard distinguishes between three notions of datatype: conceptual, structural, and implementation. It defines the abstract concepts of many commonly used primitive and non-primitive atomic datatypes, but not all atomic datatypes. For those not defined, it provides a means to define them structurally using the GPDs defined in the standard. The standard also includes terminology for implementation notions of datatypes and specifies the required elements of mappings between the GPDs and datatypes in other languages. However, it does not specify the exact form of a mapping, only the necessary information that should be included.
ISO/IEC 11404:2007은 프로그래밍 언어와 소프트웨어 인터페이스에서 자주 발생하는 데이터 유형의 명명법과 공유 의미를 지정합니다. 이를 General-Purpose DataTypes (GPD)라고합니다. 이 표준은 독립적으로 정의된 원시 데이터 유형과 다른 데이터 유형과 관련하여 정의된 비 원시 데이터 유형 양쪽을 지정합니다. ISO/IEC 11404:2007에서 지정된 데이터 유형은 일반적인 용도로 간주되며, 여러 정보 처리 응용 프로그램에 사용됩니다. ISO/IEC 11404:2007은 자료형의 개념적 또는 추상적인 개념을 데이터 유형의 이름 값과 속성에 의하여 특성화 된 것, 데이터 유형을 특정 구체적인 구성 요소 데이터 유형의 개념적 조직으로 특성화 된 것으로서, 구조 개념, 그리고 특정 환경에서 데이터 유형의 표현 규칙을 정의하는 구현 개념이라는 3가지 개념을 분명히 구별합니다. ISO/IEC 11404:2007은 구조 개념 대부분의 널리 사용되는 원시 및 비 원시 데이터 유형의 추상 개념을 정의하지만 모든 원자 데이터 유형을 정의하지 않습니다. 이는 프로그래밍 언어와 소프트웨어 인터페이스에서 흔한 데이터 유형만을 정의합니다. ISO/IEC 11404:2007은 다른 비 원시 데이터 유형의 명세를 위한 구조적인 개념을 정의하고, 이 중에서 여기서 정의하지 않은 데이터 유형이 GPD로 정의된 것과 구조적으로 정의될 수 있도록 수단을 제공합니다. ISO/IEC 11404:2007은 데이터 유형의 구현 개념의 부분 용어를 정의하고, 이를 데이터 유형의 정의에서 사용할 수 있도록 합니다. 이 용어의 주요 목적은 데이터 유형과 관련된 일반적인 구현 용어를 식별하고 이를 개념적인 개념과 구분하는 것입니다. ISO/IEC 11404:2007은 GPD와 다른 언어의 데이터 유형 간의 매핑에 필요한 요소를 지정합니다. 그러나 정확한 매핑 형식을 지정하지는 않고, 매핑에 포함해야하는 필수 정보를 지정합니다.










Questions, Comments and Discussion
Ask us and Technical Secretary will try to provide an answer. You can facilitate discussion about the standard in here.
Loading comments...