1
0
forked from GitHub/gf-core

names resolve in new GFtoGFCC

This commit is contained in:
aarne
2007-12-08 10:37:49 +00:00
parent 84c9f3f483
commit 5aca148d20
3 changed files with 65 additions and 47 deletions

View File

@@ -26,6 +26,9 @@ listModules = assocs.gfmodules
addModule :: Ident -> Module -> GF -> GF
addModule c m gf = gf {gfmodules = insert c m (gfmodules gf)}
gfModules :: [(Ident,Module)] -> GF
gfModules ms = emptyGF {gfmodules = fromList ms}
-- abstractions on Module
emptyModule :: Ident -> Module

View File

@@ -171,11 +171,12 @@ label2ident (LIdent c) = identC c
-- to apply a term operation to every term in a judgement, module, grammar
termOpGF :: Monad m => (Term -> m Term) -> GF -> m GF
termOpGF f g = do
ms <- mapMapM fm (gfmodules g)
termOpGF f = moduleOpGF (termOpModule f)
moduleOpGF :: Monad m => (Module -> m Module) -> GF -> m GF
moduleOpGF f g = do
ms <- mapMapM f (gfmodules g)
return g {gfmodules = ms}
where
fm = termOpModule f
termOpModule :: Monad m => (Term -> m Term) -> Module -> m Module
termOpModule f = judgementOpModule fj where