Expressions
<binary_operation> ::= <expr> <binary_operator> <expr> ;
<unary_operation> ::= <unary_operator> <expr> ;
<expr> ::=
| <array_instantiation>
| <array_element_access>
| <struct_instantiation>
| <tuple_instantiation>
| <struct_field_access>
| <tuple_field_access>
| <union_instantiation>
| <pattern_match>
| <arrow_function>
| <function_call>
| <binary_operation>
| <unary_operation>
| <ternary>
| <literal>
| <ident>
| ("(" <expr> ")");
Dependencies:
<binary_operator>
<unary_operator>
<array_instantiation>
<array_element_access>
<struct_instantiation>
<tuple_instantiation>
<struct_field_access>
<tuple_field_access>
<union_instantiation>
<pattern_match>
<arrow_function>
<function_call>
<ternary>
<literal>
<ident>
The <expr>
is defined as an item that returns1 a value.
The <binary_operation>
is an expression composed of two sub-expressions with an infixed binary
operator. Semantics are beyond the scope of the syntax specification, see
operator precedence semantics for more.
The <unary_operation>
is an expression composed of a prefixed unary operator and a sub-expression.