diff options
| author | aarne <aarne@chalmers.se> | 2010-03-26 17:38:20 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2010-03-26 17:38:20 +0000 |
| commit | c24440d1346a01d660f83359d8ef72a2ef1b0c13 (patch) | |
| tree | c76eaa80d1be7bee4111a1dcee4b1dab1332121d /src/server | |
| parent | 1d41c587ac396b57c1f2a93e417970f8ea39becb (diff) | |
fixes for webdemos, including bug in StructuralIta
Diffstat (limited to 'src/server')
| -rw-r--r-- | src/server/PGFService.hs | 12 |
1 files changed, 9 insertions, 3 deletions
diff --git a/src/server/PGFService.hs b/src/server/PGFService.hs index 6f53d3768..6f2e38a33 100644 --- a/src/server/PGFService.hs +++ b/src/server/PGFService.hs @@ -125,10 +125,10 @@ doTranslate pgf input mcat mfrom mto = doTranslateGroup :: PGF -> String -> Maybe PGF.Type -> Maybe PGF.Language -> Maybe PGF.Language -> JSValue doTranslateGroup pgf input mcat mfrom mto = showJSON - [toJSObject [("from", showJSON (PGF.showLanguage from)), - ("to", showJSON (PGF.showLanguage to)), + [toJSObject [("from", showJSON (langOnly (PGF.showLanguage from))), + ("to", showJSON (langOnly (PGF.showLanguage to))), ("linearizations",showJSON - [toJSObject [("text", unlines output)]]) + [toJSObject [("text", doBind alt)] | alt <- output]) ] | (from,trees) <- parse' pgf input mcat mfrom, @@ -140,6 +140,12 @@ doTranslateGroup pgf input mcat mfrom mto = start ls = [(l,[s]) | (l,s) <- ls] more (l,s) = Map.insertWith (\ [x] xs -> if elem x xs then xs else (x : xs)) l s + doBind = unwords . bind . words + bind ws = case ws of + w : "&+" : u : ws2 -> bind ((w ++ u) : ws2) + w : ws2 -> w : bind ws2 + _ -> ws + langOnly = reverse . take 3 . reverse doParse :: PGF -> String -> Maybe PGF.Type -> Maybe PGF.Language -> JSValue |
