From a4741d681f1fb330686d3e758ee8211da087feb6 Mon Sep 17 00:00:00 2001 From: aarne Date: Mon, 10 Nov 2003 08:48:51 +0000 Subject: Glue modules. --- src/GF/Data/Glue.hs | 19 +++++++++++++++++++ 1 file changed, 19 insertions(+) create mode 100644 src/GF/Data/Glue.hs (limited to 'src/GF/Data/Glue.hs') diff --git a/src/GF/Data/Glue.hs b/src/GF/Data/Glue.hs new file mode 100644 index 000000000..247224075 --- /dev/null +++ b/src/GF/Data/Glue.hs @@ -0,0 +1,19 @@ +module Glue where + +import Trie +import Operations +import List + +-------- AR 8/11/2003, using Markus Forsberg's implementation of Huet's unglue + +tcompileSimple :: [String] -> Trie +tcompileSimple ss = tcompile [(s,[(atWP,s)]) | s <- ss] + +decomposeSimple :: Trie -> String -> Err [String] +decomposeSimple t s = do + let ss = map (decompose t) $ words s + if any null ss + then Bad "unknown word in input" + else return $ concat [intersperse "&+" ws | ws <- ss] + +exTrie = tcompileSimple $ words "ett två tre tjugo trettio hundra tusen" -- cgit v1.2.3