summaryrefslogtreecommitdiff
path: root/compiler/parser
diff options
context:
space:
mode:
authorMax Bolingbroke <batterseapower@hotmail.com>2011-05-15 19:36:41 +0100
committerMax Bolingbroke <batterseapower@hotmail.com>2011-05-15 19:36:52 +0100
commit6ddfe9b18d4d280676aab2fa797ddbe6f8a09d6b (patch)
tree4da828842a9a87a48073fcc56b3af7028c3d0f66 /compiler/parser
parent3391a03562d4056de7b16cd0f632e6c43ae44cca (diff)
downloadhaskell-6ddfe9b18d4d280676aab2fa797ddbe6f8a09d6b.tar.gz
Use FractionalLit more extensively to improve other pretty printers
Diffstat (limited to 'compiler/parser')
-rw-r--r--compiler/parser/Lexer.x13
1 files changed, 8 insertions, 5 deletions
diff --git a/compiler/parser/Lexer.x b/compiler/parser/Lexer.x
index 27424323c6..b20d2c011c 100644
--- a/compiler/parser/Lexer.x
+++ b/compiler/parser/Lexer.x
@@ -547,8 +547,8 @@ data Token
| ITprimstring FastString
| ITprimint Integer
| ITprimword Integer
- | ITprimfloat Rational
- | ITprimdouble Rational
+ | ITprimfloat FractionalLit
+ | ITprimdouble FractionalLit
-- Template Haskell extension tokens
| ITopenExpQuote -- [| or [e|
@@ -1061,9 +1061,12 @@ hexadecimal = (16,hexDigit)
-- readRational can understand negative rationals, exponents, everything.
tok_float, tok_primfloat, tok_primdouble :: String -> Token
-tok_float str = ITrational $! FL { fl_text = str, fl_value = readRational str }
-tok_primfloat str = ITprimfloat $! readRational str
-tok_primdouble str = ITprimdouble $! readRational str
+tok_float str = ITrational $! readFractionalLit str
+tok_primfloat str = ITprimfloat $! readFractionalLit str
+tok_primdouble str = ITprimdouble $! readFractionalLit str
+
+readFractionalLit :: String -> FractionalLit
+readFractionalLit str = (FL $! str) $! readRational str
-- -----------------------------------------------------------------------------
-- Layout processing