From 731b5c4f98d456f3d94b5bec6865bdaa8b545651 Mon Sep 17 00:00:00 2001 From: bringert Date: Thu, 28 Jun 2007 01:26:09 +0000 Subject: [PATCH] CFRules tracing. --- src/GF/Speech/SRG.hs | 2 +- src/GF/Speech/TransformCFG.hs | 6 ++++++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/src/GF/Speech/SRG.hs b/src/GF/Speech/SRG.hs index 2691b6171..56d17eed4 100644 --- a/src/GF/Speech/SRG.hs +++ b/src/GF/Speech/SRG.hs @@ -101,7 +101,7 @@ makeSimpleSRG opt s = makeSRG preprocess opt s . removeCycles . traceStats "Inital CFG" -traceStats s g = trace (s ++ ": " ++ stats g) g +traceStats s g = trace ("---- " ++ s ++ ": " ++ stats g {- ++ "\n" ++ prCFRules g ++ "----" -}) g stats g = "Categories: " ++ show (countCats g) ++ " Rules: " ++ show (countRules g) diff --git a/src/GF/Speech/TransformCFG.hs b/src/GF/Speech/TransformCFG.hs index 4e38216d9..bca42d4fe 100644 --- a/src/GF/Speech/TransformCFG.hs +++ b/src/GF/Speech/TransformCFG.hs @@ -369,3 +369,9 @@ isLeftLinear :: Ord c => -> CFRule c n t -- ^ The rule to check for left-linearity -> Bool isLeftLinear cs = noCatsInSet cs . drop 1 . ruleRhs + +prCFRules :: CFRules -> String +prCFRules = unlines . map prRule . allRules + where + prRule r = lhsCat r ++ " --> " ++ unwords (map prSym (ruleRhs r)) + prSym = symbol id (\t -> "\""++ t ++"\"")