1
0
forked from GitHub/gf-core

a couple of fixes in new Optimize

This commit is contained in:
aarne
2007-12-07 21:00:24 +00:00
parent d9521d2f4c
commit e90ccb5002
2 changed files with 6 additions and 4 deletions

View File

@@ -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) ----
{- ----

View File

@@ -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')