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/Source/GrammarToSource.hs | |
| parent | ddd103ccd7422c35b5af0bcb5bad5edd49b080bb (diff) | |
Added treatment of transfer modules. Aggregation is an example.
Diffstat (limited to 'src/GF/Source/GrammarToSource.hs')
| -rw-r--r-- | src/GF/Source/GrammarToSource.hs | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/GF/Source/GrammarToSource.hs b/src/GF/Source/GrammarToSource.hs index a211605fc..73f65c85c 100644 --- a/src/GF/Source/GrammarToSource.hs +++ b/src/GF/Source/GrammarToSource.hs @@ -20,10 +20,11 @@ trModule (i,mo) = case mo of (map trFlag (flags m)))) where i' = tri i - mkModule = case typeOfModule mo of - MTResource -> P.MResource - MTAbstract -> P.MAbstract - MTConcrete a -> P.MConcrete (tri a) + mkModule m = case typeOfModule mo of + MTResource -> P.MResource m + MTAbstract -> P.MAbstract m + MTConcrete a -> P.MConcrete m (tri a) + MTTransfer a b -> P.MTransfer m (trOpen a) (trOpen b) trExtend :: Maybe Ident -> P.Extend trExtend i = maybe P.NoExt (P.Ext . tri) i @@ -50,6 +51,7 @@ trAnyDef (i,info) = let i' = tri i in case info of _ -> [] AbsFun (May b) _ -> [P.DefFun [P.FunDef [i'] (P.EIndir (tri b))]] ---- don't destroy definitions! + AbsTrans f -> [P.DefTrans [P.DDef [i'] (trt f)]] ResOper pty ptr -> [P.DefOper [trDef i' pty ptr]] ResParam pp -> [P.DefPar [case pp of |
