diff options
| author | aarne <aarne@cs.chalmers.se> | 2007-10-05 12:54:29 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2007-10-05 12:54:29 +0000 |
| commit | 48623470cdba12f03f914c19677c6f7dc2072035 (patch) | |
| tree | c46daa2cbe4cb9fe9016181fba3e1aff183fd00c /src/GF/Speech | |
| parent | 945a49214bd49fb082e8f613fc68d192a1b38743 (diff) | |
gf works with the new gfcc format
Diffstat (limited to 'src/GF/Speech')
| -rw-r--r-- | src/GF/Speech/GrammarToVoiceXML.hs | 12 | ||||
| -rw-r--r-- | src/GF/Speech/TransformCFG.hs | 9 |
2 files changed, 11 insertions, 10 deletions
diff --git a/src/GF/Speech/GrammarToVoiceXML.hs b/src/GF/Speech/GrammarToVoiceXML.hs index 5415c8184..f84033e9c 100644 --- a/src/GF/Speech/GrammarToVoiceXML.hs +++ b/src/GF/Speech/GrammarToVoiceXML.hs @@ -11,9 +11,9 @@ module GF.Speech.GrammarToVoiceXML (grammar2vxml) where import GF.Canon.CanonToGFCC (mkCanon2gfcc) -import qualified GF.Canon.GFCC.AbsGFCC as C -import GF.Canon.GFCC.DataGFCC (GFCC(..), Abstr(..), mkGFCC, lookMap) - +import qualified GF.GFCC.AbsGFCC as C +import GF.GFCC.DataGFCC (GFCC(..), Abstr(..), mkGFCC) +import GF.GFCC.Macros import qualified GF.Canon.GFC as GFC import GF.Canon.AbsGFC (Term) import GF.Canon.PrintGFC (printTree) @@ -65,14 +65,14 @@ prid :: VIdent -> String prid (C.CId x) = x vSkeleton :: GFC.CanonGrammar -> (VIdent,VSkeleton) -vSkeleton = gfccSkeleton . mkGFCC . mkCanon2gfcc +vSkeleton = gfccSkeleton . mkCanon2gfcc gfccSkeleton :: GFCC -> (VIdent,VSkeleton) gfccSkeleton gfcc = (absname gfcc, ts) where a = abstract gfcc - ts = [(c,[(f,ft f) | f <- fs]) | (c,fs) <- Map.toList (cats a)] + ts = [(c,[(f,ft f) | f <- fs]) | (c,fs) <- Map.toList (catfuns a)] ft f = case lookMap (error $ prid f) f (funs a) of - C.Typ args _ -> args + (ty,_) -> fst $ GF.GFCC.Macros.catSkeleton ty -- -- * Questions to ask diff --git a/src/GF/Speech/TransformCFG.hs b/src/GF/Speech/TransformCFG.hs index bca42d4fe..bcd61f428 100644 --- a/src/GF/Speech/TransformCFG.hs +++ b/src/GF/Speech/TransformCFG.hs @@ -17,8 +17,9 @@ module GF.Speech.TransformCFG where import GF.Canon.CanonToGFCC (mkCanon2gfcc) -import qualified GF.Canon.GFCC.AbsGFCC as C -import GF.Canon.GFCC.DataGFCC (GFCC, mkGFCC, lookType) +import qualified GF.GFCC.AbsGFCC as C +import GF.GFCC.Macros (lookType,catSkeleton) +import GF.GFCC.DataGFCC (GFCC) import GF.Conversion.Types import GF.CF.PPrCF (prCFCat) import GF.Data.Utilities @@ -70,7 +71,7 @@ cfgToCFRules s = nameToTerm (Name IW [Unify [n]]) = CFRes n nameToTerm (Name f@(IC c) prs) = CFObj f (zipWith profileToTerm args prs) - where C.Typ args _ = lookType gfcc (C.CId c) + where (args,_) = catSkeleton $ lookType gfcc (C.CId c) nameToTerm n = error $ "cfgToCFRules.nameToTerm" ++ show n profileToTerm (C.CId t) (Unify []) = CFMeta t profileToTerm _ (Unify xs) = CFRes (last xs) -- FIXME: unify @@ -84,7 +85,7 @@ getStartCatCF :: Options -> StateGrammar -> String getStartCatCF opts sgr = getStartCat opts sgr ++ "{}.s" stateGFCC :: StateGrammar -> GFCC -stateGFCC = mkGFCC . mkCanon2gfcc . stateGrammarST +stateGFCC = mkCanon2gfcc . stateGrammarST -- * Grammar filtering |
