Precedence and associativity of auxiliary security model expressions

The precedence and associativity of expressions of the auxiliary security models Pred, Bool, Math and Struct are presented in the table below.

Precedence and associativity of auxiliary security model expressions

Expressions

Precedence

Associativity

Security model

Special considerations

pred.empty

1

No

Pred

N/A

bool.all

bool.any

bool.cond

1

No

Bool

N/A

math.<expression name>

1

No

Math

N/A

Struct security model expressions

1

No

Struct

N/A

~

2

No

Math

N/A

!

2

No

Bool

N/A

*

3

Left

Math

N/A

+

-

4

Left

Math

N/A

<

>

<=

>=

==

!=

5

No

Pred

N/A

&&

6

Left

Bool

N/A

||

7

Left

Bool

N/A

==>

8

Right

Bool

N/A

&

3*

Left

Math

The precedence is lower than 2 but is incomparable with the precedences 3-8, therefore parentheses must be used to define the order of operations when jointly used with expressions that have precedences 3-8.

|

4*

Left

Math

The precedence is lower than 3* but is incomparable with the precedences 3-8, therefore parentheses must be used to define the order of operations when jointly used with expressions that have precedences 3-8.

The expressions of all security models (not just auxiliary ones) have a precedence of 1.

Page top