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


Типы и подтипы - часть 3


Типы, созданные в результате предвыполнения различных определений, являются различными. Более того, Предвыполнение определения типа для числовых или производных типов' создает как базовый тип, так и подтип базового типа; то же самое выполняется для определения ограниченного индексируемого типа (одной из двух форм определения индексируемого типа).

Простое имя в полном описании типа обозначает описанный тип, если только описание типа не объявляет базовый тип и подтип базового типа; в этом случае простое имя обозначает подтип, а базовый тип является анонимным. Тип называется анонимным, если он не имеет простого имени. Для наглядности в этом стандарте время от времени используется псевдоимя анонимного типа, написанное курсивом, там, где обычно по синтаксису требуется идентификатор.

Примеры определений типов:

(WHITE, RED, YELLOW, GREEN, BLUE. BROWN, BLACK)

range 1 .. 72

array

(1 .. 10)

of

INTEGER

Примеры описаний типов:

type

COLOR

is

(WHITE, RED, YELLOW, GREEN, BLUE. BROWN, BLACK):

type

COLUMN

is range

1 .. 72;

type

TABLE

is array

(1 .. 10)

of

INTEGER;

Примечание.

Два определения типа всегда определяют два различных типа, даже если они текстуально идентичны. Таким образом, данные ниже описания А и В задают различные индексируемые типы:

А :

array

(1 .. 10)

of

BOOLEAN;

В :

array

(1 .. 10)

of

BOOLEAN;

Если А и В описаны в групповом описании объектов, то их типы (анонимные) тем не менее различны, так как это групповое описание объектов эквивалентно двум приведенным выше единичным описаниям.

А, В :

array

(1 .. 10)

of

BOOLEAN;

Неполные описания типов используются для определения рекурсивных и взаимосвязанных типов (см. 3.8.1). Описания личных типов используются в спецификациях пакетов и в описаниях параметров настройки .(см. 7.4 и 12.1).

Ссыпки:

базовый тип 3.3, групповое описание объектов 3.2, зарезервированное слово 2.9, идентификатор 2.3, неполное описание типа 3.8.1, ограниченный подтип 3.3, описание 3.1, описание личного типа 7.4, определение вещественного типа 3.5.6, определение индексируемого ограниченного типа 3.6, определение индексируемого типа 3.6, определение перечислимого типа 3.5.1, определение производного типа 3.4, определение ссылочного типа 3.8, определение целого типа 3.5.4, Предвыполнение 3.9, производный тип 3.4, раздел дискриминантов 3.7.1, тип 3.3, числовой тип 3.5.




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



Книжный магазин