I'm going through the Write yourself a scheme in 48 hours tutorial.
symbol :: Parser Char
symbol = oneOf "!#$%&|*+-/:<=>?@^_~"
This is great for symbols, but what if I have a list of keywords? (i.e. struct, int)
can oneOf be adapted to lists? This is ideally what I want, depicted below.
keywords :: Parser String
keywords = oneOf ["struct","int",..etc]
Or should I import Text.Parsec.Char and try to mapM string over the list of keywords?
I'm attempting to tokenize and just wanted to know what best practices were from others who have gone down this road.
The docs say to use something like this:
divOrMod = string "div"
<|> string "mod"
http://hackage.haskell.org/packages/archive/parsec/3.0.0/doc/html/Text-Parsec-Char.html