summaryrefslogtreecommitdiff
path: root/src/GF/Data/Glue.hs
blob: 247224075ecfc5da1db02f4a19388b12cc166cba (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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"