diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:43:48 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-25 16:43:48 +0000 |
| commit | b96b36f43de3e2f8b58d5f539daa6f6d47f25870 (patch) | |
| tree | 0992334be13cec6538a1dea22fbbf26ad6bdf224 /src/GF/UseGrammar/Transfer.hs | |
| parent | fe367412e0aeb4ad5c02de68e6eca382e0f96984 (diff) | |
removed src for 2.9
Diffstat (limited to 'src/GF/UseGrammar/Transfer.hs')
| -rw-r--r-- | src/GF/UseGrammar/Transfer.hs | 79 |
1 files changed, 0 insertions, 79 deletions
diff --git a/src/GF/UseGrammar/Transfer.hs b/src/GF/UseGrammar/Transfer.hs deleted file mode 100644 index 5d62f4385..000000000 --- a/src/GF/UseGrammar/Transfer.hs +++ /dev/null @@ -1,79 +0,0 @@ ----------------------------------------------------------------------- --- | --- Module : Transfer --- Maintainer : AR --- Stability : (stable) --- Portability : (portable) --- --- > CVS $Date: 2005/04/21 16:23:53 $ --- > CVS $Author: bringert $ --- > CVS $Revision: 1.5 $ --- --- linearize, parse, etc, by transfer. AR 9\/10\/2003 ------------------------------------------------------------------------------ - -module GF.UseGrammar.Transfer where - -import GF.Grammar.Grammar -import GF.Grammar.Values -import GF.Grammar.AbsCompute -import qualified GF.Canon.GFC as GFC -import GF.Grammar.LookAbs -import GF.Grammar.MMacros -import GF.Grammar.Macros -import GF.Grammar.PrGrammar -import GF.Grammar.TypeCheck - -import GF.Infra.Ident -import GF.Data.Operations - -import qualified Transfer.Core.Abs as T - -import Control.Monad - - --- transfer is done in T.Exp - we only need these conversions. - -exp2core :: Ident -> Exp -> T.Exp -exp2core f = T.EApp (T.EVar (var f)) . exp2c where - exp2c e = case e of - App f a -> T.EApp (exp2c f) (exp2c a) - Abs x b -> T.EAbs (T.PVVar (var x)) (exp2c b) ---- should be syntactic abstr - Q _ c -> T.EVar (var c) - QC _ c -> T.EVar (var c) - K s -> T.EStr s - EInt i -> T.EInteger $ toInteger i - Meta m -> T.EMeta (T.TMeta (prt m)) ---- which meta symbol? - Vr x -> T.EVar (var x) ---- should be syntactic var - - var x = T.CIdent $ prt x - -core2exp :: T.Exp -> Exp -core2exp e = case e of - T.EApp f a -> App (core2exp f) (core2exp a) - T.EAbs (T.PVVar x) b -> Abs (var x) (core2exp b) ---- only from syntactic abstr - T.EVar c -> Vr (var c) -- GF annotates to Q or QC - T.EStr s -> K s - T.EInteger i -> EInt $ fromInteger i - T.EMeta _ -> uExp -- meta symbol 0, refreshed by GF - where - var :: T.CIdent -> Ident - var (T.CIdent x) = zIdent x - - - --- The following are now obsolete (30/11/2005) --- linearize, parse, etc, by transfer. AR 9/10/2003 - -doTransfer :: GFC.CanonGrammar -> Ident -> Tree -> Err Tree -doTransfer gr tra t = do - cat <- liftM snd $ val2cat $ valTree t - f <- lookupTransfer gr tra cat - e <- compute gr $ App f $ tree2exp t - annotate gr e - -useByTransfer :: (Tree -> Err a) -> GFC.CanonGrammar -> Ident -> (Tree -> Err a) -useByTransfer lin gr tra t = doTransfer gr tra t >>= lin - -mkByTransfer :: (a -> Err [Tree]) -> GFC.CanonGrammar -> Ident -> (a -> Err [Tree]) -mkByTransfer parse gr tra s = parse s >>= mapM (doTransfer gr tra) |
