summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authoraarne <aarne@cs.chalmers.se>2007-12-07 21:00:24 +0000
committeraarne <aarne@cs.chalmers.se>2007-12-07 21:00:24 +0000
commite90ccb500287de7e5a335340b23e7d1b6d76ffa4 (patch)
treefe9af8f0b1a3bb0ed5baa2466422c6bcb432aded /src
parentd9521d2f4c8fa0eb515beefbe07bab4d16b6a543 (diff)
a couple of fixes in new Optimize
Diffstat (limited to 'src')
-rw-r--r--src/GF/Devel/Compile/Compile.hs6
-rw-r--r--src/GF/Devel/Compile/Optimize.hs4
2 files changed, 6 insertions, 4 deletions
diff --git a/src/GF/Devel/Compile/Compile.hs b/src/GF/Devel/Compile/Compile.hs
index df3ea079e..70ba5e9c0 100644
--- a/src/GF/Devel/Compile/Compile.hs
+++ b/src/GF/Devel/Compile/Compile.hs
@@ -160,10 +160,10 @@ compileSourceModule opts env@(k,gr) mo@(i,mi) = do
moo <- putpp " optimizing " $ ioeErr $ optimizeModule opts gr mox
intermOut opts (iOpt "show_optimize") (prMod moo)
- mof <- putpp " factorizing " $ ioeErr $ optimizeModule opts gr moo
- intermOut opts (iOpt "show_factorize") (prMod mof)
+---- mof <- putpp " factorizing " $ ioeErr $ optimizeModule opts gr moo
+---- intermOut opts (iOpt "show_factorize") (prMod mof)
- return (k,mof) ----
+ return (k,moo) ----
{- ----
diff --git a/src/GF/Devel/Compile/Optimize.hs b/src/GF/Devel/Compile/Optimize.hs
index 9ed2860fd..1d5024714 100644
--- a/src/GF/Devel/Compile/Optimize.hs
+++ b/src/GF/Devel/Compile/Optimize.hs
@@ -37,17 +37,19 @@ import GF.Data.Operations
import Control.Monad
import Data.List
+import qualified Data.Map as Map
import Debug.Trace
optimizeModule :: Options -> GF -> SourceModule -> Err SourceModule
-optimizeModule opts gf sm@(m,mo) = case mtype mo of
+optimizeModule opts gf0 sm@(m,mo) = case mtype mo of
MTConcrete _ -> opt sm
MTInstance _ -> opt sm
MTGrammar -> opt sm
_ -> return sm
where
+ gf = gf0 {gfmodules = Map.insert m mo (gfmodules gf0)}
opt (m,mo) = do
mo' <- termOpModule (computeTerm gf) mo
return (m,mo')