hlex-0.1.0: test/ExampleLang.hs
module ExampleLang
( Token(..)
, lexer
) where
import Hlex
data Token = Ident String
| Number Float
| Assign
deriving(Read, Show, Eq)
grammar :: Grammar Token
grammar = [ JustToken "=" Assign
, Tokenize "[a-zA-Z]+" Ident
, Tokenize "[0-9]+(\\.[0-9]+)?" $ Number . read
, Skip "[ \n\r\t]+"
]
lexer :: Lexer Token
lexer = hlex grammar