diff options
| author | bjorn <bjorn@bringert.net> | 2008-02-19 22:09:56 +0000 |
|---|---|---|
| committer | bjorn <bjorn@bringert.net> | 2008-02-19 22:09:56 +0000 |
| commit | 7412c24267238c5273099945cdbf303fc0df9cd7 (patch) | |
| tree | 5e2f063bd44ea6a18b6a28a6c4295ffc18f3f26c /src/GF/Conversion | |
| parent | b468482c3fc5406de4588463b10fb39e0c5e2528 (diff) | |
Treat pre tokens as variants in SimpleToFCFG. This should allow us to parse sentences with e.g. "an".
Diffstat (limited to 'src/GF/Conversion')
| -rw-r--r-- | src/GF/Conversion/SimpleToFCFG.hs | 5 |
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 |
