summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorSom Snytt <som.snytt@gmail.com>2014-03-12 13:50:53 -0700
committerSom Snytt <som.snytt@gmail.com>2014-03-12 13:53:25 -0700
commitd6142284818305bf756d588fd601dca4c8adaaf0 (patch)
tree3ae71de4ca23193e93601f8311ff40adfd1e7dfb
parent507e58bef8dd7d0a77247e85d3180313d44bc45e (diff)
downloadscala-d6142284818305bf756d588fd601dca4c8adaaf0.tar.gz
scala-d6142284818305bf756d588fd601dca4c8adaaf0.tar.bz2
scala-d6142284818305bf756d588fd601dca4c8adaaf0.zip
SI-7937 In for, semi before guard never required
Align the spec with the impl.
-rw-r--r--08-expressions.md7
-rw-r--r--15-scala-syntax-summary.md7
2 files changed, 4 insertions, 10 deletions
diff --git a/08-expressions.md b/08-expressions.md
index 8331bcaa1c..ba237d4952 100644
--- a/08-expressions.md
+++ b/08-expressions.md
@@ -931,11 +931,8 @@ A semicolon preceding the `while` symbol of a do loop expression is ignored.
```
Expr1 ::= `for' (`(' Enumerators `)' | `{' Enumerators `}')
{nl} [`yield'] Expr
-Enumerators ::= Generator {semi Enumerator}
-Enumerator ::= Generator
- | Guard
- | Pattern1 `=' Expr
-Generator ::= Pattern1 `<-' Expr [Guard]
+Enumerators ::= Generator {semi Generator}
+Generator ::= Pattern1 `<-' Expr {[semi] Guard | semi Pattern1 `=' Expr}
Guard ::= `if' PostfixExpr
```
diff --git a/15-scala-syntax-summary.md b/15-scala-syntax-summary.md
index 0a5a8f73a0..fcf93b7ab0 100644
--- a/15-scala-syntax-summary.md
+++ b/15-scala-syntax-summary.md
@@ -152,11 +152,8 @@ grammar.
ResultExpr ::= Expr1
| (Bindings | ([‘implicit’] id | ‘_’) ‘:’ CompoundType) ‘=>’ Block
- Enumerators ::= Generator {semi Enumerator}
- Enumerator ::= Generator
- | Guard
- | Pattern1 ‘=’ Expr
- Generator ::= Pattern1 ‘<-’ Expr [Guard]
+ Enumerators ::= Generator {semi Generator}
+ Generator ::= Pattern1 ‘<-’ Expr {[semi] Guard | semi Pattern1 ‘=’ Expr}
CaseClauses ::= CaseClause { CaseClause }
CaseClause ::= ‘case’ Pattern [Guard] ‘=>’ Block