lexer iets aangepaste, we parsen geen negatieve ints meer, nu zien we het gewoon...
[cc1516.git] / src / lex.icl
index b6e56d5..99aa37c 100644 (file)
@@ -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