AQLDoc/AQL_NT_33.html

# Non-terminal symbol `Expression`

rule(s) | occurrences

#### Description

This nonterminal node rules express the several possible syntactic forms of an AQL expression: a (possibly typed) untyped expression [see `UntypedExpression`]; an allocation expression [see `Allocation`]; an expression seen as value of a defined opaque type (whose defining type is that of the expression) [see `as`]; an expression of opaque type being seen as a value of its underlying defining type [see `$`] (N.B.: this has the same as using the prefix operator '`strip`'); a parenthesized expression.

Defining rules for nonterminal symbol `Expression`:

`Expression` |  | `UntypedExpression` `Typing_opt`
|  | `Allocation`
|  | `Expression` '`as`' `Type`
|  | '`$`' `Expression`
|  | '`(`' `Expression_opt` '`)`'

Occurrences of symbol `Expression` in body of other rules:

`Statement` |  | '`?`' `Expression` `EOS`
`Statement` |  | `Expression` `EOS`
`Initialization_opt` |  | '`=`' `Expression`
`Definition` |  | `Operator` `FunctionParameters_opt` `Typing_opt` '`=`' `Expression`
`Expression_opt` |  | `Expression`
`Allocation` |  | '`new`' `Type` `Dimensions` '`=`' `Expression`
`UntypedExpression` |  | `Expression` '`!`' `Expression`
`UntypedExpression` |  | '`function`' `FunctionParameters` `Expression`
`UntypedExpression` |  | `Expression` `Arguments`
`UntypedExpression` |  | '`if`' `UntypedExpression` '`then`' `Expression` '`else`' `Expression`
`UntypedExpression` |  | '`while`' `UntypedExpression` '`do`' `Expression`
`UntypedExpression` |  | '`let`' `Locals` '`in`' `Expression`
`UntypedExpression` |  | `Location` '`=`' `Expression`
`UntypedExpression` |  | `Expression` '`.`' `Member`
`UntypedExpression` |  | '`hom`' '`(`' `Expression` '`,`' `Expression` '`,`' `Expression` '`,`' `Expression` '`)`'
`NamedTupleComponent` |  | `ID` '`:=`' `Expression`
`IndexedExpression` |  | `UntypedExpression` '`:`' `Expression`
`ArraySlotExpression` |  | `Expression` '`[`' `Expression` '`]`'
`OperatorExpression` |  | `OPERATOR_` `Expression`
`OperatorExpression` |  | `Expression` `_OPERATOR`
`OperatorExpression` |  | `Expression` `_OPERATOR_` `Expression`
`Expressions` |  | `Expression`
`Expressions` |  | `Expressions` '`,`' `Expression`
`Location` |  | `Expression` '`.`' `ID`
`ExpressionSequence_opt` |  | `Expression` '`;`'
`ExpressionSequence_opt` |  | `ExpressionSequence_opt` `Expression` '`;`'
`Comprehension` |  | `Monoid` '`{`' `Expression` '`|`' `Qualifiers_opt` '`}`'
`Monoid` |  | '`[`' `Expression` '`,`' `Expression` '`]`' `InPlace_opt`
`Qualifier` |  | `Expression`
`Qualifier` |  | `Expression` '`<-`' `Expression`

Copyright © 2013 by Hassan Aït-Kaci; All Rights Reserved.