X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=src%2Flex.icl;h=99aa37cbc0dcbb4a7397efd32bdf9ac6e883013f;hb=ff0b269598ad277346c81db9d9bc86b4c244e1e2;hp=b6e56d54b143a7417379f1918fbc2e295a55c2b9;hpb=b4636110ab65f233ed40d4390b62c7799df3c949;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