]> Cypherpunks repositories - gostls13.git/commitdiff
make SimpleStmt include EmptyStmt and the grammar simplifies a bit.
authorRob Pike <r@golang.org>
Tue, 15 Sep 2009 00:39:17 +0000 (17:39 -0700)
committerRob Pike <r@golang.org>
Tue, 15 Sep 2009 00:39:17 +0000 (17:39 -0700)
SimpleStmt was always used as an option.

fix bug: divide is a right shift

DELTA=8  (0 added, 0 deleted, 8 changed)
OCL=34612
CL=34614

doc/go_spec.html

index c883de49c06dc606c487e19e8bd25e92c067effd..d602168c67222c9dabeb4ed8d7173fcade63e111 100644 (file)
@@ -2557,7 +2557,7 @@ Examples:
 
 <p>
 If the dividend is positive and the divisor is a constant power of 2,
-the division may be replaced by a left shift, and computing the remainder may
+the division may be replaced by a right shift, and computing the remainder may
 be replaced by a bitwise "and" operation:
 </p>
 
@@ -3011,12 +3011,12 @@ Statements control execution.
 
 <pre class="ebnf">
 Statement =
-       Declaration | EmptyStmt | LabeledStmt |
-       SimpleStmt | GoStmt | ReturnStmt | BreakStmt | ContinueStmt | GotoStmt |
+       Declaration | LabeledStmt | SimpleStmt |
+       GoStmt | ReturnStmt | BreakStmt | ContinueStmt | GotoStmt |
        FallthroughStmt | Block | IfStmt | SwitchStmt | SelectStmt | ForStmt |
        DeferStmt .
 
-SimpleStmt = ExpressionStmt | IncDecStmt | Assignment | ShortVarDecl .
+SimpleStmt = EmptyStmt | ExpressionStmt | IncDecStmt | Assignment | ShortVarDecl .
 
 StatementList = Statement { Separator Statement } .
 Separator     = [ ";" ] .
@@ -3196,7 +3196,7 @@ is equivalent to <code>true</code>.
 </p>
 
 <pre class="ebnf">
-IfStmt    = "if" [ [ SimpleStmt ] ";" ] [ Expression ] Block [ "else" Statement ] .
+IfStmt    = "if" [ SimpleStmt ";" ] [ Expression ] Block [ "else" Statement ] .
 </pre>
 
 <pre>
@@ -3261,7 +3261,7 @@ the expression <code>true</code>.
 </p>
 
 <pre class="ebnf">
-ExprSwitchStmt = "switch" [ [ SimpleStmt ] ";" ] [ Expression ] "{" { ExprCaseClause } "}" .
+ExprSwitchStmt = "switch" [ SimpleStmt ";" ] [ Expression ] "{" { ExprCaseClause } "}" .
 ExprCaseClause = ExprSwitchCase ":" [ StatementList ] .
 ExprSwitchCase = "case" ExpressionList | "default" .
 </pre>
@@ -3311,7 +3311,7 @@ in the type assertion.
 </p>
 
 <pre class="ebnf">
-TypeSwitchStmt  = "switch" [ [ SimpleStmt ] ";" ] TypeSwitchGuard "{" { TypeCaseClause } "}" .
+TypeSwitchStmt  = "switch" [ SimpleStmt ";" ] TypeSwitchGuard "{" { TypeCaseClause } "}" .
 TypeSwitchGuard = [ identifier ":=" ] Expression "." "(" "type" ")" .
 TypeCaseClause  = TypeSwitchCase ":" [ StatementList ] .
 TypeSwitchCase  = "case" Type | "default" .
@@ -3426,7 +3426,7 @@ an increment or decrement statement. The init statement may be a
 </p>
 
 <pre class="ebnf">
-ForClause = [ InitStmt ] ";" [ Condition ] ";" [ PostStmt ] .
+ForClause = InitStmt ";" [ Condition ] ";" PostStmt .
 InitStmt = SimpleStmt .
 PostStmt = SimpleStmt .
 </pre>