diff options
| author | aarne <aarne@chalmers.se> | 2009-10-19 08:47:44 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2009-10-19 08:47:44 +0000 |
| commit | 565b05d73c8a485065165e305e276da95bbba5bc (patch) | |
| tree | f498d2a2ab216a6d3e0ccdba1d17df0b6a67b85c /src/PGF/VisualizeTree.hs | |
| parent | 147b2e61e387015301b735febfc20ef708a8c9de (diff) | |
labels in dep trees (preliminary)
Diffstat (limited to 'src/PGF/VisualizeTree.hs')
| -rw-r--r-- | src/PGF/VisualizeTree.hs | 16 |
1 files changed, 13 insertions, 3 deletions
diff --git a/src/PGF/VisualizeTree.hs b/src/PGF/VisualizeTree.hs index ec52ac10e..63e144d57 100644 --- a/src/PGF/VisualizeTree.hs +++ b/src/PGF/VisualizeTree.hs @@ -75,8 +75,11 @@ dependencyTree ms pgf lang exp = prGraph True lin2dep where nodeWords = (0,((mkCId "",[]),["ROOT"])) : zip [1..] [((f,p),w)| ((Just f,p),w) <- wlins pot] - links = map mkLink [(word (dominant x), x, label f x) | (_,((f,x),_)) <- tail nodeWords] - mkLink (x,y,l) = node x ++ " -> " ++ node y ---- ++ " {label = \"" ++ l ++ "\"}" + links = map mkLink + [(word y, x, label tr y x) | + (_,((f,x),_)) <- tail nodeWords, + let y = dominant x] + mkLink (x,y,l) = node x ++ " -> " ++ node y ++ " [label = \"" ++ l ++ "\"] ;" node = show . show dominant x = case x of @@ -90,7 +93,14 @@ dependencyTree ms pgf lang exp = prGraph True lin2dep where (Fun f ts,[_]) -> x0 ++ [length ts - 1] ---- TODO: head as other than last arg (Fun f ts,i:y) -> headArg x0 (ts !! i) y - label f x = showCId f ++ "#" ++ show (last x) + label tr y x = case (tr,y) of + (_, []) -> "" + (Fun f ts,[_]) -> showCId f ++ "#" ++ show (last (0:x)) ---- + (Fun f ts,i:y) -> label (ts !! i) y x + + + + word x = if elem x sortedNodes then x else let x' = headArg x tr (x ++[0]) in |
