From: Robert Griesemer Date: Tue, 11 Mar 2008 21:37:16 +0000 (-0700) Subject: - removed CompoundStat in favor of Block X-Git-Tag: weekly.2009-11-06~3831 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=213702a3e63cf84c0363074cdbdf96f5a47a9300;p=gostls13.git - removed CompoundStat in favor of Block SVN=112111 --- diff --git a/doc/go_lang.txt b/doc/go_lang.txt index 441a779f7b..e561b77d43 100644 --- a/doc/go_lang.txt +++ b/doc/go_lang.txt @@ -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 ----