code: func (s *Scanner) scanIdentifier() string {
  	offs := s.srcPos.Offset - s.lastCharLen
  	ch := s.next()
  	for isLetter(ch) || isDigit(ch) || ch == '-' {
  		ch = s.next()
  	}
  
  	if ch != eof {
  		s.unread() // we got identifier, put back latest char
  	}
  
  	return string(s.src[offs:s.srcPos.Offset])
  }
docs: // scanIdentifier scans an identifier and returns the literal string