type Mode … const CheckBranches … type Error … func (err Error) Error() string { … } var _ … type ErrorHandler … type Pragma … type PragmaHandler … // Parse parses a single Go source file from src and returns the corresponding // syntax tree. If there are errors, Parse will return the first error found, // and a possibly partially constructed syntax tree, or nil. // // If errh != nil, it is called with each error encountered, and Parse will // process as much source as possible. In this case, the returned syntax tree // is only nil if no correct package clause was found. // If errh is nil, Parse will terminate immediately upon encountering the first // error, and the returned syntax tree is nil. // // If pragh != nil, it is called with each pragma encountered. func Parse(base *PosBase, src io.Reader, errh ErrorHandler, pragh PragmaHandler, mode Mode) (_ *File, first error) { … } // ParseFile behaves like Parse but it reads the source from the named file. func ParseFile(filename string, errh ErrorHandler, pragh PragmaHandler, mode Mode) (*File, error) { … }