diff options
| author | kr.angelov <kr.angelov@gmail.com> | 2007-09-24 08:12:11 +0000 |
|---|---|---|
| committer | kr.angelov <kr.angelov@gmail.com> | 2007-09-24 08:12:11 +0000 |
| commit | 6aacec3591e0e6e1d3ddca4605f6467e302cb65f (patch) | |
| tree | b18525e17809f1bbef96c6778038085eb7bd8ea0 /src/GF/Conversion | |
| parent | 0cd5e62e836e8cb8d2b49f76bfb899081aa2366f (diff) | |
remove FTypes module and move all definitions to Formalism.FCFG
Diffstat (limited to 'src/GF/Conversion')
| -rw-r--r-- | src/GF/Conversion/FTypes.hs | 63 | ||||
| -rw-r--r-- | src/GF/Conversion/GFC.hs | 3 | ||||
| -rw-r--r-- | src/GF/Conversion/SimpleToFCFG.hs | 5 |
3 files changed, 2 insertions, 69 deletions
diff --git a/src/GF/Conversion/FTypes.hs b/src/GF/Conversion/FTypes.hs deleted file mode 100644 index 9409fc4ee..000000000 --- a/src/GF/Conversion/FTypes.hs +++ /dev/null @@ -1,63 +0,0 @@ -module GF.Conversion.FTypes where - -import qualified GF.Canon.GFCC.AbsGFCC as AbsGFCC (CId(..)) - -import GF.Formalism.FCFG -import GF.Formalism.Utilities -import GF.Infra.PrintClass -import GF.Data.Assoc - -import Control.Monad (foldM) -import Data.Array - ----------------------------------------------------------------------- --- * basic (leaf) types - --- ** input tokens - ----- type Token = String ---- inlined in FGrammar and FRule - - ----------------------------------------------------------------------- --- * fast nonerasing MCFG - -type FIndex = Int -type FPath = [FIndex] -type FName = NameProfile AbsGFCC.CId -type FGrammar = FCFGrammar FCat FName String -type FRule = FCFRule FCat FName String -data FCat = FCat {-# UNPACK #-} !Int AbsGFCC.CId [FPath] [(FPath,FIndex)] - -initialFCat :: AbsGFCC.CId -> FCat -initialFCat cat = FCat 0 cat [] [] - -fcatString = FCat (-1) (AbsGFCC.CId "String") [[0]] [] -fcatInt = FCat (-2) (AbsGFCC.CId "Int") [[0]] [] -fcatFloat = FCat (-3) (AbsGFCC.CId "Float") [[0]] [] - -fcat2cid :: FCat -> AbsGFCC.CId -fcat2cid (FCat _ c _ _) = c - -instance Eq FCat where - (FCat id1 _ _ _) == (FCat id2 _ _ _) = id1 == id2 - -instance Ord FCat where - compare (FCat id1 _ _ _) (FCat id2 _ _ _) = compare id1 id2 - -instance Print AbsGFCC.CId where - prt (AbsGFCC.CId s) = s - -isCoercionF :: FName -> Bool -isCoercionF (Name fun [Unify [0]]) = fun == AbsGFCC.CId "_" -isCoercionF _ = False - - ----------------------------------------------------------------------- --- * pretty-printing - -instance Print FCat where - prt (FCat _ (AbsGFCC.CId cat) rcs tcs) = cat ++ "{" ++ - prtSep ";" ([prt path | path <- rcs] ++ - [prt path ++ "=" ++ prt term | (path,term) <- tcs]) - ++ "}" - diff --git a/src/GF/Conversion/GFC.hs b/src/GF/Conversion/GFC.hs index 5abfe17c0..354bdea65 100644 --- a/src/GF/Conversion/GFC.hs +++ b/src/GF/Conversion/GFC.hs @@ -13,7 +13,7 @@ module GF.Conversion.GFC (module GF.Conversion.GFC, - SGrammar, EGrammar, MGrammar, FGrammar, CGrammar) where + SGrammar, EGrammar, MGrammar, CGrammar) where import GF.Infra.Option import GF.Canon.GFC (CanonGrammar) @@ -25,7 +25,6 @@ import GF.Formalism.SimpleGFC (decl2cat) import GF.Formalism.CFG (CFRule(..)) import GF.Formalism.Utilities (symbol, name2fun) import GF.Conversion.Types -import GF.Conversion.FTypes import qualified GF.Conversion.GFCtoSimple as G2S import qualified GF.Conversion.SimpleToFinite as S2Fin diff --git a/src/GF/Conversion/SimpleToFCFG.hs b/src/GF/Conversion/SimpleToFCFG.hs index f5d771298..fc0177900 100644 --- a/src/GF/Conversion/SimpleToFCFG.hs +++ b/src/GF/Conversion/SimpleToFCFG.hs @@ -21,7 +21,6 @@ import Control.Monad import GF.Formalism.Utilities import GF.Formalism.FCFG -import GF.Conversion.FTypes import GF.Canon.GFCC.AbsGFCC import GF.Canon.GFCC.DataGFCC @@ -38,9 +37,7 @@ import Data.Maybe ---------------------------------------------------------------------- -- main conversion function -type FToken = String - -convertGrammar :: GFCC -> [(CId,FCFGrammar FCat FName FToken)] +convertGrammar :: GFCC -> [(CId,FGrammar)] convertGrammar gfcc = [(cncname,convert abs_defs conc) | cncname <- cncnames gfcc, conc <- Map.lookup cncname (concretes gfcc)] where |
