Статус документа
Статус документа

ГОСТ 27831-88 (ИСО 8652-87) Язык программирования АДА

     4.4. Выражения


Выражение - это формула, которая определяет способ вычисления значения.

выражение : = отношение {and отношение}

отношение {and then отношение}отношение{or отношение}

отношение {or else отношение}отношение {xor отношение}

отношение : : =

простое_выражение [операция_отношения простое_выражение]

простое_выражение [not] in диапазон

простое_выражение [not] in обозначение_типа

простое_выражение : : =

[унарная_аддитивная_операция] слагаемое

{бинарная_аддитивная_операция слагаемое}

слагаемое : : =

множитель {мультипликативная_операция множитель}

множитель : : = первичное [* * первичное]

abs первичное not первичное

первичное : : = числовой_литерал null агрегат

строковый_литерал имя генератор

вызов_функции преобразование_типа

квалифицированное_выражение (выражение)

Каждое первичное имеет значение и тип. Использование имен в качестве первичного допускается только для именованных чисел, атрибутов, которые вырабатывают значения, а также имен, обозначающих объекты (значением такого первичного является значение объекта) или обозначающих значения. Не допускается в качестве первичных использование имен формальных параметров вида out, а использование имен их подкомпонентов допускается только в случае дискриминантов.

Тип выражения зависит только от типа его составных частей и применяемых операций; для совмещенных операндов или операций определение типа операнда или идентификация операции зависит от контекста. Для каждой предопределенной операции типы операндов и результата приведены в разд.4.5.

Примеры первичных:

4.0

- - литерал вещественного типа

ПИ

- - именованное число

(1..10 => 0)

- - агрегат индексируемого типа

СУММА

- - переменная

INTEGER'LAST

- - атрибут

СИНУС (X)

- - вызов функции

ЦВЕТ' (СИНИЙ)

- - квалифицированное выражение

ВЕЩЕСТВ (М*К)

- - преобразование типа

(СЧЕТ_СТРОЧЕК +10)

- - выражение в скобках


Примеры выражений:

ТОМ

- - первичное

not ИСПОРЧЕН

- - множитель

2 * СЧЕТ_СТРОЧЕК

- - слагаемое

-4.0

- - простое выражение

-4.0 + А

- - простое выражение

В ** 2-4.0 * А * С

- - простое выражение

ПАРОЛЬ (1..3) = "АБВ"

- - отношение

СЧЕТ in МАЛОЕ_ЦЕЛ

- - отношение

СЧЕТ not in МАЛОЕ_ЦЕЛ

- - отношение

ИНДЕКС = 0 or ЭЛЕМЕНТ_ГР

- - выражение

(ХОЛОД and СОЛНЦЕ) or ТЕПЛО

- - выражение (скобки обязательны)

А ** (В ** С)

- - выражение (скобки обязательны)