summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbringert <bringert@cs.chalmers.se>2006-12-11 19:41:03 +0000
committerbringert <bringert@cs.chalmers.se>2006-12-11 19:41:03 +0000
commitc07300b86be9aa84cf68c3fc510e8af5812cee13 (patch)
treec828ae58db801e03267a52bf3fc5fd9062367a1a /src
parent19d5f1b2eae3b5292d78b9c2118037ef135a9b70 (diff)
SRGS+SISR: put tags after items.
Diffstat (limited to 'src')
-rw-r--r--src/GF/Speech/PrSRGS.hs11
1 files changed, 6 insertions, 5 deletions
diff --git a/src/GF/Speech/PrSRGS.hs b/src/GF/Speech/PrSRGS.hs
index 4a88b6cdc..175b97366 100644
--- a/src/GF/Speech/PrSRGS.hs
+++ b/src/GF/Speech/PrSRGS.hs
@@ -99,7 +99,7 @@ mkProd sisr isList (SRGAlt p n@(Name f pr) rhs)
prodItem :: Maybe SISRFormat -> Name -> Maybe Double -> [XML] -> XML
-prodItem sisr n mp xs = Tag "item" w (t++cs)
+prodItem sisr n mp xs = Tag "item" w (cs++t)
where
w = maybe [] (\p -> [("weight", show p)]) mp
t = prodTag sisr n
@@ -111,10 +111,11 @@ prodTag :: Maybe SISRFormat -> Name -> [XML]
prodTag sisr (Name f prs) = [tag sisr ts]
where
ts = [(EThis :. "name") := (EStr (prIdent f))] ++
- [(EThis :. ("arg" ++ show n)) := (EStr (argInit (prs!!n)))
- | n <- [0..length prs-1]]
- argInit (Unify _) = "?"
- argInit (Constant f) = maybe "?" prIdent (forestName f)
+ [(EThis :. ("arg" ++ show n)) := (EStr v)
+ | n <- [0..length prs-1], v <- argInit (prs!!n)]
+ argInit (Unify []) = ["?"]
+ argInit (Unify _) = []
+ argInit (Constant f) = [maybe "?" prIdent (forestName f)]
symItem :: Maybe SISRFormat -> [Profile a] -> Symbol String Token -> Int -> XML
symItem sisr prs (Cat c) x = Tag "item" [] ([Tag "ruleref" [("uri","#" ++ prCat c)] []]++t)