An expression in Elan is composed in the conventional fashion
out of operands, monadic operators and dyadic operators with
brackets to indicate grouping.
An operand may in Elan-0 be the name of an object, a denotation,
a subscription, an invocation of a refinement or the call of
a standard procedure. The priority of operators, from high to
low, is as follows:
- the monadic operators <#1600#>+<#1600#>, <#1601#>-<#1601#>, <#1602#>NOT<#1602#>, <#1603#>HEAD<#1603#>, <#1604#>TAIL<#1604#>, <#1605#>LENGTH<#1605#>
- <#1606#>*<#1606#>, <#1607#>DIV<#1607#>, <#1608#>MOD<#1608#>
- dyadic <#1609#>+<#1609#>, <#1610#>-<#1610#>
- <#1611#>=<#1611#>, <#1612#>;SPMlt;;SPMgt;<#1612#>, <#1613#>;SPMgt;<#1613#>, <#1614#>;SPMgt;=<#1614#>, <#1615#>;SPMlt;<#1615#>, <#1616#>;SPMlt;=<#1616#>
- <#1617#>AND<#1617#>
- <#1618#>OR<#1618#>
- <#1619#>SUB<#1619#>
- <#1620#>INCR<#1620#>, <#1621#>DECR<#1621#>, <#1622#>CAT<#1622#>
- the assignment operator <#1623#>:=<#1623#>