code: func (p *parser) parseIdentifier() (result string, err error) {
  	startingDash := false
  	if len(p.s) > p.i && p.s[p.i] == '-' {
  		startingDash = true
  		p.i++
  	}
  
  	if len(p.s) <= p.i {
  		return "", errors.New("expected identifier, found EOF instead")
  	}
  
  	if c := p.s[p.i]; !(nameStart(c) || c == '\\') {
  		return "", fmt.Errorf("expected identifier, found %c instead", c)
  	}
  
  	result, err = p.parseName()
  	if startingDash && err == nil {
  		result = "-" + result
  	}
  	return
  }
docs: // parseIdentifier parses an identifier.