identifier = do{ c <- letter ; cs <- many (alphaNum <|> char '_') ; return (c:cs) }
word = many1 letter
simpleComment = do{ string "<!--" ; manyTill anyChar (try (string "-->")) }Note the overlapping parsers anyChar and string "-->", and therefore the use of the try combinator.
spaces = skipMany space