Welcome to the NetCologne GmbH open source mirroring service!

This machine mirrors various open-source projects and has 4 Gbit/s uplink.

If there are any issues or you want another project mirrored, please contact mirror-service -=AT=- netcologne DOT de !

Chapter 4. Types, Subtypes, and Declarations

Chapter 4. Types, Subtypes, and Declarations

Table of Contents

4.1. Type Declarations
4.2. Subtype Declarations
4.3. Scalar Types
4.3.1. Enumeration Types
4.3.2. Integer Types
4.4. Array Types
4.5. Record Types

This chapter specifies the syntax and semantics of types and subtypes.

4.1. Type Declarations

Type Declarations
[33]Type_Declaration::= type Name is Type_Definition ;  
[34]Type_Definition::= Integer_Type_Definition | Enumeration_Type_Definition  

Type declarations create new types

4.2. Subtype Declarations

Subtype Declarations
[35]Subtype_Indication::= Name [ Subtype_Constraint ]  
[36]Subtype_Constraint::= Range_Constraint  
[37]Range_Constraint::= range Range  

4.3. Scalar Types

[38]Range::= Expression .. Expression | Range_Attribute_Mark  

4.3.1. Enumeration Types

Enumeration Type Definition
[39]Enumeration_Type_Definition::= ( Enumeration_Literal { , Enumeration_Literal } )  
[40]Enumeration_Literal::= Identifier | Input_Character  

4.3.2. Integer Types

Integer Type Definition
[41]Integer_Type_Definition::= Signed_Integer_Type_Definition | Unsigned_Integer_Type_Definition  
[42]Signed_Integer_Type_Definition::= range Expression .. Expression  
[43]Unsigned_Integer_Type_Definition::= mod Expression  

4.4. Array Types

Array Type Definition
[44]Array_Type_Definition::= Constrained_Array_Type_Definition | Unconstrained_Array_Type_Definition  
[45]Constrained_Array_Type_Definition::= array ( Discrete_Subtype_Definition { , Discrete_Subtype_Definition } ) of Name  
[46]Discrete_Subtype_Definition::= Subtype_Indication Range  
[47]Unconstrained_Array_Type_Definition::= array ( Name range <> { , Name range <> } ) of Name  

4.5. Record Types

Record Type Definition
[48]Record_Type_Definition::= record Record_Component_Definition ; { Record_Component_Definition ; } end record  
[49]Record_Component_Definition::= Identifier : Subtype_Indication