diff options
| author | aarne <unknown> | 2003-10-09 15:23:32 +0000 |
|---|---|---|
| committer | aarne <unknown> | 2003-10-09 15:23:32 +0000 |
| commit | 2ee936c7e23bd690b05b8362179911a2d176f150 (patch) | |
| tree | 00e54d208f21b4f0278aab96ae551ecd6cae4abc /src/GF/Compile/GrammarToCanon.hs | |
| parent | ddd103ccd7422c35b5af0bcb5bad5edd49b080bb (diff) | |
Added treatment of transfer modules. Aggregation is an example.
Diffstat (limited to 'src/GF/Compile/GrammarToCanon.hs')
| -rw-r--r-- | src/GF/Compile/GrammarToCanon.hs | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/src/GF/Compile/GrammarToCanon.hs b/src/GF/Compile/GrammarToCanon.hs index 23833a3c2..07708dd3c 100644 --- a/src/GF/Compile/GrammarToCanon.hs +++ b/src/GF/Compile/GrammarToCanon.hs @@ -43,6 +43,7 @@ redModInfo (c,info) = do return (a', MTConcrete a') MTAbstract -> return (c',MTAbstract) --- c' not needed MTResource -> return (c',MTResource) --- c' not needed + MTTransfer x y -> return (c',MTTransfer (om x) (om y)) --- c' not needed defss <- mapM (redInfo a) $ tree2list $ jments m defs <- return $ sorted2tree $ concat defss -- sorted, but reduced return $ ModMod $ Module mt flags e os defs @@ -54,6 +55,7 @@ redModInfo (c,info) = do _ -> return Nothing os' <- mapM (\ (OQualif _ i) -> liftM OSimple (redIdent i)) $ opens m return (e',os') + om = OSimple . openedModule --- normalizing away qualif redInfo :: Ident -> (Ident,Info) -> Err [(Ident,C.Info)] redInfo am (c,info) = errIn ("translating definition of" +++ prt c) $ do @@ -69,6 +71,8 @@ redInfo am (c,info) = errIn ("translating definition of" +++ prt c) $ do Yes t -> t _ -> EData --- data vs. primitive returns c' $ C.AbsFun typ df + AbsTrans t -> + returns c' $ C.AbsTrans t ResParam (Yes ps) -> do ps' <- mapM redParam ps |
