Р'ЕМАХ (Р'МАКС-ПОРЯДОК). Префикс Р обозначает плавающий подтип. Вырабатывает наибольшее значение порядка двоичной канонической формы модельных чисел подтипа Р. (Этот атрибут вырабатывает произведение 4 » В, определенное в разд. 3.5.7.) Значение этого атрибута имеет универсальный-целый тип (см. разд. 3.5.8).
P'EPSILON (Р'ЭПСИЛОН). Префикс Р обозначает плавающий подтип. Вырабатывает абсолютное значение разности между модельным числом 1.0 и следующим модельным числом подтипа Р. Значение этого атрибута имеет универсальный ^вещественный тип (см. разд. 3.5.8) .
P'FIRST (Р'ПЕРВЫЙ) . Префикс Р обозначает скалярный тип или подтип скалярного типа. Вырабатывает значение нижней границы Р. Значение этого атрибута имеет тип Р (см. разд. 3.5).
P'FIRST. Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает значение нижней границы диапазона первого индекса. Значение этого атрибута имеет тот же тип, что и тип значения нижней границы (см. разд. 3.6.2 и 3.8.2) .
P'FIRST(К). Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает значение нижней границы диапазона К-го индекса. Значение этого атрибута имеет тот же тип, что и указанная нижняя граница. Аргумент К должен быть статическим выражением типа универсальный ^целый. Значение К должно быть положительным (ненулевым) и не превосходить размерности массива (см. разд. 3.6.2 и 3.8.2).
P'FIRST_BIT. Префикс Р обозначает компонент записи. Вырабатывает величину смещения первого бита относительно начала первого кванта памяти, занимаемой этим компонентом. Величина смещения измеряется числом битов. Значение этого атрибута имеет универсальный-целый тип (см. разд. 13.7.2) .
P'FORE (Р'ЦИФР-ИЗОБРАЖЕНИЯ). Префикс Р обозначает фиксированный подтип. Вырабатывает минимальное число символов, необходимых для десятичного представления целой части любого значения подтипа Р в предположении, что это представление не включает порядок, но включает односимвольный префикс, который является либо знаком минус, либо пробелом. (Это минимальное число не учитывает предшествующие нули и символы подчеркивания и, по меньшей мере, равно двум.) Значение этого атрибута имеет универсальный-целый тип (см. разд. 3.5.10).
P'lMAGE (Р'ОБРАЗ). Префикс Р обозначает дискретный тип или подтип. Этот атрибут представляет собой функцию с одним параметром. Фактический параметр 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 (К). Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает значение верхней границы диапазона К-го индекса. Значение этого атрибута имеет тот же тип, что и верхняя граница. Аргумент К должен быть статическим выражением типа универсальный-целый. Значение К должно быть положительным (ненулевым) и не превышать размерности массива (см. разд. 3.6.2 и 3.8.2).
P'LAST_BIT (Р'ПОСЛЕДНИЙ БИТ). Префикс Р обозначает компонент записи. Вырабатывает величину смещения последнего бита относительно первого кванта памяти, занимаемой этим компонентом. Величина смещения измеряется числом битов. Значение атрибута имеет универсальный—целый тип (см. разд. 13.7.2) .
P'LENGTH (Р'КОЛИЧЕСТВО-ЗНАЧЕНИЙ). Префикс Р соответствует индексируемому типу ипи обозначает ограниченный индексируемый подтип. Вырабатывает число значений диапазона первого индекса (нуль для пустого диапазона). Значение этого атрибута имеет универсальный-целый тип (см. разд. 3.6.2) .
P’LENGTH(К). Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтипа. Вырабатывает число значений в диапазоне К-го индекса (нуль для пустого диапазона). Значение этого атрибута имеет универсальный-целый тип. Аргумент К должен быть статическим выражением типа универсальный-целый. Значение К должно быть положительным (ненулевым) и не должно превышать размерности массива (см. разд. 3.6.2 и 3.8.2).
PMACHINE-EMAX (РМАКС_ПОРЯДОК_В_ЭВМ). Префикс Р обозначает плавающий тип или подтип. Вырабатывает наибольшее значение порядка машинного представления базового типа Р. Значение этого атрибута имеет универсальный—целый тип (см. разд. 13.7.3).
P'MACHINE_EMIN (Р’МИН_ПОРЯДОК_В_ЭВМ). Префикс Р обозначает плавающий тип или подтип. Вырабатывает наименьшее (наибольшее по модулю отрицательное) значение порядка машинного представления базового типа Р. Значение этого атрибута имеет универсальный-целый тип (см. разд. 13.7.3) .
P'MACHINE_MANTISSA (Р'МАНТИССА_В_ЭВМ). Префикс Р обозначает плавающий тип или подтип. Вырабатывает число цифр в мантиссе машинного представления базового типа Р (цифры являются расширенными цифрами из диапазона О . . 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. Если X равен P’BASE 'FIRST, то возбуждается исключение CONSTRAINT_ERROR (см. разд. 3.5.5).
P'RANGE (Р'ДИАПАЗОН). Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает диапазон первого индекса Р, т. е. диапазон P'FIRST . . P'LAST (см. разд. 3.6.2) .
P'RANGE(К). Префикс Р соответствует индексируемому типу или обозначает ограниченный индексируемый подтип. Вырабатывает диапазон К-го индекса Р, т. е. диапазон P’FIRST (К) . . P'LAST (К) (см. разд. 3.6.2).
P'SAFE-EMAX (Р'ХРАНИМЫЙ_МАКС_ПОР). Префикс Р обозначает плавающий тип или подтип. Вырабатывает наибольшее значение порядка двоичной канонической формы хранимых чисел базового типа Р. (Этот атрибут вырабатывает число Е, определенное в разд. 3.5.7.) Значение этого атрибута имеет универсальный-целый тип (см. разд. 3.5.8).
P'SAFA_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. Если 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 (см. разд. 3.5.5).
P'WIDTH (Р’ШИРИНА). Префикс Р обозначает дискретный подтип. Вырабатывает максимальную длину образа по всем значениям подтипа Р. (Образ - это последовательность символов, вырабатываемых атрибутом IMAGE.) Значение этого атрибута имеетуниверсальный-целый тип (см. разд. 3.5.5) .
ПРИЛОЖЕНИЕ 2
Обязательное
ПРАГМЫ, ПРЕДОПРЕДЕЛЕННЫЕ В ЯЗЫКЕ
Ниже определяются прагмы LIST, PAGE и OPTIMIZE и остальные предопределенные прагмы, которые рассматривались в описании языка. (В скобках указан пояснительный перевод.)
CONTROLLED (УПРАВЛЯЕМЫЙ). Единственным аргументом является простое имя ссылочного типа. Эта прагма допустима только непосредственно в разделе описаний или в спецификации пакета, содержащих описание этого ссылочного типа, причем описание должно помещаться перед прагмой. Не допускается использование этой прагмы для производного типа. Прагма указывает, что для объектов, указанных значениями соответствующего ссылочного типа, не должно выполняться автоматическое освобождение памяти, исключая выход из самого вложенного оператора блока, тела подпрограммы или1 тела задачи, охватывающих описание ссылочного типа, либо выход из главной программы (см. разд. 4.8).