From: Russ Cox Date: Wed, 16 Sep 2009 00:29:08 +0000 (-0700) Subject: make 6g match spec: X-Git-Tag: weekly.2009-11-06~568 X-Git-Url: http://www.git.cypherpunks.su/?a=commitdiff_plain;h=aaaa1fc69b33e39284df07d09047494d824395f3;p=gostls13.git make 6g match spec: no semicolon allowd after package clause. semicolon allowed after import statement. no doubled semicolons allowed R=ken OCL=34674 CL=34674 --- diff --git a/src/cmd/gc/go.y b/src/cmd/gc/go.y index ea9cd3aed5..7b1f772242 100644 --- a/src/cmd/gc/go.y +++ b/src/cmd/gc/go.y @@ -113,6 +113,9 @@ %left '{' +%left NotSemi +%left ';' + %% file: loadsys @@ -154,9 +157,9 @@ imports: | imports import import: - LIMPORT import_stmt -| LIMPORT '(' import_stmt_list osemi ')' -| LIMPORT '(' ')' + LIMPORT import_stmt osemi +| LIMPORT '(' import_stmt_list osemi ')' osemi +| LIMPORT '(' ')' osemi import_stmt: import_here import_package import_there @@ -268,18 +271,19 @@ import_there: * declarations */ xdcl: - common_dcl -| xfndcl + common_dcl osemi +| xfndcl osemi { $$ = list1($1); } -| ';' +| error osemi { $$ = nil; } -| error xdcl +| ';' { - $$ = $2; + yyerror("empty top-level declaration"); + $$ = nil; } common_dcl: @@ -1479,6 +1483,7 @@ braced_keyval_list: * optional things */ osemi: + %prec NotSemi | ';' ocomma: