| incomplete_type_declaration
| private_type_declaration
| private_extension_declaration
type defining_identifier [known_discriminant_part] is type_definition;
| task_type_declaration
| protected_type_declaration
enumeration_type_definition | integer_type_definition
| real_type_definition | array_type_definition
| record_type_definition | access_type_definition
| derived_type_definition
range 1 .. 72
array(1 .. 10) of Integer
type Column is range 1 .. 72;
type Table is array(1 .. 10) of Integer;
subtype defining_identifier is subtype_indication;
range_constraint | digits_constraint | delta_constraint
index_constraint | discriminant_constraint
subtype Red_Blue is Rainbow;
subtype Int is Integer;
subtype Small_Int is Integer range -10 .. 10;
subtype Up_To_K is Column range 1 .. K; -- see 3.2.1
subtype Square is Matrix(1 .. 10, 1 .. 10); -- see 3.6
subtype Male is Person(Sex => M); -- see 3.10.1