Expressions and their constituents

Expressions can be composed by various mechanisms (calls, operators and control-structures) out of smaller constructs (the primaries). Expressions may either yield a value of some type, or they may be actions, which yield no value (and have a hypothetical type VOID).

(315,080) (000,070)expression (000,050)(1,0)140060primary (1,0)030 (115,040)(20,20)[r] (115,030)(-1,0)005 (025,030)(1,0)005080monadic-operator (025,040)(20,20)[l] (205,040)(20,20)[rt] (215,040)(0,-1)20 (205,020)(20,20)[rb] (205,010)(-1,0)095 (025,010)(1,0)005080dyadic-operator (025,020)(20,20)[lb] (015,020)(0,1)20

The dyadic-operators have the following priorities:


\begin{literal}
1 {\tt :=}, {\tt INCR}, {\tt DECR}, {\tt CAT}
2 all abstract...
... /}, {\tt DIV}, {\tt MOD}
9 {\tt **}
10 all monadic operators
\end{literal}

(315,220) (000,210)primary (000,190)(1,0)070080denoter (1,0)070 (025,180)(20,20)[lb] (025,170)(1,0)045080object-name (1,0)045 (195,180)(20,20)[rb] (025,160)(20,20)[lb] (025,150)(1,0)045080procedure-call (1,0)045 (195,160)(20,20)[rb] (025,140)(20,20)[lb] (025,130)(1,0)045080subscription (1,0)045 (195,140)(20,20)[rb] (025,120)(20,20)[lb] (025,110)(1,0)045080selection (1,0)045 (195,120)(20,20)[rb] (025,100)(20,20)[lb] (025,090)(1,0)045080abstractor (1,0)045 (195,100)(20,20)[rb] (025,080)(20,20)[lb] (025,070)(1,0)045080concretizer (1,0)045 (195,080)(20,20)[rb] (025,060)(20,20)[lb] (025,050)(1,0)045080terminator (1,0)045 (195,060)(20,20)[rb] (025,040)(20,20)[lb] (025,030)(1,0)045080composed-unit (1,0)045 (195,040)(20,20)[rb] (025,020)(20,20)[lb] (025,010)(1,0)005010( (1,0)030080expression (1,0)030010) (1,0)005 (195,020)(20,20)[rb] (005,180)(20,20)[rt] (015,180)(0,-1)160 (205,020)(0,1)160 (215,180)(20,20)[lt]

These constructs are explained in the following sections.



Subsections