X-Git-Url: http://git.megacz.com/?a=blobdiff_plain;f=compiler%2Fparser%2FCtype.lhs;h=6fc346ced366c4870beddb0791882352b776b220;hb=0f5e104c36b1dc3d8deeec5fef3d65e7b3a1b5ad;hp=d813030a9bb2bba468c5b8a895d97d5d78a7d349;hpb=7cce45d8d46d81223ede280ac649a1828d85e641;p=ghc-hetmet.git diff --git a/compiler/parser/Ctype.lhs b/compiler/parser/Ctype.lhs index d813030..6fc346c 100644 --- a/compiler/parser/Ctype.lhs +++ b/compiler/parser/Ctype.lhs @@ -11,7 +11,7 @@ module Ctype , is_digit -- Char# -> Bool , is_alphanum -- Char# -> Bool - , is_hexdigit, is_octdigit + , is_decdigit, is_hexdigit, is_octdigit , hexDigit, octDecDigit ) where @@ -60,15 +60,19 @@ Utils \begin{code} hexDigit :: Char -> Int -hexDigit c | is_digit c = ord c - ord '0' - | otherwise = ord (to_lower c) - ord 'a' + 10 +hexDigit c | is_decdigit c = ord c - ord '0' + | otherwise = ord (to_lower c) - ord 'a' + 10 octDecDigit :: Char -> Int octDecDigit c = ord c - ord '0' +is_decdigit :: Char -> Bool +is_decdigit c + = c >= '0' && c <= '9' + is_hexdigit :: Char -> Bool is_hexdigit c - = is_digit c + = is_decdigit c || (c >= 'a' && c <= 'f') || (c >= 'A' && c <= 'F')