diff options
Diffstat (limited to 'src/GF/CF')
| -rw-r--r-- | src/GF/CF/CFtoSRG.hs | 47 |
1 files changed, 0 insertions, 47 deletions
diff --git a/src/GF/CF/CFtoSRG.hs b/src/GF/CF/CFtoSRG.hs deleted file mode 100644 index 290452ed1..000000000 --- a/src/GF/CF/CFtoSRG.hs +++ /dev/null @@ -1,47 +0,0 @@ ----------------------------------------------------------------------- --- | --- Module : CFtoSRG --- Maintainer : Markus Forsberg --- Stability : (stable) --- Portability : (portable) --- --- > CVS $Date: 2005/04/21 16:21:10 $ --- > CVS $Author: bringert $ --- > CVS $Revision: 1.6 $ --- --- This module prints a CF as a SRG (Speech Recognition Grammar). --- Created : 21 January, 2001. --- Modified : 16 April, 2004 by Aarne Ranta for GF 2. ------------------------------------------------------------------------------ - -module GF.CF.CFtoSRG (prSRG) where - -import GF.Data.Operations -import GF.CF.CF -import GF.CF.CFIdent ----import UseGrammar -import GF.CF.PPrCF -import Data.List (intersperse,nub) - -header :: String -header = unlines ["#ABNF 1.0 ISO-8859-1;\n", - "language en;", - "mode voice;", - "root $Main;", - "meta \"author\" is \"Grammatical Framework\";\n"] - -prSRG :: CF -> String -prSRG cf = (header ++) $ prSRGC (catsOfCF cf) cf - -prSRGC :: [CFCat] -> CF -> String -prSRGC [] _ = [] -prSRGC (c:cs) cf = "$" ++ prCFCat c ++ " = " ++ items ++ ";\n"++ prSRGC cs cf - where items = concat $ intersperse " | " $ - map f $ nub $ map valItemsCF (rulesForCFCat cf c) - f [] = "$NULL" - f xs = unwords $ map prSRGItem xs - -prSRGItem :: CFItem -> [Char] -prSRGItem (CFNonterm c) = "$" ++ prCFCat c -prSRGItem (CFTerm a) = prRegExp a - |
