summaryrefslogtreecommitdiff
path: root/src/GF/Speech/GrammarToVoiceXML.hs
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2006-04-18 12:42:20 +0000
committerbringert <bringert@cs.chalmers.se>2006-04-18 12:42:20 +0000
commita663a046edf310247cf1e82761c79397d9bd42ad (patch)
tree16eca208e65faad7dc34db9fc35e9b2734721fa1 /src/GF/Speech/GrammarToVoiceXML.hs
parent5ccf994499a215480bebecc31411db0217debb93 (diff)
Look at both command-line and grammar startcat falgs in pg commands.
Diffstat (limited to 'src/GF/Speech/GrammarToVoiceXML.hs')
-rw-r--r--src/GF/Speech/GrammarToVoiceXML.hs11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/GF/Speech/GrammarToVoiceXML.hs b/src/GF/Speech/GrammarToVoiceXML.hs
index 1e3916953..f61e75f24 100644
--- a/src/GF/Speech/GrammarToVoiceXML.hs
+++ b/src/GF/Speech/GrammarToVoiceXML.hs
@@ -21,10 +21,9 @@ import GF.Data.XML
import Data.List (isPrefixOf, find, intersperse)
-- | the main function
-grammar2vxml :: GFC.CanonGrammar -> String
-grammar2vxml gr = showsXMLDoc (skel2vxml name startcat gr') ""
+grammar2vxml :: String -> GFC.CanonGrammar -> String
+grammar2vxml startcat gr = showsXMLDoc (skel2vxml name startcat gr') ""
where (name, gr') = vSkeleton gr
- startcat = "Order" -- FIXME
type VIdent = String
@@ -109,7 +108,7 @@ cat2form :: String -> VIdent -> [(VIdent, [VIdent])] -> XML
cat2form gr cat fs =
form cat [var "value" (Just "'?'"), formDebug cat,
block [if_ "value != '?'" [assign cat "value"]],
- field cat [] [promptString ("quest_"++cat),
+ field cat [] [promptString (catQuestion cat),
grammar (gr++"#"++cat),
nomatch [Data "I didn't understand you.", reprompt],
help [Data ("help_"++cat)],
@@ -120,6 +119,10 @@ cat2form gr cat fs =
where subDone = [assign cat "sub.value", return_ [cat]]
feedback = []
+catQuestion :: VIdent -> String
+catQuestion cat = questFun
+ where questFun = "quest_"++cat
+
fun2form :: String -> VIdent -> [VIdent] -> XML
fun2form gr fun args =
form fun ([var "value" Nothing] ++ [formDebug fun]