diff options
Diffstat (limited to 'src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs')
| -rw-r--r-- | src-3.0/GF/GFCC/Raw/PrintGFCCRaw.hs | 9 |
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 |
