From 61763b57848eaeb5e08ca0429dc5c0926606ad6c Mon Sep 17 00:00:00 2001 From: aarne Date: Tue, 4 Dec 2007 15:23:49 +0000 Subject: unifying judgement information - now easy --- src/GF/Devel/Grammar/SourceToGF.hs | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) (limited to 'src/GF/Devel/Grammar/SourceToGF.hs') diff --git a/src/GF/Devel/Grammar/SourceToGF.hs b/src/GF/Devel/Grammar/SourceToGF.hs index 0ad966648..d2690b4a7 100644 --- a/src/GF/Devel/Grammar/SourceToGF.hs +++ b/src/GF/Devel/Grammar/SourceToGF.hs @@ -79,6 +79,7 @@ transModDef x = case x of MAbstract id -> do id' <- transIdent id return (transAbsDef, MTAbstract, id') + MGrammar id -> mkModRes id MTGrammar body MResource id -> mkModRes id MTGrammar body MConcrete id open -> do id' <- transIdent id @@ -98,7 +99,8 @@ transModDef x = case x of extends' <- transExtend extends opens' <- transOpens opens defs0 <- mapM trDef $ getTopDefs defs - let defs' = Map.fromList [(i,Left d) | Left ds <- defs0, (i,d) <- ds] + let defs' = Map.fromListWith unifyJudgements + [(i,Left d) | Left ds <- defs0, (i,d) <- ds] let flags' = Map.fromList [f | Right fs <- defs0, f <- fs] return (id', Module mtyp' [] [] extends' opens' flags' defs') @@ -111,7 +113,8 @@ transModDef x = case x of insts' <- mapM transOpen insts opens' <- transOpens opens defs0 <- mapM trDef $ getTopDefs defs - let defs' = Map.fromList [(i,Left d) | Left ds <- defs0, (i,d) <- ds] + let defs' = Map.fromListWith unifyJudgements + [(i,Left d) | Left ds <- defs0, (i,d) <- ds] let flags' = Map.fromList [f | Right fs <- defs0, f <- fs] return (id', Module mtyp' [] [(m',insts')] extends' opens' flags' defs') _ -> fail "deprecated module form" -- cgit v1.2.3