summaryrefslogtreecommitdiff
path: root/src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs
diff options
context:
space:
mode:
Diffstat (limited to 'src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs')
-rw-r--r--src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs9
1 files changed, 4 insertions, 5 deletions
diff --git a/src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs b/src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs
index d46d8096f..23bb8a542 100644
--- a/src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs
+++ b/src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs
@@ -1,9 +1,11 @@
module GF.GFCC.Raw.PrintGFCCRaw (printTree) where
+import GF.GFCC.CId
import GF.GFCC.Raw.AbsGFCCRaw
import Data.List (intersperse)
import Numeric (showFFloat)
+import qualified Data.ByteString.Char8 as BS
printTree :: Grammar -> String
printTree g = prGrammar g ""
@@ -12,8 +14,8 @@ prGrammar :: Grammar -> ShowS
prGrammar (Grm xs) = prRExpList xs
prRExp :: Int -> RExp -> ShowS
-prRExp _ (App x []) = prCId x
-prRExp n (App x xs) = p (prCId x . showChar ' ' . prRExpList xs)
+prRExp _ (App x []) = showString x
+prRExp n (App x xs) = p (showString 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 '"'
@@ -29,8 +31,5 @@ mkEsc s = case s of
prRExpList :: [RExp] -> ShowS
prRExpList = concatS . intersperse (showChar ' ') . map (prRExp 1)
-prCId :: CId -> ShowS
-prCId (CId x) = showString x
-
concatS :: [ShowS] -> ShowS
concatS = foldr (.) id