code: func (p *Parser) parseFields() (Fields, error) {
  	var fields Fields
  
  	for {
  		// Parse the field.
  		f, err := p.parseField()
  		if err != nil {
  			return nil, err
  		}
  
  		// Add new field.
  		fields = append(fields, f)
  
  		// If there's not a comma next then stop parsing fields.
  		if tok, _, _ := p.Scan(); tok != COMMA {
  			p.Unscan()
  			break
  		}
  	}
  	return fields, nil
  }
docs: // parseFields parses a list of one or more fields.