Skip to content

Commit b4c41c7

Browse files
authored
Merge pull request #264 from brauliobz/grammar_expr_toplevel
Grammar for expressions
2 parents 63b80bc + 049bbff commit b4c41c7

File tree

1 file changed

+50
-0
lines changed

1 file changed

+50
-0
lines changed

src/expressions.md

+50
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,31 @@
11
# Expressions
22

3+
> **<sup>Syntax</sup>**
4+
> _Expression_ :
5+
> &nbsp;&nbsp; &nbsp;&nbsp; [_LiteralExpression_]
6+
> &nbsp;&nbsp; | [_PathExpression_]
7+
> &nbsp;&nbsp; | [_BlockExpression_]
8+
> &nbsp;&nbsp; | [_OperatorExpression_]
9+
> &nbsp;&nbsp; | [_GroupedExpression_]
10+
> &nbsp;&nbsp; | [_ArrayExpression_]
11+
> &nbsp;&nbsp; | [_IndexExpression_]
12+
> &nbsp;&nbsp; | [_TupleExpression_]
13+
> &nbsp;&nbsp; | [_TupleIndexingExpression_]
14+
> &nbsp;&nbsp; | [_StructExpression_]
15+
> &nbsp;&nbsp; | [_EnumerationVariantExpression_]
16+
> &nbsp;&nbsp; | [_CallExpression_]
17+
> &nbsp;&nbsp; | [_MethodCallExpression_]
18+
> &nbsp;&nbsp; | [_FieldExpression_]
19+
> &nbsp;&nbsp; | [_ClosureExpression_]
20+
> &nbsp;&nbsp; | [_LoopExpression_]
21+
> &nbsp;&nbsp; | [_ContinueExpression_]
22+
> &nbsp;&nbsp; | [_BreakExpression_]
23+
> &nbsp;&nbsp; | [_RangeExpression_]
24+
> &nbsp;&nbsp; | [_IfExpression_]
25+
> &nbsp;&nbsp; | [_IfLetExpression_]
26+
> &nbsp;&nbsp; | [_MatchExpression_]
27+
> &nbsp;&nbsp; | [_ReturnExpression_]
28+
329
An expression may have two roles: it always produces a *value*, and it may have
430
*effects* (otherwise known as "side effects"). An expression *evaluates to* a
531
value, and has effects during *evaluation*. Many expressions contain
@@ -292,3 +318,27 @@ exist in `core::ops` and `core::cmp` with the same names.
292318
[static variables]: items/static-items.html
293319
[Temporary values]: #temporary-lifetimes
294320
[Variables]: variables.html
321+
322+
[_ArrayExpression_]: expressions/array-expr.html
323+
[_BlockExpression_]: expressions/block-expr.html
324+
[_BreakExpression_]: expressions/loop-expr.html#break-expressions
325+
[_CallExpression_]: expressions/call-expr.html
326+
[_ClosureExpression_]: expressions/closure-expr.html
327+
[_ContinueExpression_]: expressions/loop-expr.html#continue-expressions
328+
[_EnumerationVariantExpression_]: expressions/enum-variant-expr.html
329+
[_FieldExpression_]: expressions/field-expr.html
330+
[_GroupedExpression_]: expressions/grouped-expr.html
331+
[_IfExpression_]: expressions/if-expr.html#if-expressions
332+
[_IfLetExpression_]: expressions/if-expr.html#if-let-expressions
333+
[_IndexExpression_]: expressions/array-expr.html#array-and-slice-indexing-expressions
334+
[_LiteralExpression_]: expressions/literal-expr.html
335+
[_LoopExpression_]: expressions/loop-expr.html
336+
[_MatchExpression_]: expressions/match-expr.html
337+
[_MethodCallExpression_]: expressions/method-call-expr.html
338+
[_OperatorExpression_]: expressions/operator-expr.html
339+
[_PathExpression_]: expressions/path-expr.html
340+
[_RangeExpression_]: expressions/range-expr.html
341+
[_ReturnExpression_]: expressions/return-expr.html
342+
[_StructExpression_]: expressions/struct-expr.html
343+
[_TupleExpression_]: expressions/tuple-expr.html
344+
[_TupleIndexingExpression_]: expressions/tuple-expr.html#tuple-indexing-expressions

0 commit comments

Comments
 (0)