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


Агрегаты


Агрегат — это базовая операция, которая объединяет значения компонент в составное значение именуемого или индексируемого типа.

агрегат ::= (сопоставление-компонент {, сопоставление-компонент})

сопоставление-компонент ::= [выбор { | выбор} = > ] выражение

Каждое сопоставление компонент связывает выражение с компонентами. Сопоставление компонент называется

именованным,

если компоненты явно определены выборами, и

позиционным в

противном случае. При позиционном сопоставлении каждой отдельно взятой компоненте неявно соответствует некоторая позиция: именуемым компонентам — в порядке следования их описаний, индексируемым компонентам — по возрастанию индекса.

Именованные сопоставления могут стоять в произвольном порядке (исключая выбор

others),

но если в агрегате одновременно используются позиционные и именованные сопоставления, то первыми должны стоять позиционные сопоставления, каждое на своем месте. Следовательно, за именованными сопоставлениями в агрегате могут следовать только именованные сопоставления. В агрегатах, содержащих единственное сопоставление, должно всегда использоваться именованное сопоставление. Правила для сопоставления компонент агрегатов именуемого типа и агрегатов индексируемого типа определены в разд. 4.3.1 и 4.3.2.

Синтаксис выборов сопоставления компонент совпадает с синтаксисом разделов вариантов (см. 3.7.3). Выбор, являющийся простым именем компоненты, допустим только в агрегатах именуемого типа. Выбор, являющийся выражением или дискретным диапазоном, допустим только в агрегатах индексируемого типа; выбор, являющийся простым выражением, задает значение индекса; дискретный диапазон задает диапазон значений индекса. Выбор

others

допустим только в последнем сопоставлении компонент в качестве единственного выбора и определяет все оставшиеся компоненты, если они есть.

Каждая компонента значения, определяемого агрегатом, должна встретиться в агрегате один и только один раз. Следовательно, каждый агрегат должен быть полным, и не допускается, чтобы данная компонента была задана более чем одним выбором.




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



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

Заказать
вертикальные шторы качественно.