mirror of
https://github.com/GrammaticalFramework/gf-core.git
synced 2026-05-11 04:02:52 -06:00
a couple of fixes in new Optimize
This commit is contained in:
@@ -160,10 +160,10 @@ compileSourceModule opts env@(k,gr) mo@(i,mi) = do
|
|||||||
moo <- putpp " optimizing " $ ioeErr $ optimizeModule opts gr mox
|
moo <- putpp " optimizing " $ ioeErr $ optimizeModule opts gr mox
|
||||||
intermOut opts (iOpt "show_optimize") (prMod moo)
|
intermOut opts (iOpt "show_optimize") (prMod moo)
|
||||||
|
|
||||||
mof <- putpp " factorizing " $ ioeErr $ optimizeModule opts gr moo
|
---- mof <- putpp " factorizing " $ ioeErr $ optimizeModule opts gr moo
|
||||||
intermOut opts (iOpt "show_factorize") (prMod mof)
|
---- intermOut opts (iOpt "show_factorize") (prMod mof)
|
||||||
|
|
||||||
return (k,mof) ----
|
return (k,moo) ----
|
||||||
|
|
||||||
|
|
||||||
{- ----
|
{- ----
|
||||||
|
|||||||
@@ -37,17 +37,19 @@ import GF.Data.Operations
|
|||||||
|
|
||||||
import Control.Monad
|
import Control.Monad
|
||||||
import Data.List
|
import Data.List
|
||||||
|
import qualified Data.Map as Map
|
||||||
|
|
||||||
import Debug.Trace
|
import Debug.Trace
|
||||||
|
|
||||||
|
|
||||||
optimizeModule :: Options -> GF -> SourceModule -> Err SourceModule
|
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
|
MTConcrete _ -> opt sm
|
||||||
MTInstance _ -> opt sm
|
MTInstance _ -> opt sm
|
||||||
MTGrammar -> opt sm
|
MTGrammar -> opt sm
|
||||||
_ -> return sm
|
_ -> return sm
|
||||||
where
|
where
|
||||||
|
gf = gf0 {gfmodules = Map.insert m mo (gfmodules gf0)}
|
||||||
opt (m,mo) = do
|
opt (m,mo) = do
|
||||||
mo' <- termOpModule (computeTerm gf) mo
|
mo' <- termOpModule (computeTerm gf) mo
|
||||||
return (m,mo')
|
return (m,mo')
|
||||||
|
|||||||
Reference in New Issue
Block a user