Expression

LRM §7.1.

A formula that defines the computation of a value.

Syntax:

expression operator expression | operator expression

expression = name | number | character | string | function_call | 
    physical_literal | aggregate | new | qualified_expression

Description:

Expressions define the way in which values are computed. They consist of operands and operators. Each operand has a value and a type and the type of the result of the expression depends on the types of operands and the operation. The order in which the operations are performed depends on the priorities of the operators in the language (see Operator).

Operators are evaluated in the following order:
1st:  ** abs not
2nd:  * / mod rem
3rd:  + - &
4thsll srl sla sra rol ror
5th: =  /=  <  <=  >  >=
6th: and or xor nand nor xnor

Example:

C := A nand B ; 
A := '1' and (B and (C or D)); 
B := a * (abs b) + 10 <= 128;

Notes:

See Also:

Aggregate, Name, Operator