Skip to content

Commit 0445ad6

Browse files
committed
Move ExprInParens and BlockResult
1 parent d40f976 commit 0445ad6

File tree

1 file changed

+12
-8
lines changed

1 file changed

+12
-8
lines changed

docs/docs/internals/syntax.md

Lines changed: 12 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -145,17 +145,19 @@ NamedTypeArgs ::= ‘[’ NamedTypeArg {‘,’ NamedTypeArg} ‘]’
145145
Refinement ::= ‘{’ [Dcl] {semi [Dcl]} ‘}’
146146
TypeBounds ::= [‘>:’ Type] [‘<:’ Type] | INT
147147
TypeParamBounds ::= TypeBounds {‘<%’ Type} {‘:’ Type}
148+
```
148149

150+
### Expressions
151+
```ebnf
149152
Expr ::= [‘implicit’] FunParams ‘=>’ Expr
153+
| Expr1
154+
BlockResult ::= [‘implicit’] FunParams ‘=>’ Block
155+
| Expr1
150156
FunParams ::= Bindings
151157
| id
152158
| ‘_’
153-
ExprInParens ::= PostfixExpr ‘:’ Type
154-
| Expr
155-
BlockResult ::= [‘implicit’] FunParams ‘=>’ Block
156-
| Expr1
157-
Expr1 ::= ‘if’ ‘(’ Expr ‘)’ {nl} Expr [[semi] else Expr]
158-
| ‘if’ Expr ‘then’ Expr [[semi] else Expr]
159+
Expr1 ::= ‘if’ ‘(’ Expr ‘)’ {nl} Expr [[semi] ‘else’ Expr]
160+
| ‘if’ Expr ‘then’ Expr [[semi] ‘else’ Expr]
159161
| ‘while’ ‘(’ Expr ‘)’ {nl} Expr
160162
| ‘while’ Expr ‘do’ Expr
161163
| ‘do’ Expr [semi] ‘while’ Expr
@@ -187,8 +189,10 @@ SimpleExpr1 ::= Literal
187189
| SimpleExpr1 ArgumentExprs
188190
| XmlExpr
189191
ExprsInParens ::= ExprInParens {‘,’ ExprInParens}
190-
ParArgumentExprs ::= ‘(’ [ExprsInParens] ‘)’
191-
| ‘(’ [ExprsInParens ‘,’] PostfixExpr ‘:’ ‘_’ ‘*’ ‘)’
192+
ExprInParens ::= PostfixExpr ‘:’ Type
193+
| Expr
194+
ParArgumentExprs ::= ‘(’ ExprsInParens ‘)’
195+
| ‘(’ [ExprsInParens] PostfixExpr ‘:’ ‘_’ ‘*’ ‘)’
192196
ArgumentExprs ::= ParArgumentExprs
193197
| [nl] BlockExpr
194198
BlockExpr ::= ‘{’ CaseClauses ‘}’

0 commit comments

Comments
 (0)