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


Приложение a атрибуты, предопределенные в языке


P'ADDRESS

Префикс Р обозначает объект, программный модуль, метку или вход. Вырабатывает адрес первого кванта памяти, отведенной под Р. Для подпрограммы, пакета, задачи или метки это значение ссылается на машинный код, связанный с соответствующим телом или оператором. Для входа, для которого задан спецификатор адреса, это значение ссылается на соответствующее аппаратное прерывание. Значение этого атрибута имеет предопределенный в пакете SYSTEM тип ADDRESS (см. 13.7.2).

P'AFT

Префикс Р обозначает фиксированный подтип. Вырабатывает число десятичных цифр после точки, необходимых для обеспечения точности подтипа Р, если только атрибут DELTA подтипа Р не превышает 0.1, в этом случае атрибут вырабатывает значение единицы. (P'AFT — это наименьшее положительное число N, для которого (10 ** N)*P' DELTA больше или равно 1.) Значение этого атрибута имеет

универсальный-целый

тип (см. 3.5.10).

P'BASE

Префикс Р обозначает тип или подтип. Этот атрибут обозначает базовый тип Р и может быть только префиксом имени другого атрибута, например P'BASE'FIRST (см. 3.3.3).

P'CALLABLE

Префикс Р — это объект задачного типа. Вырабатывает значение FALSE, когда выполнение задачи Р либо закончено, либо завершено, либо задача находится в аварийном состоянии. В остальных случаях вырабатывает значение TRUE. Значение этого атрибута имеет предопределенный тип BOOLEAN (см. 9.9).

P'CONSTRAINED

Префикс Р обозначает объект некоторого типа с дискриминантами. Вырабатывает значение TRUE, если ограничение дискриминантов наложено на объект Р или если объект — константа (включая формальный параметр или формальный параметр настройки вида in). В остальных случаях вырабатывает значение FALSE. Если Р — формальный параметр настройки вида in out или если Р — формальный параметр вида in out или out, а обозначение типа, заданное в соответствующей спецификации параметра, обозначает неограниченный тип с дискриминантами, то значение этого атрибута получается из значения атрибута соответствующего фактического параметра. Значение атрибута имеет предопределенный тип BOOLEAN (см. 3.7.4).

P'CONSTRAINED

Префикс Р обозначает личный тип или подтип. Вырабатывает значение FALSE, если Р обозначает неограниченный неформальный личный тип с дискриминантами; вырабатывает это же значение, если Р обозначает настраиваемый формальный личный тип, а соответствующий фактический подтип — это либо неограниченный тип с дискриминантами, либо неограниченный индексируемый тип. В остальных случаях вырабатывается значение TRUE. Значение этого атрибута имеет предопределенный тип BOOLEAN (см. 7.4.2).

P'COUNT

Префикс Р обозначает вход задачи. Вырабатывает число вызовов входа, присутствующих в очереди этого входа, (если атрибут вычисляется внутри оператора принятия входа Р, то в это число не входит вызывающая задача). Значение этого атрибута имеет

универсальный-целый

тип (см. 9.9).

Р'DELTA

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

универсальный-вещественный

тип (см. 3.5.10)

P'DIGITS

Префикс Р обозначает плавающий подтип. Вырабатывает число десятичных цифр в десятичной мантиссе модельных чисел подтипа Р. (Этот атрибут вырабатывает число D, определенное в разд. 3.5.7.) Значение этого атрибута имеет

универсальный-целый

тип (см. 3.5.8).

P'EMAX

Префикс Р обозначает плавающий подтип. Вырабатывает наибольшее значение порядка двоичной канонической формы модельных чисел подтипа Р. (Этот атрибут вырабатывает произведение 4*В.) Значение этого атрибута имеет

универсальный-целый

тип (см. 3.5.8).

P'EPSILON

Префикс Р обозначает плавающий подтип. Вырабатывает абсолютное значение разности между модельным числом 1.0 и следующим модельным числом подтипа Р. Значение этого атрибута имеет

универсальный-вещественный

тип (см. 3.5.8).

P'FIRST

Префикс Р обозначает скалярный тип или подтип скалярного типа. Вырабатывает значение нижней границы Р. Значение этого атрибута имеет тип Р (см. 3.5).

P'FIRST

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает значение нижней границы диапазона первого индекса. Значение этого атрибута имеет тот же тип, что и тип значения нижней границы (см. 3.6.2 и 3.8.2).

P'FIRST(N)

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает значение нижней границы диапазона N-го индекса. Значение этого атрибута имеет тот же тип, что и указанная нижняя граница. Аргумент N должен быть статическим выражением типа

универсальный-целый.

Значение N должно быть положительным (ненулевым) и не превосходить размерности массива (см. 3.6.2 и 3.8.2).

P'FIRST_BIT

Префикс Р обозначает компоненту записи. Вырабатывает величину смещения первого бита относительно начала первого кванта памяти, занимаемой этой компонентой. Величина смещения измеряется числом битов. Значение этого атрибута имеет тип

универсальный-целый

(см. 13.7.2).

P'FORE

Префикс Р обозначает фиксированный подтип. Вырабатывает минимальное число символов, необходимых для десятичного представления целой части любого значения подтипа Р в предположении, что это представление не включает порядок, но включает односимвольный префикс, который является либо знаком минус, либо пробелом. (Это минимальное число не учитывает предшествующие нули и символы подчеркивания и по меньшей мере равно двум.) Значение этого атрибута имеет

универсальный-целый

тип (см. 3.5.10).

P'IMAGE(X)

Префикс Р обозначает дискретный тип или подтип. Этот атрибут представляет собой функцию с одним параметром. Фактический параметр Х должен быть значением базового типа Р. Тип результата — предопределенный тип STRING. Результат представляет собой образ значения X, т. е. последовательность символов, представляющих изображение значения. Образу целого значения соответствуют десятичный литерал без символов подчеркивания, предшествующих нулей, порядка и последующих пробелов, но с одним символом слева, который представляет собой либо минус, либо пробел. Образом литерала перечисления является либо соответствующий идентификатор из прописных букв, либо соответствующий символьный литерал (включая два апострофа) без предшествующих и последующих пробелов. Образ символа, отличного от графического, определяется реализацией (см. 3.5.5).

P'LARGE

Префикс Р обозначает вещественный подтип. Вырабатывает наибольшее положительное модельное число подтипа Р. Значение этого атрибута имеет

универсальный-вещественный

тип (см. 3.5.8 и 3.5.10).

P'LAST

Префикс Р обозначает скалярный тип или подтип скалярного типа. Вырабатывает значение верхней границы Р. Значение этого атрибута имеет тип Р (см. 3.5).

P'LAST

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает значение верхней границы диапазона первого индекса. Значение атрибута имеет тип верхней границы (см. 3.6.2 и 3.8.2).

P'LAST(N)

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает значение верхней границы диапазона N-го индекса. Значение этого атрибута имеет тот же тип, что и верхняя граница. Аргумент N должен быть статическим выражением типа

универсальный-целый.

Значение N должно быть положительным (ненулевым) и не превышать размерности массива (см. 3.6.2 и 3.8.2).

P'LAST_BIT

Префикс Р обозначает компоненту записи. Вырабатывает величину смещения последнего бита относительно первого кванта памяти, занимаемой этой компонентой. Величина смещения измеряется числом битов. Значение атрибута имеет тип

универсальный-целый

(см. 13.7.2).

P'LENGTH

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает число значений диапазона первого индекса (нуль для пустого диапазона). Значение этого атрибута имеет

универсальный-целый

тип (см. 3.6.2).

P'LENGTH(N)

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает число значений в диапазоне N-го индекса (нуль для пустого диапазона). Значение этого атрибута имеет

универсальный-целый

тип. Аргумент N должен быть статическим выражением типа

универсальный-целый.

Значение N должно быть положительным (ненулевым) и не должно превышать размерности массива (см. 3.6.2 и 3.8.2).

P'MACHINE_EMAX

Префикс Р обозначает плавающий тип или подтип. Вырабатывает наибольшее значение

порядка

машинного представления базового типа Р. Значение этого атрибута имеет

универсальный-целый

тип (см. 13.7.3).

P'MACHINE_EMIN

Префикс Р обозначает плавающий тип или подтип. Вырабатывает наименьшее (наибольшее по модулю отрицательное) значение

порядка

машинного представления базового типа Р. Значение этого атрибута имеет

универсальный-целый

тип (см. 13.7.3).

P'MACHINE_MANTISSA

Префикс Р обозначает плавающий тип или подтип. Вырабатывает число цифр в

мантиссе

машинного представления базового типа Р (цифры являются расширенными цифрами из диапазона 0 . . P'MACHINE_RADIX - 1). Значение этого атрибута имеет

универсальный-целый

тип (см. 13.7.3).

P'MACHINE_OVERFLOWS

Префикс Р обозначает вещественный тип или подтип. Вырабатывает значение TRUE, если каждая предопределенная операция над значениями базового типа Р либо возвращает точный результат, либо возбуждение исключения NUMERIC_ERROR при переполнении. В противном случае вырабатывает значение FALSE. Значение этого атрибута имеет предопределенный тип BOOLEAN (см. 13.7.3).

P'MACHINE_RADIX

Префикс Р обозначает плавающий тип или подтип. Вырабатывает значение

основания,

используемое в машинном представлении базового типа Р. Значение этого атрибута имеет тип

универсальный-целый

(см. 13.7.3).

P'MACHINE_ROUNDS

Префикс Р обозначает вещественный тип или подтип. Вырабатывает значение TRUE, если каждая предопределенная арифметическая операция над значениями базового типа Р либо возвращает точный результат, либо осуществляет округление. В противном случае вырабатывает значение FALSE. Значение этого атрибута имеет предопределенный тип BOOLEAN (см. 13.7.3).

P'MANTISSA

Префикс Р обозначает вещественный подтип. Вырабатывает число двоичных цифр мантиссы модельных чисел подтипа Р. (Этот атрибут вырабатывает число В, введенное в разд. 3.5.7 для плавающего типа и в разд. 3.5.9 для фиксированного типа.) Значение этого атрибута имеет

универсальный-целый

тип (см. 3.5.8 и 3.5.10).

P'POS(X)

Префикс Р обозначает дискретный тип или подтип. Этот атрибут является функцией с одним параметром. Фактический параметр Х должен быть значением базового типа Р. Тип результата —

универсальный-целый.

Результатом является порядковый номер позиции для значения фактического параметра (см. 3.5.5),

P'POSITION

Префикс Р обозначает компоненту записи. Вырабатывает величину смещения первого кванта памяти, занятого этой компонентой, относительно первого кванта памяти, занимаемого записью. Величина смещения измеряется числом квантов. Значение этого атрибута имеет

универсальный-целый

тип (см. 13.7.2).

P'PRED(X)

Префикс Р обозначает дискретный тип или подтип. Этот атрибут является функцией с одним параметром. Фактический параметр Х должен быть значением базового типа Р. Тип результата — базовый тип Р. Результатом является значение с номером позиции, на единицу меньшим номера позиции для значения X. Если Х равен P'BASE'FIRST, то возбуждается исключение CONSTRAINT_ERROR (см. 3.5.5).

P'RANGE

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает диапазон первого индекса Р, т. е. диапазон Р'FIRST . . P'LAST. (см.3.6.2).

P'RANGE(N)

Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает диапазон N-го индекса Р, т. е. диапазон P'FIRST (N) . . P'LAST (N) (см. 3.6.2).

P'SAFE_EMAX

Префикс Р обозначает плавающий тип или подтип. Вырабатывает наибольшее значение порядка двоичной канонической формы хранимых чисел базового типа Р. (Этот атрибут вырабатывает число Е, определенное в разд. 3.5.7.) Значение этого атрибута имеет

универсальный-целый

тип (см. 3.5.8).

P'SAFE_LARGE

Префикс Р обозначает вещественный тип или подтип. Вырабатывает наибольшее положительное хранимое число базового типа Р. Значение этого атрибута имеет

универсальный-вещественный

тип (см. 3.5.8 и 3.5.10).

P'SAFE_SMALL

Префикс Р обозначает вещественный тип или подтип. Вырабатывает наименьшее положительное (ненулевое) хранимое число базового типа Р. Значение этого атрибута имеет

универсальный-вещественный

тип (см. 3.5.8 и 3.5.10).

P'SIZE

Префикс Р обозначает тип или подтип. Вырабатывает минимальное число битов, необходимое реализации для представления любого возможного значения объекта типа или подтипа Р. Значение этого атрибута имеет

универсальный-целый

тип (см. 13.7.2).

P'SIZE

Префикс Р обозначает объект. Вырабатывает число битов, отведенных для размещения объекта. Значение этого атрибута имеет

универсальный-целый

тип (см.13.7.2).

P'SMALL

Префикс Р обозначает вещественный подтип. Вырабатывает наименьшее положительное (ненулевое) число подтипа Р. Значение этого атрибута имеет

универсальный-вещественный

тип (см. 3.5.8 и 3.5.10).

P'STORAGE_SIZE

Префикс Р обозначает ссылочный тип или подтип. Вырабатывает общее число квантов памяти, резервируемых для соответствующего базовому типу Р набора. Значение этого атрибута имеет

универсальный-целый

тип (см.13.7.2).

P'STORAGE_SIZE

Префикс обозначает задачный тип или задачу. Вырабатывает общее число квантов памяти, резервируемых для каждой активизации задачи типа Р или объекта Р задачного типа. Значение этого атрибута имеет

универсальный-целый

тип (см. 13.7.2).

P'SUCC(X)

Префикс Р обозначает дискретный тип или подтип. Этот атрибут является функцией с одним параметром. Фактический параметр Х должен быть значением базового типа Р. Тип результата является базовым типом Р. Результат представляет собой значение с номером позиции, на единицу большим номера позиции для значения X. Если Х равен P'BASE'LAST, то возбуждается исключение CONSTRAINT_ERROR (см. 3.5.5).

P'TERMINATED

Префикс Р соответствует задачному типу []

. Вырабатывает значение TRUE, если задача Р завершена, иначе вырабатывает значение FALSE. Значение этого атрибута имеет предопределенный тип BOOLEAN (см. 9.9).

P'VAL(X)

Префикс Р обозначает дискретный тип или подтип. Этот атрибут является специальной функцией с одним параметром X, который может быть любого целого типа. Тип результата является базовым типом Р. Результат представляет собой значение, чьим номером позиции является значение типа

универсальный-целый,

и это значение соответствует X. Если соответствующее Х

универсальное-целое

значение не принадлежит диапазону P'POS (P'BASE'FIRST). .P'POS (P'BASE'LAST), то возбуждается исключение CONSTRAINT_ERROR (см. 3.5.5).

P'VALUE(X)

Префикс Р обозначает дискретный тип или подтип. Этот атрибут является функцией с одним параметром. Фактический параметр Х должен быть значением предопределенного типа STRING. Тип результата — базовый тип Р. Любые предшествующие и последующие пробелы последовательности символов, соответствующей X, игнорируются. Если для перечислимого типа последовательность символов имеет синтаксис литерала перечисления и если этот литерал существует для базового типа Р, то результатом является соответствующее значение перечислимого типа. Если для целого типа последовательность символов имеет синтаксис целого литерала, возможно с дополнительным символом плюс или минус, и если соответствующее значение принадлежит базовому типу Р, то результатом является именно это значение. Во всех остальных случаях возбуждается исключение CONSTRAINT_ERROR (CM. 3.5.5).

Р'WIDTH

Префикс Р обозначает дискретный подтип. Вырабатывает максимальную длину образа по всем значениям подтипа Р. (Образ — это последовательность символов, вырабатываемых атрибутом IMAGE.) Значение этого атрибута имеет

универсальный-целый

тип (см. 3.5.5).

[]

Или задаче. -

Прим. ред.

Пред. 

Уровень выше  След.

14.7. ПРИМЕР ВВОДА-ВЫВОДА

 

Начало  Приложение B.

ПРАГМЫ, ПРЕДОПРЕДЕЛЕННЫЕ В ЯЗЫКЕ




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



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