code: func (p *Parser) scan() token.Token {
  	// If we have a token on the buffer, then return it.
  	if p.n != 0 {
  		p.n = 0
  		return p.tok
  	}
  
  	p.tok = p.sc.Scan()
  	return p.tok
  }
docs: // scan returns the next token from the underlying scanner. If a token has
  // been unscanned then read that instead.