Справочное руководство по языку Ада-83


Именуемые типы


Объект именуемого типа (запись) — это составной объект, состоящий из именованных компонент. Значение записи — составное значение, состоящее из значений своих компонент.

определение-именуемого-типа::= record

список-компонент end record

список_компонент::= описание_компоненты {описание_компоненты} |{ описание_компоненты} раздел_вариантов | null;

описание_компоненты ::= список_идентификаторов : определение_подтипа_компоненты [:= выражение]; определение_подтипа_компоненты ::= указание_подтипа

Каждое описание компоненты задает компоненту именуемого типа. Кроме этих компонент в компоненты именуемого типа включаются любые компоненты, описанные спецификациями дискриминантов описания именуемого типа. Идентификаторы всех компонент именуемого типа должны быть различными. Использование имени, обозначающего компоненту записи, отличную от дискриминанта, недопустимо в определении именуемого типа, который описывает эту компоненту.

Описание компоненты с несколькими идентификаторами эквивалентно последовательности единичных описаний компонент, как пояснено в разд. 3.2. Каждое единичное описание компоненты объявляет компоненту записи, подтип которой задан определением подтипа компоненты.

Если описание компоненты включает составной ограничитель присваивания, за которым следует выражение, то это выражение является выражением по умолчанию компоненты записи; выражение по умолчанию должно иметь тип компоненты. Выражения по умолчанию недопустимы для компонент лимитируемого типа.

Если именуемый тип не имеет раздела дискриминантов, то одни и те же компоненты присутствуют во всех значениях этого типа. Если список компонент именуемого типа определен зарезервированным словом

null

и раздел дискриминантов отсутствует, то именуемый тип не имеет компонент и все записи этого типа — пустые записи.

Предвыполнение определения именуемого типа создает именуемый тип; оно состоит из предвыполнения соответствующих (единичных) описаний компонент в порядке их следования, включая описания компонент в разделе вариантов.




Начало  Назад  Вперед