code: func (p *Parser) Stmts(r io.Reader, fn func(*Stmt) bool) error {
  	p.reset()
  	p.f = &File{}
  	p.src = r
  	p.rune()
  	p.next()
  	p.stmts(fn)
  	if p.err == nil {
  		// EOF immediately after heredoc word so no newline to
  		// trigger it
  		p.doHeredocs()
  	}
  	return p.err
  }
docs: // Stmts reads and parses statements one at a time, calling a function
  // each time one is parsed. If the function returns false, parsing is
  // stopped and the function is not called again.