1
0
forked from GitHub/gf-core

VoiceXML printer no takes Options and StateGrammar, like SRG printers do.

This commit is contained in:
bringert
2007-01-05 15:47:53 +00:00
parent 028f2e108e
commit 1ced5d0cb5
2 changed files with 10 additions and 7 deletions

View File

@@ -15,11 +15,13 @@ import GF.Canon.AbsGFC (Term)
import GF.Canon.PrintGFC (printTree) import GF.Canon.PrintGFC (printTree)
import GF.Canon.CMacros (noMark, strsFromTerm) import GF.Canon.CMacros (noMark, strsFromTerm)
import GF.Canon.Unlex (formatAsText) import GF.Canon.Unlex (formatAsText)
import GF.Compile.ShellState (StateGrammar,stateGrammarST,cncId,grammar) import GF.CF.CFIdent (cfCat2Ident)
import GF.Compile.ShellState (StateGrammar,stateGrammarST,cncId,grammar,startCatStateOpts)
import GF.Data.Str (sstrV) import GF.Data.Str (sstrV)
import GF.Grammar.Macros hiding (assign,strsFromTerm) import GF.Grammar.Macros hiding (assign,strsFromTerm)
import GF.Grammar.Grammar (Fun) import GF.Grammar.Grammar (Fun)
import GF.Grammar.Values (Tree) import GF.Grammar.Values (Tree)
import GF.Infra.Option (Options)
import GF.UseGrammar.GetTree (string2treeErr) import GF.UseGrammar.GetTree (string2treeErr)
import GF.UseGrammar.Linear (linTree2strings) import GF.UseGrammar.Linear (linTree2strings)
@@ -36,11 +38,13 @@ import Data.Maybe (fromMaybe)
import Debug.Trace import Debug.Trace
-- | the main function -- | the main function
grammar2vxml :: Ident -> StateGrammar -> String grammar2vxml :: Options -> StateGrammar -> String
grammar2vxml startcat gr = showsXMLDoc (skel2vxml name language startcat gr' qs) "" grammar2vxml opts s = showsXMLDoc (skel2vxml name language startcat gr' qs) ""
where (name, gr') = vSkeleton (stateGrammarST gr) where (name, gr') = vSkeleton (stateGrammarST s)
qs = catQuestions gr (map fst gr') qs = catQuestions s (map fst gr')
language = "en" -- FIXME: use speechLanguage tag language = "en" -- FIXME: use speechLanguage tag
startcat = cfCat2Ident (startCatStateOpts opts s)
-- --
-- * VSkeleton: a simple description of the abstract syntax. -- * VSkeleton: a simple description of the abstract syntax.
-- --

View File

@@ -254,8 +254,7 @@ customGrammarPrinter =
,(strCI "srgs_xml", SRGS.srgsXmlPrinter Nothing False) ,(strCI "srgs_xml", SRGS.srgsXmlPrinter Nothing False)
,(strCI "srgs_xml_prob", SRGS.srgsXmlPrinter Nothing True) ,(strCI "srgs_xml_prob", SRGS.srgsXmlPrinter Nothing True)
,(strCI "srgs_xml_sisr_old", SRGS.srgsXmlPrinter (Just SISR.SISROld) False) ,(strCI "srgs_xml_sisr_old", SRGS.srgsXmlPrinter (Just SISR.SISROld) False)
,(strCI "vxml", \opts s -> let start = cfCat2Ident (startCatStateOpts opts s) ,(strCI "vxml", grammar2vxml)
in grammar2vxml start s)
,(strCI "slf", slfPrinter) ,(strCI "slf", slfPrinter)
,(strCI "slf_graphviz", slfGraphvizPrinter) ,(strCI "slf_graphviz", slfGraphvizPrinter)
,(strCI "slf_sub", slfSubPrinter) ,(strCI "slf_sub", slfSubPrinter)