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


Операции и вычисление выражения


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

логическая-операция ::= and | ог | xor

операция-отношения ::= = | /= | <|<=|>|>= бинарная-аддитивная-операция ::= + | - | & унарная-аддитивная-операция ::= + | - мультипликативная-операция ::= * | / | mod | геm

операция-высшего-приоритета ::= ** | abs | лоt

Формы управления промежуточной проверкой

and then и ог else

имеют тот же порядок старшинства, что и логические операции. Проверки принадлежности

in и not in

имеют то же старшинство, что и операции отношения.

В слагаемом, простом выражении, отношении или выражении группирование операций с их операндами проводится сначала для операций с большим старшинством, а затем для операций с меньшим старшинством. В случае последовательных операций с одинаковым старшинством группирование операций с их операндами производится в порядке их текстуального следования слева направо; для изменения порядка группирования могут использоваться скобки.

В языке не определяется порядок вычисления операндов множителя, слагаемого, простого выражения или отношения и операндов выражения, которое не содержит форм управления

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

Для каждой формы описания типа некоторые из перечисленных операций являются

предопределенными,

т. е. неявно вводятся описанием типа. Для каждого такого неявного описания операции именами параметров являются LEFT и RIGHT для бинарных операций; для унарных аддитивных операций и унарных операций

abs и not

их единственный параметр именуется RIGHT. В разд. 4.5.1 &#x2014; 4.5.7 поясняются результаты предопределенных операций.




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