aboutsummaryrefslogtreecommitdiff
path: root/docs
diff options
context:
space:
mode:
authorJonathan Brachthäuser <jonathan@b-studios.de>2016-12-21 21:55:29 +0100
committerJonathan Brachthäuser <jonathan@b-studios.de>2016-12-21 22:04:45 +0100
commit0445ad68936403ca20efc66117524c277081e644 (patch)
tree2e93bbb9fae693fbe2c7f6379557ea3badfa5835 /docs
parentd40f9760145401981f50458982915a95bfec8563 (diff)
downloaddotty-0445ad68936403ca20efc66117524c277081e644.tar.gz
dotty-0445ad68936403ca20efc66117524c277081e644.tar.bz2
dotty-0445ad68936403ca20efc66117524c277081e644.zip
Move ExprInParens and BlockResult
Diffstat (limited to 'docs')
-rw-r--r--docs/docs/internals/syntax.md20
1 files changed, 12 insertions, 8 deletions
diff --git a/docs/docs/internals/syntax.md b/docs/docs/internals/syntax.md
index c42edc389..7fc48943e 100644
--- a/docs/docs/internals/syntax.md
+++ b/docs/docs/internals/syntax.md
@@ -145,17 +145,19 @@ NamedTypeArgs ::= ‘[’ NamedTypeArg {‘,’ NamedTypeArg} ‘]’
Refinement ::= ‘{’ [Dcl] {semi [Dcl]} ‘}’
TypeBounds ::= [‘>:’ Type] [‘<:’ Type] | INT
TypeParamBounds ::= TypeBounds {‘<%’ Type} {‘:’ Type}
+```
+### Expressions
+```ebnf
Expr ::= [‘implicit’] FunParams ‘=>’ Expr
+ | Expr1
+BlockResult ::= [‘implicit’] FunParams ‘=>’ Block
+ | Expr1
FunParams ::= Bindings
| id
| ‘_’
-ExprInParens ::= PostfixExpr ‘:’ Type
- | Expr
-BlockResult ::= [‘implicit’] FunParams ‘=>’ Block
- | Expr1
-Expr1 ::= ‘if’ ‘(’ Expr ‘)’ {nl} Expr [[semi] else Expr]
- | ‘if’ Expr ‘then’ Expr [[semi] else Expr]
+Expr1 ::= ‘if’ ‘(’ Expr ‘)’ {nl} Expr [[semi] ‘else’ Expr]
+ | ‘if’ Expr ‘then’ Expr [[semi] ‘else’ Expr]
| ‘while’ ‘(’ Expr ‘)’ {nl} Expr
| ‘while’ Expr ‘do’ Expr
| ‘do’ Expr [semi] ‘while’ Expr
@@ -187,8 +189,10 @@ SimpleExpr1 ::= Literal
| SimpleExpr1 ArgumentExprs
| XmlExpr
ExprsInParens ::= ExprInParens {‘,’ ExprInParens}
-ParArgumentExprs ::= ‘(’ [ExprsInParens] ‘)’
- | ‘(’ [ExprsInParens ‘,’] PostfixExpr ‘:’ ‘_’ ‘*’ ‘)’
+ExprInParens ::= PostfixExpr ‘:’ Type
+ | Expr
+ParArgumentExprs ::= ‘(’ ExprsInParens ‘)’
+ | ‘(’ [ExprsInParens] PostfixExpr ‘:’ ‘_’ ‘*’ ‘)’
ArgumentExprs ::= ParArgumentExprs
| [nl] BlockExpr
BlockExpr ::= ‘{’ CaseClauses ‘}’