yapb-0.1.0: app/syntaxcompletion/Lexer.hs
module Lexer(lexerSpec) where
import Prelude hiding (EQ)
import CommonParserUtil
import Token
mkFn :: Token -> (String -> Maybe Token)
mkFn tok = \text -> Just tok
skip :: String -> Maybe Token
skip = \text -> Nothing
lexerSpec :: LexerSpec Token
lexerSpec = LexerSpec
{
endOfToken = END_OF_TOKEN,
lexerSpecList =
[ ("[ \t\n]", skip),
("\\(" , mkFn OPEN_PAREN),
("\\)" , mkFn CLOSE_PAREN),
("fn" , mkFn FN),
("let" , mkFn LET),
("in" , mkFn IN),
("end" , mkFn END),
("val" , mkFn VAL),
("=>" , mkFn ARROW),
("=" , mkFn EQ),
("[a-zA-Z][a-zA-Z0-9]*" , mkFn IDENTIFIER)
]
}