summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorbjorn <bjorn@bringert.net>2008-02-19 22:09:56 +0000
committerbjorn <bjorn@bringert.net>2008-02-19 22:09:56 +0000
commit7412c24267238c5273099945cdbf303fc0df9cd7 (patch)
tree5e2f063bd44ea6a18b6a28a6c4295ffc18f3f26c /src
parentb468482c3fc5406de4588463b10fb39e0c5e2528 (diff)
Treat pre tokens as variants in SimpleToFCFG. This should allow us to parse sentences with e.g. "an".
Diffstat (limited to 'src')
-rw-r--r--src/GF/Conversion/SimpleToFCFG.hs5
1 files changed, 3 insertions, 2 deletions
diff --git a/src/GF/Conversion/SimpleToFCFG.hs b/src/GF/Conversion/SimpleToFCFG.hs
index a964dfcd8..e6bc5a059 100644
--- a/src/GF/Conversion/SimpleToFCFG.hs
+++ b/src/GF/Conversion/SimpleToFCFG.hs
@@ -194,9 +194,10 @@ convertTerm cnc_defs selector (S ts) ((lbl_path,lin) : lins) = do projectH
convertTerm cnc_defs selector (K (KS str)) ((lbl_path,lin) : lins) =
do projectHead lbl_path
return ((lbl_path,Tok str : lin) : lins)
-convertTerm cnc_defs selector (K (KP (str:_)_))((lbl_path,lin) : lins) =
+convertTerm cnc_defs selector (K (KP strs vars))((lbl_path,lin) : lins) =
do projectHead lbl_path
- return ((lbl_path,Tok str : lin) : lins)
+ toks <- member (strs:[strs' | Var strs' _ <- vars])
+ return ((lbl_path, map Tok toks ++ lin) : lins)
convertTerm cnc_defs selector (RP _ term) lins = convertTerm cnc_defs selector term lins
convertTerm cnc_defs selector (F id) lins = do term <- Map.lookup id cnc_defs
convertTerm cnc_defs selector term lins