summaryrefslogtreecommitdiff
path: root/src/GF/Conversion/GFC.hs
diff options
context:
space:
mode:
authorpeb <unknown>2005-04-14 17:38:36 +0000
committerpeb <unknown>2005-04-14 17:38:36 +0000
commit5207c27bffd077f1ab322824b485fc6c92d554eb (patch)
treef8a54bde5d80925f5590755859ad31c2e6f9ac3d /src/GF/Conversion/GFC.hs
parentf070a412a1256b39e60b3a819e18c61922a7fe79 (diff)
"Committed_by_peb"
Diffstat (limited to 'src/GF/Conversion/GFC.hs')
-rw-r--r--src/GF/Conversion/GFC.hs24
1 files changed, 22 insertions, 2 deletions
diff --git a/src/GF/Conversion/GFC.hs b/src/GF/Conversion/GFC.hs
index 21b52d2b1..765fb10e0 100644
--- a/src/GF/Conversion/GFC.hs
+++ b/src/GF/Conversion/GFC.hs
@@ -4,9 +4,9 @@
-- Stability : (stable)
-- Portability : (portable)
--
--- > CVS $Date: 2005/04/14 11:42:05 $
+-- > CVS $Date: 2005/04/14 18:38:36 $
-- > CVS $Author: peb $
--- > CVS $Revision: 1.3 $
+-- > CVS $Revision: 1.4 $
--
-- All conversions from GFC
-----------------------------------------------------------------------------
@@ -25,6 +25,9 @@ import qualified GF.Conversion.RemoveSingletons as RemSing
import qualified GF.Conversion.SimpleToMCFG as S2M
import qualified GF.Conversion.MCFGtoCFG as M2C
+----------------------------------------------------------------------
+-- * single step conversions
+
gfc2simple :: (CanonGrammar, Ident) -> SGrammar
gfc2simple = G2S.convertGrammar
@@ -43,4 +46,21 @@ simple2mcfg_strict = S2M.convertGrammarStrict
mcfg2cfg :: MGrammar -> CGrammar
mcfg2cfg = M2C.convertGrammar
+----------------------------------------------------------------------
+-- * GFC -> MCFG
+
+-- | default conversion:
+--
+-- - instantiating finite dependencies ('removeSingletons . simple2finite')
+-- - nondeterministic MCFG conversion ('simple2mcfg_nondet')
+gfc2mcfg :: (CanonGrammar, Ident) -> MGrammar
+gfc2mcfg = simple2mcfg_nondet . removeSingletons . simple2finite . gfc2simple
+
+----------------------------------------------------------------------
+-- * GFC -> CFG
+
+-- | default conversion = default mcfg conversion + trivial cfg conversion
+gfc2cfg :: (CanonGrammar, Ident) -> CGrammar
+gfc2cfg = mcfg2cfg . gfc2mcfg
+