From 2ee936c7e23bd690b05b8362179911a2d176f150 Mon Sep 17 00:00:00 2001 From: aarne Date: Thu, 9 Oct 2003 15:23:32 +0000 Subject: Added treatment of transfer modules. Aggregation is an example. --- src/GF/Source/SourceToGrammar.hs | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) (limited to 'src/GF/Source/SourceToGrammar.hs') diff --git a/src/GF/Source/SourceToGrammar.hs b/src/GF/Source/SourceToGrammar.hs index b6c3f3a44..9e016d711 100644 --- a/src/GF/Source/SourceToGrammar.hs +++ b/src/GF/Source/SourceToGrammar.hs @@ -150,9 +150,8 @@ transAbsDef x = case x of [(c, G.AbsCat nope (yes ps)) | (c,ps) <- ds'] ++ [(f, G.AbsFun nope (yes G.EData)) | (_,fs) <- ds', tf <- fs, f <- funs tf] DefTrans defs -> do - let (ids,vals) = unzip [(i,v) | FlagDef i v <- defs] - defs' <- liftM2 zip (mapM transIdent ids) (mapM transIdent vals) - returnl [(c, G.AbsTrans f) | (c,f) <- defs'] + defs' <- liftM concat $ mapM getDefsGen defs + returnl [(c, G.AbsTrans f) | (c,(_,Yes f)) <- defs'] DefFlag defs -> liftM Right $ mapM transFlagDef defs _ -> Bad $ "illegal definition in abstract module:" ++++ printTree x where -- cgit v1.2.3