From 0445ad68936403ca20efc66117524c277081e644 Mon Sep 17 00:00:00 2001 From: Jonathan Brachthäuser Date: Wed, 21 Dec 2016 21:55:29 +0100 Subject: Move ExprInParens and BlockResult --- docs/docs/internals/syntax.md | 20 ++++++++++++-------- 1 file changed, 12 insertions(+), 8 deletions(-) (limited to 'docs') 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 ‘}’ -- cgit v1.2.3