summaryrefslogtreecommitdiff
path: root/src/GF/Canon
diff options
context:
space:
mode:
authoraarne <unknown>2005-05-30 20:08:14 +0000
committeraarne <unknown>2005-05-30 20:08:14 +0000
commit3a3342a0f96ba33d0df745b87f700b9998c86f4f (patch)
tree65b80ed0a88f823ed680b76c06ad0c518f94f612 /src/GF/Canon
parent5bf9a7fe706e4e2d45f148dddf591c34ed1b72b3 (diff)
restricted inheritance almost implemented
Diffstat (limited to 'src/GF/Canon')
-rw-r--r--src/GF/Canon/CanonToGrammar.hs8
-rw-r--r--src/GF/Canon/MkGFC.hs8
2 files changed, 8 insertions, 8 deletions
diff --git a/src/GF/Canon/CanonToGrammar.hs b/src/GF/Canon/CanonToGrammar.hs
index b26aeca26..be901d5ee 100644
--- a/src/GF/Canon/CanonToGrammar.hs
+++ b/src/GF/Canon/CanonToGrammar.hs
@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
--- > CVS $Date: 2005/04/21 16:21:21 $
--- > CVS $Author: bringert $
--- > CVS $Revision: 1.13 $
+-- > CVS $Date: 2005/05/30 21:08:14 $
+-- > CVS $Author: aarne $
+-- > CVS $Revision: 1.14 $
--
-- a decompiler. AR 12/6/2003 -- 19/4/2004
-----------------------------------------------------------------------------
@@ -53,7 +53,7 @@ canon2sourceModule (i,mi) = do
return (i',info')
where
redExtOpen m = do
- e' <- mapM redIdent $ M.extends m
+ e' <- return $ M.extend m
os' <- mapM (\ (M.OSimple q i) -> liftM (\i -> M.OQualif q i i) (redIdent i)) $
M.opens m
return (e',os')
diff --git a/src/GF/Canon/MkGFC.hs b/src/GF/Canon/MkGFC.hs
index d727edd08..81706e9b7 100644
--- a/src/GF/Canon/MkGFC.hs
+++ b/src/GF/Canon/MkGFC.hs
@@ -5,9 +5,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
--- > CVS $Date: 2005/05/30 18:39:43 $
+-- > CVS $Date: 2005/05/30 21:08:14 $
-- > CVS $Author: aarne $
--- > CVS $Revision: 1.14 $
+-- > CVS $Revision: 1.15 $
--
-- (Description of the module)
-----------------------------------------------------------------------------
@@ -52,7 +52,7 @@ mod2info m = case m of
MTTrans a x y -> (a,M.MTTransfer (M.oSimple x) (M.oSimple y))
in (a,M.ModMod (M.Module mt' M.MSComplete flags (ee e) (oo os) defs'))
where
- ee (Ext m) = m
+ ee (Ext m) = map M.inheritAll m
ee _ = []
oo (Opens ms) = map M.oSimple ms
oo _ = []
@@ -72,7 +72,7 @@ info2mod m = case m of
in
Mod mt' (gfcE me) (gfcO os) flags defs'
where
- gfcE = ifNull NoExt Ext
+ gfcE = ifNull NoExt Ext . map fst
gfcO os = if null os then NoOpens else Opens [m | M.OSimple _ m <- os]