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


Скалярные типы - часть 7


/p>

Кроме того, для объекта А дискретного типа определены атрибуты A'SIZE и A'ADDRESS

(см. 13.7.2).

Кроме базовых операции над дискретными типами включают предопределенные операции отношения. Для перечислимых типов операции включают литералы перечисления. Для логических типов операции включают предопределенную унарную логическую операцию отрицания

not

и предопределенные логические операции. Для целых типов операции включают предопределенные

арифметические

операции: унарные и бинарные аддитивные операции - и +, все мультипликативные операции, унарную операцию

abs

и операцию возведения в

степень.

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

Примечание.

Для подтипа дискретного типа переданные атрибутами SUCC, PRED, VAL и VALUE результаты не обязательно принадлежат подтипу; аналогично фактические параметры атрибутов POS, SUCC, PRED и IMAGE не обязаны принадлежать подтипу. Эти атрибуты удовлетворяют (при отсутствии исключения) следующим соотношениям:

T'POS(T'SUCC(X)) = T'POSfX) + 1 T'POS(T'PRED(X)) = T'POS(X) - 1

T'VAL(T'POS(X)) = X T'POS(T'VAL(N)) = N

Примеры:

-- для типов и подтипов, описанных в 3.5.1

-- COLOR'FIRST = WHITE, COLOR'LAST = BLACK -- RAINBOW'FIRST = RED, RAINBOW'LAST = BLUE

-- COLOR'SUCC(BLUE) = RAINBOW'SUCC(BLUE) = BROWN -- COLOR'POS(BLUE) = RAINBOW'POS(BLUE) = 4 -- COLOR'VAL(O) = RAINBOW'VAL(O) = WHITE

Ссылки:

атрибут 4.1.4, базовая операция 3.3.3, базовый тип 3.3, бинарная аддитивная операция 4.5, 4.5.3, граница диапазона 3.5, графический символ 2.1, дискретный тип 3.5, идентификатор 2.3, исключение CONSTRAINT_ERROR 11.1, квалифицированное выражение 4.7, литерал перечисления 3.5.1, логическая операция 4.5, 4.5.1, логический тип 3.5.3, мультипликативная операция 4.5, 4.5.5, номер позиции 3.5, объект 3.2, ограничение 3.3, операция 3.3, операция возведения в степень 4.5, 4.5.6, операция отношения 4.5, 4.5.2, операция отрицания 4.5, 4.5.6, операция управления с промежуточной проверкой 4.5, 4.5.1, подтип 3.3, предопределенная операция 4.5, предопределенный тип С, преобразование 4.6, присваивание 5.2, проверка принадлежности 4.5, 4.5.2, символьный литерал 2.5, строковый тип 3.6.3, тип 3.3, тип универсальный целый 3.5.4, унарная аддитивная операция 4.5, 4.5.4, универсальный тип 4.10, функция 6.5, целый тип 3.5.4, числовой литерал 2.4, числовой тип 3.3.




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