diff options
| author | aarne <aarne@chalmers.se> | 2009-10-08 07:03:29 +0000 |
|---|---|---|
| committer | aarne <aarne@chalmers.se> | 2009-10-08 07:03:29 +0000 |
| commit | df7f4ab34df6609d8af73d638832b735c2072937 (patch) | |
| tree | 595bee4bfef7650d248e22025be0e0de1aef6b73 /src/GF | |
| parent | 9896fcaad1c1e30e7b2c1129c94fc7c2117d501b (diff) | |
rudimentary dependency tree by command vd
Diffstat (limited to 'src/GF')
| -rw-r--r-- | src/GF/Command/Commands.hs | 38 |
1 files changed, 38 insertions, 0 deletions
diff --git a/src/GF/Command/Commands.hs b/src/GF/Command/Commands.hs index 5fdceee58..8284c5e2c 100644 --- a/src/GF/Command/Commands.hs +++ b/src/GF/Command/Commands.hs @@ -565,6 +565,44 @@ allCommands cod env@(pgf, mos) = Map.fromList [ options = transliterationPrintNames }), + ("vd", emptyCommandInfo { + longname = "visualize_dependency", + synopsis = "show word dependency tree graphically", + explanation = unlines [ + "Prints a dependency tree the .dot format (the graphviz format).", + "By default, the last argument is the head of every abstract syntax", + "function; moreover, the head depends on the head of the function above.", + "The graph can be saved in a file by the wf command as usual.", + "If the -view flag is defined, the graph is saved in a temporary file", + "which is processed by graphviz and displayed by the program indicated", + "by the flag. The target format is png, unless overridden by the", + "flag -format." + ], + exec = \opts es -> do + let lang = optLang opts + let grph = if null es then [] else dependencyTree Nothing pgf lang (head es) + if isFlag "view" opts || isFlag "format" opts then do + let file s = "_grph." ++ s + let view = optViewGraph opts ++ " " + let format = optViewFormat opts + writeFile (file "dot") (enc grph) + system $ "dot -T" ++ format ++ " " ++ file "dot" ++ " > " ++ file format ++ + " ; " ++ view ++ file format + return void + else return $ fromString grph, + examples = [ + "gr | aw -- generate a tree and show word alignment as graph script", + "gr | vt -view=\"open\" -- generate a tree and display alignment on a Mac" + ], + options = [ + ], + flags = [ + ("format","format of the visualization file (default \"png\")"), + ("view","program to open the resulting file (default \"open\")") + ] + }), + + ("vp", emptyCommandInfo { longname = "visualize_parse", synopsis = "show parse tree graphically", |
