X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=src%2Flex.icl;h=99aa37cbc0dcbb4a7397efd32bdf9ac6e883013f;hb=e9aeda311db78b06a23aa398e18f687cccd67d0d;hp=b6e56d54b143a7417379f1918fbc2e295a55c2b9;hpb=83c1b3ef201e51264439958e1121e8b24d6b3fea;p=cc1516.git diff --git a/src/lex.icl b/src/lex.icl index b6e56d5..99aa37c 100644 --- a/src/lex.icl +++ b/src/lex.icl @@ -15,7 +15,7 @@ SingleCharTokens = fromList [ (',', CommaToken), (':', ColonToken), (';', SColonToken), ('.', DotToken), ('+', PlusToken), ('*', StarToken), ('/', SlashToken), ('%', PercentToken), ('=', AssignmentToken), ('<', LesserToken), - ('>', BiggerToken), ('!', ExclamationToken)] + ('>', BiggerToken), ('!', ExclamationToken), ('-', DashToken)] EscapeMap :: Map Char Char EscapeMap = fromList [('a', toChar 7), ('b', '\b'), ('f', '\f'), ('n', '\n'), @@ -65,10 +65,6 @@ lex ['\'':x:'\'':xs] = ret (CharToken x) xs lex ['\'':'\\':x:'\'':xs] = case get x EscapeMap of Just t = ret (CharToken t) xs _ = err ("Unknown escape: \\" +++ toString x) -lex ['-':t=:[x:xs]] -| isDigit x = let (n, r) = span isDigit t in - ret (NumberToken (toInt $ toString ['-':n])) r -| otherwise = ret DashToken t lex t=:[x:xs] = case get x SingleCharTokens of (Just tok) = ret tok xs Nothing