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


Спецификаторы представления записей


Спецификатор представления записи задает представление записи в памяти, т.е. порядок, позицию и размер компонент записи (включая дискриминанты, если они есть).

спецификатор-представления-записи ::= for простое-имя-типа use

record [спецификатор-выравнивания] (спецификатор - компоненты) end record;

спецификатор-выравнивания ::= at mod статическое-простое-выражение;

спецификатор-компоненты ::= имя-компоненты at статическое-простое-выражение range статический-диапазон;

Простое выражение, заданное в спецификаторе выравнивания после зарезервированных слов

at mod

или в спецификаторе компоненты после зарезервированного слова

at,

должно быть статическим некоторого целого типа. Если в спецификаторе компоненты границы диапазона спецификатора компоненты определяются простыми выражениями, то каждая граница должна быть определена как статическое выражение любого целого типа; не обязательно, чтобы обе границы были одного и того же целого типа.

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

Спецификатор компоненты специфицирует для компоненты место

в памяти

относительно начала записи. Значение целого типа, определенное статическим выражением в спецификаторе компоненты, — это относительный адрес, выраженный в квантах памяти. Диапазон определяет позиции разрядов места памяти относительно этого кванта памяти. Первый квант памяти для записи имеет нулевой номер. Первый разряд кванта памяти тоже имеет нулевой номер. Порядок разрядов в кванте памяти машинно-зависим, а их нумерация может переходить на соседние кванты. (Для конкретной машины размер кванта памяти в разрядах задан с помощью зависящего от конфигурации именованного числа SYSTEM.STORAGE-UNIT.) Допускается размещение одной компоненты записи в соседних квантах памяти, это размещение определяется реализацией.




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