diff options
| author | peb <unknown> | 2005-04-18 13:55:32 +0000 |
|---|---|---|
| committer | peb <unknown> | 2005-04-18 13:55:32 +0000 |
| commit | c1592825c71867711a63293b588fcbc97e52bfc4 (patch) | |
| tree | 5b042471de94431e15f8fda2c6ff9a85bce99cef /src/GF/Parsing/CFG | |
| parent | 1323b7406376c72f40b1e561e079f8824f79aabf (diff) | |
"Committed_by_peb"
Diffstat (limited to 'src/GF/Parsing/CFG')
| -rw-r--r-- | src/GF/Parsing/CFG/General.hs | 11 | ||||
| -rw-r--r-- | src/GF/Parsing/CFG/Incremental.hs | 15 | ||||
| -rw-r--r-- | src/GF/Parsing/CFG/PInfo.hs | 22 |
3 files changed, 25 insertions, 23 deletions
diff --git a/src/GF/Parsing/CFG/General.hs b/src/GF/Parsing/CFG/General.hs index 33e0b9232..52b3c5665 100644 --- a/src/GF/Parsing/CFG/General.hs +++ b/src/GF/Parsing/CFG/General.hs @@ -4,9 +4,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/04/16 05:40:49 $ +-- > CVS $Date: 2005/04/18 14:55:33 $ -- > CVS $Author: peb $ --- > CVS $Revision: 1.2 $ +-- > CVS $Revision: 1.3 $ -- -- CFG parsing with a general chart ----------------------------------------------------------------------------- @@ -26,7 +26,8 @@ import Monad parse :: (Ord n, Ord c, Ord t) => Strategy -> CFParser c n t parse strategy grammar start = extract . - tracePrt "#internal chart" (prt . length . chartList) . + tracePrt "Parsing.CFG.General - size internal of chart" + (prt . length . chartList) . process strategy grammar start -- | parsing strategy: (isBottomup, isTopdown) @@ -54,8 +55,8 @@ process :: (Ord n, Ord c, Ord t) => -> Input t -- ^ input string -> IChart n (Symbol c t) process (isBottomup, isTopdown) grammar start - = trace2 "CFParserGeneral" ((if isBottomup then " BU" else "") ++ - (if isTopdown then " TD" else "")) $ + = trace2 "Parsing.CFG.General - strategy" ((if isBottomup then " BU" else "") ++ + (if isTopdown then " TD" else "")) $ buildChart keyof [predict, combine] . axioms where axioms input = initial ++ scan input diff --git a/src/GF/Parsing/CFG/Incremental.hs b/src/GF/Parsing/CFG/Incremental.hs index e934b48c5..54aaf3b6d 100644 --- a/src/GF/Parsing/CFG/Incremental.hs +++ b/src/GF/Parsing/CFG/Incremental.hs @@ -4,9 +4,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/04/16 05:40:49 $ +-- > CVS $Date: 2005/04/18 14:55:33 $ -- > CVS $Author: peb $ --- > CVS $Revision: 1.2 $ +-- > CVS $Revision: 1.3 $ -- -- Incremental chart parsing for CFG ----------------------------------------------------------------------------- @@ -34,7 +34,8 @@ type Strategy = ((Bool, Bool), (Bool, Bool)) parse :: (Ord n, Ord c, Ord t) => Strategy -> CFParser c n t parse strategy grammar start = extract . - tracePrt "#internal chart" (prt . length . flip chartList const) . + tracePrt "Parsing.CFG.Incremental - size of internal chart" + (prt . length . flip chartList const) . process strategy grammar start extract :: (Ord n, Ord c, Ord t) => @@ -54,10 +55,10 @@ extract finalChart = [ CFRule (Edge j k cat) daughters name | process :: (Ord n, Ord c, Ord t) => Strategy -> CFPInfo c n t -> [c] -> Input t -> IChart c n t process ((isPredictBU, isPredictTD), (isFilterBU, isFilterTD)) grammar start input - = trace2 "CFParserIncremental" ((if isPredictBU then "BU-predict " else "") ++ - (if isPredictTD then "TD-predict " else "") ++ - (if isFilterBU then "BU-filter " else "") ++ - (if isFilterTD then "TD-filter " else "")) $ + = trace2 "Parsing.CFG.Incremental - strategy" ((if isPredictBU then "BU-predict " else "") ++ + (if isPredictTD then "TD-predict " else "") ++ + (if isFilterBU then "BU-filter " else "") ++ + (if isFilterTD then "TD-filter " else "")) $ finalChart where finalChart = buildChart keyof rules axioms $ inputBounds input diff --git a/src/GF/Parsing/CFG/PInfo.hs b/src/GF/Parsing/CFG/PInfo.hs index 63c506e19..c8bb9af29 100644 --- a/src/GF/Parsing/CFG/PInfo.hs +++ b/src/GF/Parsing/CFG/PInfo.hs @@ -4,9 +4,9 @@ -- Stability : (stable) -- Portability : (portable) -- --- > CVS $Date: 2005/04/16 05:40:49 $ +-- > CVS $Date: 2005/04/18 14:55:33 $ -- > CVS $Author: peb $ --- > CVS $Revision: 1.2 $ +-- > CVS $Revision: 1.3 $ -- -- CFG parsing, parser information ----------------------------------------------------------------------------- @@ -51,7 +51,7 @@ buildCFPInfo :: (Ord n, Ord c, Ord t) => CFGrammar c n t -> CFPInfo c n t -- this is not permanent... buildCFPInfo grammar = traceCalcFirst grammar $ - tracePrt "cf parser info" (prt) $ + tracePrt "CFG.PInfo - parser info" (prt) $ pInfo' (filter (not . isCyclic) grammar) pInfo' grammar = CFPInfo grToks nmRules tdRules buRules elcRules emptyCats cyclicCats leftToks @@ -84,14 +84,14 @@ isCyclic _ = False ---------------------------------------------------------------------- instance (Ord n, Ord c, Ord t) => Print (CFPInfo n c t) where - prt pI = "[ tokens=" ++ sl grammarTokens ++ - "; names=" ++ sla nameRules ++ - "; tdCats=" ++ sla topdownRules ++ - "; buCats=" ++ sla bottomupRules ++ - "; elcCats=" ++ sla emptyLeftcornerRules ++ - "; eCats=" ++ sla emptyCategories ++ - "; cCats=" ++ sl cyclicCategories ++ - "; lctokCats=" ++ sla leftcornerTokens ++ + prt pI = "[ nr. tokens=" ++ sl grammarTokens ++ + "; nr. names=" ++ sla nameRules ++ + "; nr. tdCats=" ++ sla topdownRules ++ + "; nr. buCats=" ++ sla bottomupRules ++ + "; nr. elcCats=" ++ sla emptyLeftcornerRules ++ + "; nr. eCats=" ++ sla emptyCategories ++ + "; nr. cCats=" ++ sl cyclicCategories ++ + "; nr. lctokCats=" ++ sla leftcornerTokens ++ " ]" where sla f = show $ length $ aElems $ f pI sl f = show $ length $ f pI |
