1
0
forked from GitHub/gf-core

Removed the old srg printer, which produced SRGS ABNF.

This commit is contained in:
bringert
2007-01-19 17:09:20 +00:00
parent f61d7b6674
commit d06cd9cf06
2 changed files with 1 additions and 49 deletions

View File

@@ -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

View File

@@ -58,7 +58,6 @@ import GF.CF.PrLBNF
import GF.Grammar.PrGrammar import GF.Grammar.PrGrammar
import GF.Compile.PrOld import GF.Compile.PrOld
import GF.Canon.MkGFC import GF.Canon.MkGFC
import GF.CF.CFtoSRG
import GF.Speech.PrGSL (gslPrinter) import GF.Speech.PrGSL (gslPrinter)
import GF.Speech.PrJSGF (jsgfPrinter) import GF.Speech.PrJSGF (jsgfPrinter)
import GF.Speech.PrSRGS import GF.Speech.PrSRGS
@@ -248,7 +247,7 @@ customGrammarPrinter =
,(strCI "gf", \_ -> err id prGrammar . canon2sourceGrammar . stateGrammarST) ,(strCI "gf", \_ -> err id prGrammar . canon2sourceGrammar . stateGrammarST)
,(strCI "cf", \_ -> prCF . stateCF) ,(strCI "cf", \_ -> prCF . stateCF)
,(strCI "old", \_ -> printGrammarOld . stateGrammarST) ,(strCI "old", \_ -> printGrammarOld . stateGrammarST)
,(strCI "srg", \_ -> prSRG . stateCF) ,(strCI "srg", srgsAbnfPrinter Nothing False)
,(strCI "gsl", gslPrinter) ,(strCI "gsl", gslPrinter)
,(strCI "jsgf", jsgfPrinter Nothing) ,(strCI "jsgf", jsgfPrinter Nothing)
,(strCI "jsgf_sisr_old", jsgfPrinter (Just SISR.SISROld)) ,(strCI "jsgf_sisr_old", jsgfPrinter (Just SISR.SISROld))