general_expression::= expression | type_constructor | bound_method .
expression ::= ( unary_operator \stern primary
( binary_operator ( unary_operator )\stern primary )\stern .
unary_operator ::= \hbox{\it see table \ref{tab1}} .
binary_operator ::= \hbox{\it see table \ref{tab1}} .
primary ::= value | designator |
coercion | method_call | '(' expression ')' .
value ::= denotation .
designator ::= identifier | qualification | primary '[' expressions ']' ,
expressions ::= expression ( ',' expression )\stern .
coercion ::= primary 'as' type_specifier .
type_constructor ::= '\#' class_specifier [ structure ] |
structure | '\#' '\#' designator .
bound_method ::= 'bind' partial_call .
partial_call ::= designator ['(' partial_arguments ')' ] .
partial_arguments ::= [ general_expression ] ( ',' [ general_expression ])\stern .
All unary and binary operators carry the priorities defined in table
4.2. Except for or and and they are replaced by method
calls. For qualified identifiers see 5, for aggregates see
7.3.
Example: a
2 * b
2, -a, true, FLT<-5, a[4], #LIST, ##a