From bc604e35945645721ea085d2788ef396c3e6bdaa Mon Sep 17 00:00:00 2001 From: "dmitrii.naumenko" Date: Fri, 5 Mar 2021 19:30:13 +0300 Subject: [PATCH] syntax.md: update syntax of for-expressions --- compiler/src/dotty/tools/dotc/parsing/Parsers.scala | 6 +++--- docs/docs/internals/syntax.md | 7 ++++--- docs/docs/reference/syntax.md | 6 ++++-- 3 files changed, 11 insertions(+), 8 deletions(-) diff --git a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala index d54fed27b799..f0ce42f8c747 100644 --- a/compiler/src/dotty/tools/dotc/parsing/Parsers.scala +++ b/compiler/src/dotty/tools/dotc/parsing/Parsers.scala @@ -2509,9 +2509,9 @@ object Parsers { GenFrom(pat, subExpr(), checkMode) } - /** ForExpr ::= `for' (`(' Enumerators `)' | `{' Enumerators `}') - * {nl} [`yield'] Expr - * | `for' Enumerators (`do' Expr | `yield' Expr) + /** ForExpr ::= ‘for’ ‘(’ Enumerators ‘)’ {nl} [‘do‘ | ‘yield’] Expr + * | ‘for’ ‘{’ Enumerators ‘}’ {nl} [‘do‘ | ‘yield’] Expr + * | ‘for’ Enumerators (‘do‘ | ‘yield’) Expr */ def forExpr(): Tree = atSpan(in.skipToken()) { diff --git a/docs/docs/internals/syntax.md b/docs/docs/internals/syntax.md index e998a96761c7..3522923ad47e 100644 --- a/docs/docs/internals/syntax.md +++ b/docs/docs/internals/syntax.md @@ -272,9 +272,10 @@ BlockStat ::= Import | Expr1 | EndMarker -ForExpr ::= ‘for’ (‘(’ Enumerators ‘)’ | ‘{’ Enumerators ‘}’) ForYield(enums, expr) - {nl} [‘yield’] Expr - | ‘for’ Enumerators (‘do’ Expr | ‘yield’ Expr) ForDo(enums, expr) +ForExpr ::= ‘for’ ‘(’ Enumerators0 ‘)’ {nl} [‘do‘ | ‘yield’] Expr ForYield(enums, expr) / ForDo(enums, expr) + | ‘for’ ‘{’ Enumerators0 ‘}’ {nl} [‘do‘ | ‘yield’] Expr + | ‘for’ Enumerators0 (‘do‘ | ‘yield’) Expr +Enumerators0 ::= {nl} Enumerators [semi] Enumerators ::= Generator {semi Enumerator | Guard} Enumerator ::= Generator | Guard diff --git a/docs/docs/reference/syntax.md b/docs/docs/reference/syntax.md index 440676906f63..e3201d7f8739 100644 --- a/docs/docs/reference/syntax.md +++ b/docs/docs/reference/syntax.md @@ -263,8 +263,10 @@ BlockStat ::= Import | Expr1 | EndMarker -ForExpr ::= ‘for’ (‘(’ Enumerators ‘)’ | ‘{’ Enumerators ‘}’) {nl} [‘yield’] Expr - | ‘for’ Enumerators (‘do’ Expr | ‘yield’ Expr) +ForExpr ::= ‘for’ ‘(’ Enumerators0 ‘)’ {nl} [‘do‘ | ‘yield’] Expr + | ‘for’ ‘{’ Enumerators0 ‘}’ {nl} [‘do‘ | ‘yield’] Expr + | ‘for’ Enumerators0 (‘do‘ | ‘yield’) Expr +Enumerators0 ::= {nl} Enumerators [semi] Enumerators ::= Generator {semi Enumerator | Guard} Enumerator ::= Generator | Guard