summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/GF/GFCC/Raw/ParGFCCRaw.hs2
-rw-r--r--src/GF/GFCC/Raw/PrintGFCCRaw.hs5
2 files changed, 2 insertions, 5 deletions
diff --git a/src/GF/GFCC/Raw/ParGFCCRaw.hs b/src/GF/GFCC/Raw/ParGFCCRaw.hs
index 06ed83c04..051358211 100644
--- a/src/GF/GFCC/Raw/ParGFCCRaw.hs
+++ b/src/GF/GFCC/Raw/ParGFCCRaw.hs
@@ -21,9 +21,7 @@ pTerm n = skipSpaces >> (pParen <++ pApp <++ pNum <++ pStr <++ pMeta)
where pParen = between (char '(') (char ')') (pTerm 0)
pApp = liftM2 App pIdent (if n == 0 then pTerms else return [])
pStr = char '"' >> liftM AStr (manyTill (pEsc <++ get) (char '"'))
- -- FIXME: what escapes are used?
pEsc = char '\\' >> get
- -- FIXME: what formats?
pNum = do x <- munch1 isDigit
((char '.' >> munch1 isDigit >>= \y -> return (AFlt (read (x++"."++y))))
<++
diff --git a/src/GF/GFCC/Raw/PrintGFCCRaw.hs b/src/GF/GFCC/Raw/PrintGFCCRaw.hs
index 45ca6b9cb..d46d8096f 100644
--- a/src/GF/GFCC/Raw/PrintGFCCRaw.hs
+++ b/src/GF/GFCC/Raw/PrintGFCCRaw.hs
@@ -3,6 +3,7 @@ module GF.GFCC.Raw.PrintGFCCRaw (printTree) where
import GF.GFCC.Raw.AbsGFCCRaw
import Data.List (intersperse)
+import Numeric (showFFloat)
printTree :: Grammar -> String
printTree g = prGrammar g ""
@@ -16,15 +17,13 @@ prRExp n (App x xs) = p (prCId x . showChar ' ' . prRExpList xs)
where p s = if n == 0 then s else showChar '(' . s . showChar ')'
prRExp _ (AInt x) = shows x
prRExp _ (AStr x) = showChar '"' . concatS (map mkEsc x) . showChar '"'
-prRExp _ (AFlt x) = shows x -- FIXME: simpler format
+prRExp _ (AFlt x) = showFFloat Nothing x
prRExp _ AMet = showChar '?'
mkEsc :: Char -> ShowS
mkEsc s = case s of
'"' -> showString "\\\""
'\\' -> showString "\\\\"
- '\n' -> showString "\\n"
- '\t' -> showString "\\t"
_ -> showChar s
prRExpList :: [RExp] -> ShowS