Commit 213702a3 authored by Robert Griesemer's avatar Robert Griesemer

- removed CompoundStat in favor of Block

SVN=112111
parent 8b212f67
......@@ -210,11 +210,11 @@ productions are in CamelCase.
Common productions
----
IdentifierList = identifier { ',' identifier }.
ExpressionList = Expression { ',' Expression }.
IdentifierList = identifier { ',' identifier } .
ExpressionList = Expression { ',' Expression } .
QualifiedIdent = [ PackageName '.' ] identifier.
PackageName = identifier.
QualifiedIdent = [ PackageName '.' ] identifier .
PackageName = identifier .
Source code representation
......@@ -713,7 +713,11 @@ Function Literals
Function literals represent anonymous functions.
FunctionLit = FunctionType Block .
Block = CompoundStat .
Block = '{' [ StatementList [ ';' ] ] '}' .
The scope of an identifier declared within a block extends
from the declaration of the identifier (that is, the position
immediately after the identifier) to the end of the block.
A function literal can be invoked
or assigned to a variable of the corresponding function pointer type.
......@@ -1094,7 +1098,7 @@ Statements control execution.
[ LabelDecl ] ( StructuredStat | UnstructuredStat ) .
StructuredStat =
CompoundStat | IfStat | SwitchStat | ForStat | RangeStat .
Block | IfStat | SwitchStat | ForStat | RangeStat .
UnstructuredStat =
Declaration |
......@@ -1135,20 +1139,6 @@ IncDec statements
Note that ++ and -- are not operators for expressions.
Compound statements
----
CompoundStat = '{' [ StatementList [ ";" ] ] '}' .
{
x := 1;
f(x);
}
The scope of an Identifier declared within a compound statement extends
from the declaration to the end of the compound statement.
Assignments
----
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment