never executed always true always false
1 module HelVM.HelMA.Automata.WhiteSpace.Lexer where
2
3 import HelVM.HelMA.Automata.WhiteSpace.API.TokenType
4 import HelVM.HelMA.Automata.WhiteSpace.Token
5
6 import HelVM.HelIO.ReadText
7 import HelVM.HelMA.Automaton.API.IOTypes
8 import HelVM.HelMA.Automaton.WrapTokenList
9
10 -- | Lexer
11
12 tokenize ∷ TokenType → Source → TokenList
13 tokenize VisibleTokenType = tokenizeVisible
14 tokenize _ = tokenizeWhite
15
16 tokenizeVisible ∷ Source → TokenList
17 tokenizeVisible = unWrapTokenList . readVisibleTokens
18
19 tokenizeWhite ∷ Source → TokenList
20 tokenizeWhite = whiteTokenListToTokenList . unWrapTokenList . readWhiteTokens
21
22 readVisibleTokens ∷ Source → VisibleTokens
23 readVisibleTokens source = readTextUnsafe source :: VisibleTokens
24
25 readWhiteTokens ∷ Source → WhiteTokens
26 readWhiteTokens source = readTextUnsafe source :: WhiteTokens
27
28 type VisibleTokens = WrapTokenList TokenList
29
30 type WhiteTokens = WrapTokenList WhiteTokenList