mirror of
https://github.com/golang/go.git
synced 2024-10-01 23:37:14 +00:00
- interface and comments cleanup
R=rsc DELTA=33 (1 added, 3 deleted, 29 changed) OCL=31620 CL=31642
This commit is contained in:
parent
59ee0373fc
commit
4fb8f44ea7
@ -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);
|
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user