- interface and comments cleanup

R=rsc
DELTA=33  (1 added, 3 deleted, 29 changed)
OCL=31620
CL=31642
This commit is contained in:
Robert Griesemer 2009-07-14 16:30:20 -07:00
parent 59ee0373fc
commit 4fb8f44ea7

View File

@ -2003,17 +2003,18 @@ func (p *parser) init(filename string, src interface{}, mode uint) os.Error {
// Parse parses a Go program. // Parse parses a Go program.
// //
// The program source src may be provided in a variety of formats. At the // The filename is only used in AST position information and error messages
// moment the following types are supported: string, []byte, and io.Reader. // and may be empty. The program source src may be provided in a variety of
// The mode parameter controls the amount of source text parsed and other // formats. At the moment the following types are supported: string, []byte,
// optional parser functionality. // and io.Reader. The mode parameter controls the amount of source text parsed
// and other optional parser functionality.
// //
// Parse returns a complete AST if no error occured. Otherwise, if the // Parse returns a complete AST if no error occured. Otherwise, if the
// source couldn't be read, the returned program is nil and the error // source couldn't be read, the returned program is nil and the error
// indicates the specific failure. If the source was read but syntax // indicates the specific failure. If the source was read but syntax
// errors were found, the result is a partial AST (with ast.BadX nodes // errors were found, the result is a partial AST (with ast.BadX nodes
// representing the fragments of erroneous source code) and an ErrorList // representing the fragments of erroneous source code). Multiple errors
// describing the syntax errors. // are returned via a scanner.ErrorList which is sorted by file position.
// //
func Parse(filename string, src interface{}, mode uint) (*ast.Program, os.Error) { func Parse(filename string, src interface{}, mode uint) (*ast.Program, os.Error) {
var p parser; var p parser;
@ -2021,41 +2022,38 @@ func Parse(filename string, src interface{}, mode uint) (*ast.Program, os.Error)
return nil, err; return nil, err;
} }
prog := p.parsePackage(); prog := p.parsePackage(); // TODO 6g bug - function call order in expr lists
return prog, p.GetError(scanner.NoMultiples); return prog, p.GetError(scanner.NoMultiples);
} }
// ParseStmts parses a list of Go statement. // ParseStmts parses a list of Go statements and returns the list of
func ParseStmts(filename string, src interface{}, mode uint) ([]ast.Stmt, os.Error) { // corresponding AST nodes. The filename and src arguments have the
if mode & (PackageClauseOnly | ImportsOnly) != 0 { // same interpretation as for Parse. If there is an error, the node
return nil, nil; // list may be nil or contain partial ASTs.
} //
func ParseStmts(filename string, src interface{}) ([]ast.Stmt, os.Error) {
var p parser; var p parser;
if err := p.init(filename, src, mode); err != nil { if err := p.init(filename, src, 0); err != nil {
return nil, err; return nil, err;
} }
stmts := p.parseStatementList(); list := p.parseStatementList(); // TODO 6g bug - function call order in expr lists
return list, p.GetError(scanner.Sorted);
return stmts, p.GetError(scanner.Sorted);
} }
// ParseExpr parses a single Go expression. // ParseExpr parses a single Go expression and returns the corresponding
func ParseExpr(filename string, src interface{}, mode uint) (ast.Expr, os.Error) { // AST node. The filename and src arguments have the same interpretation
if mode & (PackageClauseOnly | ImportsOnly) != 0 { // as for Parse. If there is an error, the result expression may be nil
return nil, nil; // or contain a partial AST.
} //
func ParseExpr(filename string, src interface{}) (ast.Expr, os.Error) {
var p parser; var p parser;
if err := p.init(filename, src, mode); err != nil { if err := p.init(filename, src, 0); err != nil {
return nil, err; return nil, err;
} }
expr := p.parseExpression(); x := p.parseExpression(); // TODO 6g bug - function call order in expr lists
return x, p.GetError(scanner.Sorted);
return expr, p.GetError(scanner.Sorted);
} }