diff options
| author | aarne <aarne@cs.chalmers.se> | 2008-06-11 09:20:26 +0000 |
|---|---|---|
| committer | aarne <aarne@cs.chalmers.se> | 2008-06-11 09:20:26 +0000 |
| commit | ad16eb2d788f6fe20e098f115ff42e0db8eb8974 (patch) | |
| tree | eca12856bcd33cbb3d3e252c45d4c7762c3fd9d3 /src-3.0/PGF | |
| parent | 9628eb6314bfcb827142d1869626696de101e245 (diff) | |
allow spaces between command options; option -treebank in linearize
Diffstat (limited to 'src-3.0/PGF')
| -rw-r--r-- | src-3.0/PGF/Morphology.hs | 16 | ||||
| -rw-r--r-- | src-3.0/PGF/ShowLinearize.hs | 18 |
2 files changed, 18 insertions, 16 deletions
diff --git a/src-3.0/PGF/Morphology.hs b/src-3.0/PGF/Morphology.hs index 97def6b9a..2eb793d73 100644 --- a/src-3.0/PGF/Morphology.hs +++ b/src-3.0/PGF/Morphology.hs @@ -1,6 +1,6 @@ module PGF.Morphology where -import PGF.ShowLinearize +import PGF.ShowLinearize (collectWords) import PGF.Data import PGF.CId @@ -30,17 +30,3 @@ type Analysis = String noAnalysis :: [(Lemma,Analysis)] noAnalysis = [] -collectWords :: PGF -> CId -> [(String, [(Lemma,Analysis)])] -collectWords pgf lang = - concatMap collOne - [(f,c,0) | (f,(DTyp [] c _,_)) <- Map.toList $ funs $ abstract pgf] - where - collOne (f,c,i) = - fromRec f [prCId c] (recLinearize pgf lang (EApp f (replicate i (EMeta 888)))) - fromRec f v r = case r of - RR rs -> concat [fromRec f v t | (_,t) <- rs] - RT rs -> concat [fromRec f (p:v) t | (p,t) <- rs] - RFV rs -> concatMap (fromRec f v) rs - RS s -> [(s,[(prCId f,unwords (reverse v))])] - RCon c -> [] ---- inherent - diff --git a/src-3.0/PGF/ShowLinearize.hs b/src-3.0/PGF/ShowLinearize.hs index 98a0806ba..82eda2824 100644 --- a/src-3.0/PGF/ShowLinearize.hs +++ b/src-3.0/PGF/ShowLinearize.hs @@ -1,5 +1,5 @@ module PGF.ShowLinearize ( - Record (..), recLinearize, --- used in PGF.Morphology + collectWords, tableLinearize, recordLinearize, termLinearize, @@ -13,6 +13,7 @@ import PGF.Linearize import GF.Data.Operations import Data.List +import qualified Data.Map as Map -- printing linearizations in different ways with source parameters @@ -85,3 +86,18 @@ termLinearize :: PGF -> CId -> Exp -> String termLinearize pgf lang = show . linExp pgf lang +-- for Morphology: word, lemma, tags +collectWords :: PGF -> CId -> [(String, [(String,String)])] +collectWords pgf lang = + concatMap collOne + [(f,c,0) | (f,(DTyp [] c _,_)) <- Map.toList $ funs $ abstract pgf] + where + collOne (f,c,i) = + fromRec f [prCId c] (recLinearize pgf lang (EApp f (replicate i (EMeta 888)))) + fromRec f v r = case r of + RR rs -> concat [fromRec f v t | (_,t) <- rs] + RT rs -> concat [fromRec f (p:v) t | (p,t) <- rs] + RFV rs -> concatMap (fromRec f v) rs + RS s -> [(s,[(prCId f,unwords (reverse v))])] + RCon c -> [] ---- inherent + |
