record
component_list
end record
| null record
component_item {component_item}
| {component_item} variant_part
| null;
defining_identifier_list : component_definition [:= default_expression];
record
Day : Integer range 1 .. 31;
Month : Month_Name;
Year : Integer range 0 .. 4000;
end record;
record
Re : Real := 0.0;
Im : Real := 0.0;
end record;
A, B, C : Complex;
case discriminant_direct_name is
variant
{variant}
end case;
when discrete_choice_list =>
component_list
type State is (Open, Closed);
record
Status : State;
case Unit is
when Printer =>
Line_Count : Integer range 1 .. Page_Size;
when others =>
Cylinder : Cylinder_Index;
Track : Track_Number;
end case;
end record;
subtype Disk_Unit is Peripheral(Disk);
Archive : Disk_Unit;