diff options
Diffstat (limited to 'src/GF/Compile/OptimizeGFCC.hs')
| -rw-r--r-- | src/GF/Compile/OptimizeGFCC.hs | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/src/GF/Compile/OptimizeGFCC.hs b/src/GF/Compile/OptimizeGFCC.hs index c73d5bbcb..2a218e1bb 100644 --- a/src/GF/Compile/OptimizeGFCC.hs +++ b/src/GF/Compile/OptimizeGFCC.hs @@ -2,6 +2,7 @@ module GF.Compile.OptimizeGFCC where import PGF.CId import PGF.Data +import PGF.Macros import GF.Data.Operations @@ -16,9 +17,7 @@ optPGF :: PGF -> PGF optPGF = cseOptimize . suffixOptimize suffixOptimize :: PGF -> PGF -suffixOptimize pgf = pgf { - concretes = Map.map opt (concretes pgf) - } +suffixOptimize = mapConcretes opt where opt cnc = cnc { lins = Map.map optTerm (lins cnc), @@ -27,9 +26,7 @@ suffixOptimize pgf = pgf { } cseOptimize :: PGF -> PGF -cseOptimize pgf = pgf { - concretes = Map.map subex (concretes pgf) - } +cseOptimize = mapConcretes subex -- analyse word form lists into prefix + suffixes -- suffix sets can later be shared by subex elim |
