From 14defedc653f50d11a52cecba13632688d1ec811 Mon Sep 17 00:00:00 2001 From: aarne Date: Sat, 17 Dec 2005 20:44:20 +0000 Subject: tutorial; mkMorpho bug fix --- src/GF/UseGrammar/Morphology.hs | 5 ++++- src/HelpFile | 1 - 2 files changed, 4 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/GF/UseGrammar/Morphology.hs b/src/GF/UseGrammar/Morphology.hs index 626269836..8b9935c23 100644 --- a/src/GF/UseGrammar/Morphology.hs +++ b/src/GF/UseGrammar/Morphology.hs @@ -23,6 +23,7 @@ import GF.Canon.AbsGFC import GF.Canon.GFC import GF.Grammar.PrGrammar import GF.Canon.CMacros +import GF.Canon.Look import GF.Grammar.LookAbs import GF.Infra.Ident import qualified GF.Grammar.Macros as M @@ -63,13 +64,15 @@ isKnownWord mo = not . null . snd . appMorphoOnly mo mkMorpho :: CanonGrammar -> Ident -> Morpho mkMorpho gr a = tcompile $ concatMap mkOne $ allItems where + comp = ccompute gr [] -- to undo 'values' optimization + mkOne (Left (fun,c)) = map (prOne fun c) $ allLins fun mkOne (Right (fun,_)) = map (prSyn fun) $ allSyns fun -- gather forms of lexical items allLins fun@(m,f) = errVal [] $ do ts <- allLinsOfFun gr (CIQ a f) - ss <- mapM (mapPairsM (mapPairsM (return . wordsInTerm))) ts + ss <- mapM (mapPairsM (mapPairsM (liftM wordsInTerm . comp))) ts return [(p,s) | (p,fs) <- concat $ map snd $ concat ss, s <- fs] prOne (_,f) c (ps,s) = (s, [prt f +++ tagPrt c +++ unwords (map prt_ ps)]) diff --git a/src/HelpFile b/src/HelpFile index 880876f16..b4ebef76c 100644 --- a/src/HelpFile +++ b/src/HelpFile @@ -532,7 +532,6 @@ q, quit: q Each of the flags can have the suffix _subs, which performs common subexpression elimination after the main optimization. Thus, -optimize=all_subs is the most aggressive one. - -optimize=share share common branches in tables -optimize=parametrize first try parametrize then do share with the rest -optimize=values represent tables as courses-of-values -- cgit v1.2.3