This lexeme parser parses a legal identifier. Returns the identifier string. This parser will fail on identifiers that are reserved words. Legal identifier (start) characters and reserved words are defined in the LanguageDef that is passed to makeTokenParser. An identifier is treated as a single token using try.
This parser should accept any legal tail characters of identifiers. For example alphaNum <|> char "_".
This parser should accept any start characters of identifiers. For example letter <|> char "_".